根据通信带宽的自动检测选择要传递的内容的制作方法

文档序号:6470263阅读:201来源:国知局
专利名称:根据通信带宽的自动检测选择要传递的内容的制作方法
技术领域
本发明涉及根据通信带宽的自动检测选择要传递的内容。
实现可包括一个或多个下述特征。例如,通过利用包括向接收者传送预定数量的数据的至少一次迭代,可自动确定可用带宽。监视接收者接收所述预定数量的数据所用的时间,并根据预定数量的数据和接收者接收数据所用的时间,计算可用带宽。预定数量的数据可以接收者用于通信的通信设备的预测为基础。也可根据数据量和传送所用的时间,在提供者处计算可用带宽。
另外或者另一方面,通过向接收者传送指示正在传递的数据的数量的信息,并且随后根据指示被传递数据的数量的信息和传输所用的时间,在接收者处计算可用带宽,可自动确定可用带宽。
另外或者另一方面,通过向接收者传送预定数量的数据,随后重新把该数据从接收者传送给提供者,可自动确定可用带宽。可监视接收者接收该数据,把数据重新传送给提供者和提供者接收该数据所用的时间。根据预定数量的数据和接收者接收该数据,把数据重新传送给提供者和提供者接收该数据所用的时间,可计算可用带宽。可在提供者处计算可用带宽。
另外或者另一方面,通过向接收者传送指示正在传递的数据的数量的信息,并根据指示被传送数据的数量的信息和接收者接收该数据,把数据重新传送给提供者和提供者接收该数据所用的时间,在接收者处计算可用带宽,可自动确定可用带宽。
通过根据计算得到的可用带宽调整数据的数量,并且利用数量调整后的数据重复所述迭代,可自动确定可用带宽。可通过增大或者减少数据的数量,调整数据的数量。
在另一实现中,通过自动检测接收者和提供者之间的可用带宽,可自动确定可用带宽。当接收者开始建立与提供者的通信时,可自动检测可用带宽。另外或者另一方面,在接收者开始建立与提供者的通信之后,当接收者向提供者请求内容时,可自动检测可用带宽。
根据确定的可用带宽,可在丰满度不断变化的内容中选择内容。另外或者另一方面,根据确定的可用带宽,可在不断变化格式的内容中选择内容。在不断变化格式的内容中进行选择可包括根据确定的可用带宽,至少在呈静止图像格式的内容和呈视频格式的内容之间进行选择。
接收者可包括一个客户机,提供者可包括一个主机。另一方面,接收者可包括一个主机,提供者可包括一个客户机。另外或者另一方面,接收者和提供者都可以是能够实现对等通信的客户机。
在另一实现中,通过在接收者和提供者之间的一个通信对话中数次检测可用带宽,可确定可用带宽。
在另一实现中,通过自动确定容纳从接收者到提供者的通道上的可用带宽,并且单独自动确定容纳从提供者到接收者的通信的通道上的可用带宽,可确定可用带宽。
在又一实现中,通过自动确定接收者和提供者之间多个通道上的可用带宽,可确定可用带宽。可在多个通道上同时进行自动确定。可根据在多个通道上确定的可用带宽,选择将通过多个通道传送的内容。
在又一实现中,通过同时自动确定从提供者到接收者和从接收者到提供者的可用带宽,可确定可用带宽。
可利用系统、方法、或计算机程序、或者系统、方法和计算机程序的任意组合实现这些普通方面和特定方面。
根据说明和附图,以及根据权利要求,其它特征和优点将是显而易见的。
图2-5是

图1的通信系统的各个方面的扩展的方框图。
图6是传递内容的过程的流程图。
图7是图6的流程图的扩展。
图8是图6的流程图的扩展。
附图中相同的附图标记表示相同的部件。
参见图1,通信系统100能够通过通信链路115在客户机系统105和主机系统110之间传送和交换数据。客户机系统105一般包括一个或多个客户机120和/或客户机控制器125,主机系统110一般包括一个或多个主机135和/或主机控制器140。例如,客户机系统105或主机系统110可包括一个或多个通用计算机(例如个人计算机),一个或多个专用计算机(例如,被特别编程以便相互通信和/或和客户机系统105或主机系统110通信的设备),或者一个或多个通用计算机和一个或多个专用计算机的组合。客户机系统105和主机系统110可被安排成在一个或多个其它系统内工作,或者和所述一个或多个其它系统协同工作,所述一个或多个其它系统可以是,例如一个或多个LAN(局域网)和/或一个或多个WAN(广域网)。
客户机120(或者主机135)一般能够按照客户机控制器125(或者主机控制器140)的命令执行指令。客户机120(或者主机135)通过能够传送数据的有线或无线数据通道与客户机控制器125(或者主机控制器140)相连。
客户机120、客户机控制器125、主机135和主机控制器140均包括一个或多个硬件组件和/或软件组件。客户机120或主机135的一个例子是能够以规定的方式响应并执行指令的通用计算机(例如个人计算机)。其它例子包括能够响应并执行指令的专用计算机、工作站、服务器、装置、组件、其它物理或虚拟设备或者它们的某些组合。客户机120和主机135可包括能够实现对等通信的设备。
客户机控制器125或主机控制器140的例子是安装在客户机120或主机135上的用于命令和控制客户机120或主机135允许的通信的应用软件。其它例子包括程序、代码段、指令、装置、计算机、计算机系统或者它们的组合,用于独立地或者共同地指令客户机120或主机135如所述那样相互作用和工作。客户机控制器125和主机控制器140可临时或者永久地包含在任意类型的机器、组件、物理或者虚拟设备、存储介质或者能够向客户机120或主机135提供指令的传播信号中。
通信链路115一般包括不考虑物理分离,能够实现客户机系统105和主机系统110之间的直接或间接通信的传送网络160。传送网络160的例子包括环球网、WAN、LAN、模拟或数字有线和无线电话网(例如PSTN、ISDN和Xdsl)、无线电、电视、电缆、卫星和/或运送数据的其它任意传送机构。通信链路115包括能够通过如上所述的一个或多个传送网络160实现通信的通信通道150、155。通信通道150、155均可包括例如有线、无线、电缆或卫星通信通道。
图2图解说明了包括通过通信链路215与主机系统210通信的客户机系统205的通信系统200。客户机系统205一般包括一个或多个客户机220和控制客户机220的一个或多个客户机控制器225。主机系统210一般包括一个或多个主机235和控制主机235的一个或多个主机控制器240。通信链路215可包括能够通过一个或多个传送网络260实现通信的通信通道250、255。
上面参考图1概括地说明了图2的通信系统内各个部件的例子。特别地,主机系统210和通信链路215一般具有和关于图1中的主机系统110和通信链路115说明的相类似的属性。同样地,图2的客户机系统205一般具有和图1的客户机系统105类似的属性,并且图解说明了图1的客户机系统105的一种可能实现。
客户机220一般包括具有内部或外部存储器272的通用计算机270,存储器272用于保存数据和诸如操作系统274(例如DOS、WindowsTM、Windows95TM、Windows98TM、Windows2000TM、WindowsMeTM、WindowsXPTM、WindowsNTTM、OS/2或Linux)和一个或多个应用程序之类的程序。应用程序的例子包括能够产生文件或其它电子内容的编辑应用程序276(例如字处理、数据库程序、电子表格程序或者图形程序);能够与其它计算机用户通信,访问各种计算机资源并且查看、产生或者以其它方式处理电子内容的客户应用程序278(例如AOL客户程序、CompuServe客户程序、AIM客户程序、AOL TV客户程序或者ISP客户程序);和能够提供标准因特网内容的浏览器应用程序280(例如Netscape的Navigator或者Microsoft的Internet Explorer)。
通用计算机270还包括响应来自于客户机控制器225的命令,执行指令的中央处理器282(CPU)。就一种实现来说,客户机控制器225包括安装在通用计算机270的内部或者外部存储器272上的一个或多个应用程序。就另一种实现来说,客户机控制器225包括保存在通用计算机270之外并由位于通用计算机270之外的一个或多个装置执行的应用程序。
通用计算机一般包括发送和接收数据的通信装置284。通信装置284的一个例子是调制解调器。其它例子包括收发器、机顶盒、通信卡、卫星抛物面天线、天线或者能够通过有线或无线数据通道250在通信链路215上发射和接收数据的另一网络适配器。通用计算机270还包括接收呈广播、卫星和/或有线TV信号形式的电视节目的TV(“电视”)调谐器286。从而,客户机220可有选择地和/或同时显示通信装置284接收的网络内容和TV调谐器286接收的电视节目内容。
通用计算机270一般包括有线或无线连接各种外围设备290的输入/输出接口288。外围设备290的例子包括(但不局限于)鼠标291、移动电话292、个人数字助理293(PDA)、MP3播放器(未示出)、键盘294、具有或不具有触摸屏输入的显示监视器295、从用户接收信息并向用户提供信息的TV遥控器296和视听输入装置298。
虽然图2把诸如移动电话292、PDA 293、MP3播放器(未示出)和TV遥控器296之类的装置举例说明为通用计算机270的外围设备,但是在另一实现中,这样的装置本身可包括通用计算机270的功能,起客户机220的作用。例如,移动电话292或者PDA 293可包括计算和组网能力,通过接入传送网络260并和主机系统210通信,起客户机220的作用。此外,客户机系统205可包括上述一个、一些或者所有组件和装置。
参见图3,通信系统300能够通过通信链路315在客户机系统305和主机系统310之间传送和交换信息。客户机系统305一般包括一个或多个客户机320和控制客户机320的一个或多个客户机控制器325。主机系统310一般包括一个或多个主机335和控制主机335的一个或多个主机控制器340。通信链路315可包括通过一个或多个传送网络360能够实现通信的通信通道350、355。
上面参考图1和2概括描述了图3的通信系统内的各个部件的例子。特别地,客户机系统305和通信链路315的属性一般与关于图1和2的客户机系统105及205和通信链路115和215说明的属性相类似。同样地,图3的主机系统310的属性和图1和2中所示的主机系统110和210的属性相类似,并且举例说明了图1和2中所示的主机系统110和210的一种可能实现。
主机系统310包括主机335和主机控制器340。主机控制器340一般能够向主机335的任意部件或者所有部件传送指令。例如,在一种实现中,主机控制器340包括加载在主机335上的一个或多个应用软件。在其它实现中,如上所述,主机控制器340可包括单独地或者共同地控制主机335的几个其它程序、机器和装置中的任意一种。
主机335包括能够实现用户接入并且在客户机系统305和主机335的其它部件之间路由通信的登录服务器370。主机335还包括各种主机集合体,例如描述的OSP(“在线服务提供商”)主机集合体380和IM(“即时消息接发”)主机集合体390。为了使用户能够访问这些主机集合体,客户机系统305包括通信软件,例如OSP客户应用程序和IM客户应用程序。OSP和IM通信应用软件用于简化用户与相应服务的交互作用,尤其是可以使用相应主机集合体内的所有可用服务。
一般来说,OSP主机集合体380包括不同的服务,例如电子邮件、讨论组、聊天、新闻服务和因特网接入。OSP主机集合体380一般被设计成带有使OSP主机集合体380内的机器能够相互通信,并且采用某些协议(即标准、格式、惯例、规则和结构)传送数据的体系结构。OSP主机集合体380通常采用一种或多种OSP协议和用户拨号引擎来实现选择的客户应用程序的访问。OSP主机集合体380可根据共同的基础专有协议为每种服务规定一种或多种专用协议。
IM主机集合体390通常独立于OSP主机集合体380,并支持即时消息接发服务,而不考虑用户的网络或者因特网接入。从而,IM主机集合体390允许用户发送和接收即时消息,而不考虑他们是否可以接触任何特定ISP。IM主机集合体390可支持相关的服务,例如和即时消息接发相关的管理内容、广告、目录服务、聊天和兴趣组。IM主机集合体390具有能够使IM主体集合体内的所有机器相互通信的体系结构。IM主机集合体390采用一个或多个标准或者专用协议传送数据。
主机335包括连接集合体,从而链接集合体的一个或多个网关,例如OSP主机集合体网关385和IM主机集合体网关395。OSP主机集合体网关385和IM主机集合体网关395可通过有线或无线通道,直接或间接地链接OSP主机集合体380和IM主机集合体390。通常,当被用于简化集合体之间的链路时,OSP主机集合体网关385和IM主机集合体网关395暗中参与关于目的地集合体预期的协议类型的信息,所述目的地集合体使得能够执行伴随从一个集合到到另一集合体的数据传送而来的任何必需的协议转换。例如,OSP主机集合体380和IM主体集合体390通常使用不同的协议,从而在集合体之间传送数据需要OSP主机集合体网关385和/或IM主机集合体网关395进行的协议转换,或者应上述集合体网关请求的协议转换。
参见图4,通信系统400能够通过通信链路415在客户机系统405和主机系统410之间传送和交换信息。客户机系统405一般包括一个或多个客户机420和控制客户机420的一个或多个客户机控制器425。主机系统410一般包括一个或多个主机435和控制主机435的一个或多个主机控制器440。通信链路415可包括能够实现通过一个或多个传送网络460的通信通道450、455。如图所示,客户机系统405可通过主机系统410接入因特网465。
上面参考图1-3概括说明了图4的通信系统内的各个部件的例子。特别地,客户机系统405和通信链路415一般具有和图1-3的客户机系统105、205和305及通信链路115、215和315相似的属性。类似地,图4的主机系统410具有和图1-3中所示的主机系统110、210和310相似的属性,并且举例说明了图1-3中所示的主机系统110、210和310的一种可能实现。图4描述了主机系统410的一方面,主要集中于OSP主机集合体480的一种特殊实现。
客户机系统405包括客户机420和客户机控制器425。客户机控制器425通常能够建立到主机系统410,包括OSP主机集合体480、IM主机集合体490和/或因特网465的连接。就一种实现而论,客户机控制器425包括与使用专用OSP协议的OSP主机集合体480中的服务器通信的OSP应用程序。客户机控制器425还包括与IM主机集合体490和因特网465通信的应用程序,例如IM客户应用程序和/或因特网浏览器应用程序。
主机系统410包括主机435和主机控制器440。主机控制器440一般能够向主机435的任意部件或者所有部件传送指令。例如,就一种实现而论,主机控制器440包括加载在主机435的一个或多个部件上的一种或多种应用软件。就其它实现来说,如上所述,主机控制器440可包括独立地或者共同地控制主机435的几种其它程序、机器和装置中的任意一种。
主机系统410包括能够实现与客户机系统410的通信,并且能够允许客户机系统405访问主机系统410的各种部件,包括OSP主机集合体480和IM主机集合体490的登录服务器470。登录服务器470可实现一种或多种授权程序,从而使得能够同时访问OSP主机集合体480和IM主机集合体490。OSP主机集合体480和IM主机集合体490通过一个或多个OSP主机集合体网关485和一个或多个IM主机集合体网关495相连。OSP主机集合体网关485和IM主体集合体网关495可执行为实现OSP主机集合体480、IM主机集合体490和因特网465之间的通信所必需的任意协议转换。
OSP主机集合体480支持来自位于OSP主机集合体480内外的一个或多个服务器的一组服务。位于OSP主机集合体480外部的服务器通常被看作存在于因特网465上。可以一种或多种构型安排位于OSP集合体480内部的服务器。例如,可以集中式或定域群集的形式排列服务器,以便在OSP主机集合体480内分布服务器和用户。
在图4的一种实现中,OSP主机集合体480包括路由处理器4802。一般来说,路由处理器4802将检查数据请求的地址字段,使用映象表确定数据请求的恰当目的地,并把数据请求引向正确的目的地。在基于分组的实现中,客户机系统405可产生信息请求,把请求转换成数据分组,对数据分组排序,进行错误检查和其它分组交换技术,并把数据分组传送给路由处理器4802。当从客户机系统405收到数据分组时,路由处理器4802可直接或间接地把数据分组发送给OSP主机集合体480内部或者外部的指定目的地。例如,在来自于客户机系统405的数据请求可被本地满足的情况下,路由处理器4802可把数据请求引向本地服务器4804。在数据请求不能被本地满足的情况下,路由处理器4802可向外把数据请求引向因特网465,或者通过网关485把数据请求引向IM主机集合体490。
OSP主机集合体480还包括指导数据请求和/或简化客户机系统405和因特网465之间的通信的代理服务器4806。代理服务器4806可包括IP(“网间协议”)隧道,用于把数据从OSP协议转换成标准网间协议,并把数据传送给因特网465。IP隧道还把以标准网间协议从因特网接收的数据转换回OSP协议,并把转换后的数据传送给路由处理器4802,以便传回客户机系统405。
代理服务器4806还允许客户机系统405使用标准网间协议和格式化操作访问OSP主体集合体480和因特网465。例如,用户可使用具有安装在客户机系统405上的嵌入式浏览器应用程序的OSP TV客户应用程序以标准网间协议,例如HTTP(“超文本传送协议”)产生请求。在基于分组的实现中,数据分组可被封装在标准因特网隧道协议,例如UDP(“用户数据报协议”)中,并被发送给代理服务器4806。代理服务器4806可包括能够建立与客户机系统405的点对点协议(PPP)对话的L2TP(“层2隧道协议”)隧道。
代理服务器4806还可用作客户机系统405和因特网465之间的缓冲器,并且可实现内容过滤和时间节省技术。例如,代理服务器4806可检查客户机系统405的父母控制设置,并且根据父母控制设置从因特网465请求内容并传送内容。另外,代理服务器4806可包括用于保存频繁存取的信息的一个或多个超高速缓存。如果确定被请求数据要被保存在超高速缓存中,则代理服务器4806可把信息从超高速缓存发送给客户机系统405,避免访问因特网465的需要。
参见图5,通信系统500能够通过通信链路515在客户机系统505和主机系统510之间传送和交换信息。客户机系统505一般包括一个或多个客户机520和控制客户机520的一个或多个客户机控制器525。主机系统510一般包括一个或多个主机535和控制主机535的一个或多个主机控制器540。通信链路515可包括能够通过一个或多个传送网络560实现通信的通信通道550、555。如图所示,客户机系统505可通过主机系统510访问因特网565。
上面参考图1-4概括说明了图5的通信系统内的各个组件的例子。特别地,客户机系统505和通信链路515的属性和图1-4的客户机系统105、205、305和405及通信链路115、215、315和415的属性相似。类似地,图5的主机系统510的属性和图1-4的主机系统110、210、310和410的属性相似,并且举例说明了图1-4的主机系统110、210、310和410的一种可能实现。图5描述了主机系统510的一个方面,主要集中于IM主机集合体590的一种特殊实现。
客户机系统505包括客户机520和客户机控制器525。客户机控制器525一般能够建立相对于主机系统510,包括OSP主机集合体580、IM主机集合体590和/或因特网565的连接。在一种实现中,客户机控制器525包括利用专用IM协议与IM主机集合体590中的服务器通信的IM应用程序。客户机控制器525还包括分别用于与OSP主机集合体580和因特网565通信的应用程序,例如OSP客户应用程序,和/或因特网浏览器应用程序。
主机系统510包括主机535和主机控制器540。主机控制器540一般能够向主机535的任意或者所有部件传送指令。例如,就一种实现而论,主机控制器540包括加载在主机535的一个或多个部件上的一个或多个应用软件。但是,就其它实现来说,如上所述,主机控制器540可包括单独地或者共同地控制主机535的几种其它程序、机器和装置中的任意一种。
主机系统510包括能够实现与客户机系统505的通信,并且允许客户机系统505访问主机系统510的各种部件,包括OSP主机集合体580和IM主机集合体590的登录服务器570。登录服务器570可实现一种或多种授权程序,从而使得能够同时访问OSP主机集合体580和IM主机集合体590。OSP主机集合体580和IM主机集合体590通过一个或多个OSP主机集合体网关585和一个或多个IM主机集合体网关595相连。OSP主机集合体网关585和IM主体集合体网关595均可执行为实现OSP主机集合体580、IM主机集合体590和因特网565之间的通信所必需的任意协议转换。
为了访问IM客户机集合体590从而开始即时消息接发对话,客户机系统505建立相对于登录服务器570的连接。登录服务器570一般通过验证用户身份证明和口令,确定特定用户是否被允许访问IM主机集合体590。如果允许用户访问IM主机集合体590,则登录服务器570对用户的屏幕名称采用散列技术,以确定供用户的对话之用的特定IM服务器5902。登录服务器570向客户机系统505提供特定IM服务器5902的IP地址,向客户机系统505提供加密密钥(即cookie),并断开该连接。客户机系统505随后使用该IP地址,通过通信链路515建立相对于特定IM服务器5902的连接,并且利用加密密钥可以访问IM服务器5902。一般来说,客户机系统505装有使客户机系统505能够建立相对于IM服务器5902的开放式TCP连接的WinsockAPI(“应用编程接口”)。
一旦建立了相对于IM服务器5902的连接,则客户机系统505可直接或间接地把数据传送给IM服务器5902和一个或多个相关的域服务器5904,并从所述IM服务器5902和一个或多个相关的域服务器5904获取内容。IM服务器5902支持基本的即时消息接发服务,域服务器5904可支持相关的服务,例如管理内容、目录服务、聊天和兴趣组。一般来说,域服务器5904的目的是通过承担关于IM主机集合体590内一些服务的责任,减轻加在IM服务器5902上的负担。通过访问IM服务器5902和/或域服务器5904,用户可使用IM客户应用程序查看特定用户(“伙伴”)是否在线,和特定用户交换即时消息,参与群聊室、交换诸如图象、邀请或文档之类的文件,找出具有相似兴趣的其它用户,获得定制的新闻和股票报价,以及搜索环球网。
在图5的实现中,IM服务器5902直接或间接地与路由网关5906相连。路由网关5906通过用作使几个IM服务器5902和几个报警多路复用器5908相连的链路最小化工具,简化IM服务器5902和一个或多个报警多路复用器5908之间的连接。一般来说,报警多路复用器5908保存报警和登记接收报警的用户的记录。
一旦客户机系统505与报警多路复用器5908相连,则用户可关于一种或多种报警进行登记和/或接收一种或多种报警。通过在IM服务器5902采用另一种散列技术来识别将用于用户对话的特定报警多路复用器5908,确定客户机系统505和报警多路复用器5908之间的连接通道。一旦确定了所述特定的多路复用器5908,则IM服务器5902把该特定报警多路复用器5908的IP地址提供给客户机系统505,并向客户机系统505提供加密密钥(即cookie)。客户机系统505随后使用IP地址通过通信链路515连接所述特定报警多路复用器5908,并且通过利用所述加密密钥,可以访问所述报警多路复用器5908。
报警多路复用器5908与报警门5910相连,类似于IM主机集合体网关595,报警门5910能够执行形成到达OPS主机集合体580的桥路所必需的协议转换。报警门5910是IM主机集合体5910和物理服务器,例如OSP主机集合体580中的服务器之间的接口,在该处发生状态变化。一般来说,关于状态变化的信息由IM主机集合体590收集并使用。但是,报警多路复用器5908还可通过IM主机集合体网关595与OSP主机集合体580通信,以便把从报警门5910收集的某些信息提供给OSP主机集合体580的服务器和用户。
报警门5910可检测对应于特定类型的报警的报警馈给。报警门5910可包括能够与发生状态变化的物理服务器上的另一块代码(报警广播代码)相互作用的一块代码(报警接收代码)。一般来说,当发生特定的状态变化时,安装在报警门5910上的报警接收代码指令安装在物理服务器上的报警广播代码向报警门5910发送报警馈给。当检测到报警馈给时,报警门5910联系报警多路复用器5908,报警多路复用器5908再把检测到的报警馈给通知客户机系统505。
在图5的实现中,IM主机集合体590还包括与保存大量用户简表数据的数据库5914相连的用户简表服务器5912。用户简表服务器5912可用于输入、检索、编辑、处理或者以其它方式处理用户简表数据。在一种实现中,用户的简表数据包括用户的伙伴名单、报警优先选择、指定股票、确定的兴趣和地址位置。用户可通过利用安装在客户机系统505上的IM客户应用程序与用户简表服务器5912相互作用,输入、编辑和/或删除简表数据。
由于用户的数据保存在IM主机集合体590中,因此在用户利用新的或者不同的客户机系统505访问IM主机集合体590的情况下,用户不必重新输入或更新这样的信息。因此,当用户访问IM主机集合体590时,IM服务器5902可指令用户简表服务器5912从数据库5914取回用户的简表数据,把用户的伙伴名单提供给IM服务器5902,把用户的报警优先选择提供给报警多路复用器5908。用户简表服务器5912还可与OSP主机集合体580中的其它服务通信,从而与其它服务共享用户简表数据。另一方面,用户简表数据可本地保存在客户机505上。
参见图6,按照过程600可传递内容。过程600可由上面参考图1-5说明的系统执行。例如,过程600可由图1-5的客户机系统105、205、305、405和505中的一个或多个执行。另外或者另一方面,过程600可由图1-5的主机系统110、210、310、410和510中的一个或多个执行。过程600还可由能够被编程,从而按照所述方式接收、处理和发送内容的任意其它硬件组件、软件组件或它们的任意组合完成。
过程600一般包括自动确定接收者和提供者之间的可用带宽(步骤620)。根据确定的可用带宽,选择在接收者和提供者之间传递的内容(步骤640)。随后在提供者和接收者之间传递选择的内容(步骤660)。
接收者和提供者均包括如上参考图1-5所述的一个或多个客户机120、220、320、420和520,和/或主机135、235、335、435和535。另外或者另一方面,接收者和提供者都可以是能够实现对等通信的客户机。
可以多种方式完成接收者和提供者之间的可用带宽的自动确定(步骤620)。在一种实现中,提供者可自动向接收者发送可用带宽请求。该请求包括识别该特殊请求的独特标识符(例如32位的数字)。接收者可选择如何应答提供者的请求。例如,接收者可选择向提供者报告其已知带宽。在接收者正在使用低带宽通信装置(例如拨号模拟调换解调器、无线调制解调器或者蜂窝调制解调器)的情况下,接收者可把通信装置载波速率作为确定的带宽报告给提供者。
在另一种实现中,接收者可选择利用超高速缓存的在先带宽确定结果应答提供者。在另一种实现中,接收者可选择向提供者请求预定数量的数据,从而可计算带宽。在其它实现中,提供者可向接收者发送确定可用带宽的请求,同时所述请求指定接收者用其响应该请求的方法。
例如参见图7,提供者可向接收者传送预定数量的数据(步骤720)。例如,可和指定该数量的首标或其它指示符一起传送一定量的数据,从而使接收者知道该数量。接收者也可请求数据的数量。
接收者接收传送的数据(步骤730)。如果提供首标(步骤740),则接收者可把首标从数据分离出来(步骤750),并且可读取该首标(步骤760),所述首标通常指示被传递数据的数量。通过监视或测量接收数据所用的时间量(步骤770),接收者可根据已知的被传送数据的数量和接收数据所需的时间,计算传输速率(步骤780),并且可以根据计算的速率估计可用带宽(步骤790)。
传输速率的计算(步骤780)和/或可用带宽的估计(步骤790)可由接收者和/或提供者完成。例如,如果提供者是主机,接收者是客户机,则客户机可通过进行该测量确定可用带宽,这种情况下可用带宽一般被称为下载带宽。相反,如果主机通过进行该测量确定可用带宽,则可用带宽通常被称为上载带宽。为了分别地、单独地或者专门地确定上载带宽和下载带宽,可进行这些双向计算。例如,接收者可计算可用下载带宽,提供者可分别地、单独地或者专门地计算可用上载带宽。接收者和提供者随后可交换计算得到的信息。这有助于确定何时接收者和提供者都可使用一个或多个具有不同可用带宽的不同上行链路和下行链路,例如何时正被传递的内容包括诸如实时视频会议之类的流式媒体。
另外或者另一方面,可同时双向计算接收者和提供者之间的可用带宽。例如,在提供者计算可用的上载带宽的同时,接收者可计算可用的下载带宽。随后可在接收者和提供者之间交换计算得到的信息。这有助于确定当接收者和提供者可同时发送和接收内容时,正被传递的内容何时包括诸如实时视频会议之类的流式媒体。
另外或者另一方面,通过测量接收者从提供者接收预定量的数据和提供者从接收者收回相同数据所用的总时间,可确定带宽。该计算可由接收者和/或提供者完成。
可以多种方式选择数据的数量。例如,接收者可向提供者指示要传送的数据的数量。接收者可根据接收者已知和/或能够获得的任意信息,请求特定数量的数据。这种情况下,数据的数量可以接收者已知的信息为基础,例如连接的类型或者接收者使用的通信硬件的类型。例如,如果接收者正在使用低带宽通信装置进行通信,则接收者可请求特定数量的数据,如果接收者正在使用电缆调制解调器进行通信,则接收者可请求不同数量的数据。另外或者另一方面,提供者可根据提供者已知的和/或能够获得的任意信息选择数据的数量。
另外或者另一方面,可根据正用于建立接收者和提供者之间通信的连接的类型的预测,选择数据的数量。连接类型的预测可以接收者和提供者的地理区域和适用于该特定区域的连接的类型(例如调制解调器、ISDN、DSL、xDSL、电缆调制解调器、X.25、TCP和/或卫星)为基础。
在一种实现中,自动确定可用带宽的过程(步骤620)可进行数次或者进行几次迭代,以便提高带宽计算的精度。参见图8,数据的第一数量可由提供者或接收者确定(步骤810)。例如,在第一次迭代中可使用少量的数据,从而速率检测过程不会明显影响提供者和接收者之间的其它通信。更具体地说,为了防止在低带宽连接(例如拔号、蜂窝或ISDN)上延迟通信,第一次迭代可使用为实现快速传输和接收(即使在低带宽连接上也是如此)而测定大小的数据量。另外或者另一方面,数据的第一数量可以用于建立接收者和提供者之间的通信的连接类型的预测为基础,如上所述。一旦确定了第一数量的数据(步骤810),则把数据传送给接收者(步骤820)。在数据的传输之后(步骤820),根据所述少量数据计算可用带宽(步骤830)。比较估计的可用带宽和阈值,确定阈值是否被超过(步骤840)。如果阈值还未被超过,则可进行第二次迭代,以验证估计的可用带宽。
对于第二次迭代来说,确定要传送的新数量的数据(步骤850)。第二次迭代可包括数量比第一次迭代大的数据。例如,可根据在第一次迭代中确定的计算带宽选择第二次迭代的数据量,或者可利用预定算法根据第一次或者前一次迭代的数据量,选择第二次迭代的数据量。另外或者另一方面,第二数据量可以小于第一数据量。后续迭代可包括不断改变数据的数量(即通过增大或降低数据数量),更精确地测量可用带宽,从而确定下载和/或上载速度。
用于确定可用带宽的数据的类型可以是已知大小的任意类型的数据。例如,数据的类型可包括压缩数据、未压缩数据和这些类型数据的任意组合。
可在接收者和提供者之间通信的不同阶段自动确定接收者和提供者之间的可用带宽。例如,当建立接收者和提供者之间的连接时,例如在登录过程中,可进行所述确定。另外或者另一方面,一旦建立了接收者和提供者之间的通信对话,例如在登录过程之后,就可进行所述确定。可用带宽的自动确定可由接收者或提供者启动,并且可在通信对话内的任意时间重新计算带宽。例如,考虑到特定对话中不断变化的网络速度,重新计算建立的通信对话内的可用带宽是必需的。
可通过一种或多种连接确定接收者和提供者之间的可用带宽。连接的类型可包括,例如宽域网(WAN)、局域网(LAN)、低带宽连接(例如拨号、蜂窝、或ISDN)、电缆调制解调器、DSL、xDSL、卫星、X.25、TCP、或者这些类型的连接的任意组合。
再次参见图6,自动确定接收者和提供者之间的可用带宽(步骤620)可包括同时在多个通道上确定接收者和提供者之间的可用带宽。例如,提供者可向接收者发送同时在几个通道上确定带宽的请求。这可用于选择通过每个通道提供的内容,如下所述。
接收者和提供者之间的可用带宽的自动确定可包括使用任意一种方法或这些方法的组合来确定可用带宽,如上所述。例如,可同时在多个通道上双向确定带宽。另外,例如,可通过容纳从接收者到提供者的通信的通道自动确定带宽,并且独立地通过容纳从提供者到接收者的通信的通道自动确定带宽。带宽的自动确定是可缩放的,可用于利用接收者和/或提供者规定的任意类型的标准确定可用带宽。在一个例证实现中,可利用从接收者到提供者的电话线建立初始的卫星“上行”链路。从提供者到接收者的通信路径的返回“下行”链路可在和上行链路分离的通道之上。可关于上行链路和下行链路独立地自动确定可用带宽。例如,初始上行链路上的可用带宽可被确定为28.8Kb。下行链路可被单独确定为1.5Mb。可根据自动确定的可用带宽,选择要传递的恰当内容。如果卫星连接不可用,并且失去与卫星的连接,则可在电话线上传回内容。后续的可用带宽自动确定会确定与卫星连接相关的较大的可用带宽不再可用,并且可根据关于电话线自动确定的新的可用带宽,改变正在传递的内容。另一方面,可根据电话线上初始确定的可用带宽(28.8Kb)改变内容。
根据可用带宽的自动确定,可为接收者和提供者之间的通信选择内容的类型(步骤640)。例如,提供者可根据阈量带宽是否可用,选择要传递的内容的类型。如果可用带宽高于阈值,则提供者可选择当使用比阈值带宽高的带宽时,可更有效地被传递的一种内容。相反,如果可用带宽低于阈值,则提供者可选择当使用比阈值带宽低的带宽时较为适宜的一种内容。另外或者另一方面,根据所确定的可用带宽落入其中的带宽范围,各种带宽可用于确定要在接收者和提供者之间传递的内容的类型。
根据确定的可用带宽,在提供者和接收者之间传递的内容的类型可依据格式、丰满度、主题和/或这些内容类型的任意组合而变化。例如,内容的格式可包括文本、音频、静止图像、动画、幻灯片、部分视频、流式视频、全动视频和这些格式的任意组合。由于一种可用带宽(例如适合于使用28.8K调制解调器的带宽)不能用于传送包括全动视频格式的内容,可根据带宽的确定结果为通信选择格式更恰当的内容,例如静止图像格式。就主题而论,在较小的带宽通信中可省略某些信息。
内容的丰满度通常指的是质量、分辨率、外观和与内容相关的特征的类型。例如,如果内容包括静止图像,则丰满度指的是图像的分辨率。如果内容包括视频,则丰满度指的是视频的帧速率。对于动态内容(例如实况体育竞赛的精彩场面)来说,丰满度指的是对内容的更新频率。
另外或者另一方面,同时关于多个通道确定的可用带宽可用于通过每个通道提供内容。通过每个通道提供的内容可以相同,也可不同。例如,web浏览器可同时打开多个通道,从网页读取和提供不同格式的内容。提供者可使用多个通道上同时确定的带宽选择通过每个通道提供给接收者的内容。
除了自动确定可用带宽,从而选择所提供内容的类型之外,可关于特定类型的数据确定可用带宽。例如,可能希望了解压缩数据、音频数据、视频数据、未压缩数据、或者任意类型的数据、或者数据类型的组合的可用带宽。
上面描述的用于自动确定接收者和提供者之间的可用带宽,并且根据确定的可用带宽选择将在接收者和提供者之间传递的内容的各种方法、系统和计算机程序不受能够传递取决于可用带宽的内容的任意及所有低层传送通道、协议和网络设计的限制。
可用数字电子电路、计算机硬件、固件、软件或者它们的组合实现上述系统、方法和技术。体现这些技术的设备可包括恰当的输入和输出装置,计算机处理器,和确实包含在机器可读存储器中,供可编程处理器执行的计算机程序产品。通过作用于输入数据并产生恰当的输出,体现这些技术的过程可由执行指令程序,从而实现所需功能的可编程处理器实现。可用一个或多个计算机程序实现所述技术,所述计算机程序可在可编程系统上执行,所述可编程系统包括至少一个耦接的可编程处理器,所述可编程处理器从接收数据和指令,并向所述数据存储系统、至少一个输入装置和至少一个输出装置传送数据和指令。可用高级过程或面向对象的编程语言,或者用汇编或机器语言(如果需要的话)实现各个计算机程序;总之,语言可以是被编译或解释语言。举例来说,恰当的处理器包括通用及专用微处理器。一般来说,处理器将从只读存储器和/或随机存取存储器接收指令和数据。适合于确实包含计算机程序指令和数据的存储器包括所有形式的非易失性存储器,例如包括诸如可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)和快速存储器之类的半导体存储器;诸如内部硬盘和可拆卸磁盘之类的磁盘;磁光盘;和只读光盘(CD-ROM)。前述任一都可由特别设计的ASIC(特定用途集成电路)补充,或者可包含在所述特别设计的ASIC中。
其它实现在下述权利要求的范围之内。
权利要求
1.一种传递内容的方法,所述方法包括自动确定接收者和提供者之间的可用带宽;根据确定的可用带宽,选择将在接收者和提供者之间传递的内容;和在提供者和接收者之间传递所选择的内容。
2.按照权利要求1所述的方法,其中利用至少一次迭代自动确定可用带宽,所述迭代包括向接收者传送预定数量的数据;监视接收者接收所述预定数量的数据所用的时间;和根据预定数量的数据和接收者接收数据所用的时间,计算可用带宽。
3.按照权利要求2所述的方法,其中传送数据包括传送根据接收者用于通信的通信设备的预测所确定的数据量。
4.按照权利要求2所述的方法,其中自动检测可用带宽还包括向接收者传送指示正在传递的数据的数量的信息,其中计算可用带宽包括根据指示被传递数据的数量的信息和传输所用的时间,在接收者处计算可用带宽。
5.按照权利要求2所述的方法,其中计算可用带宽包括根据数据的数量和传输所用的时间,在提供者处计算可用带宽。
6.按照权利要求1所述的方法,其中自动确定可用带宽包括向接收者传送预定数量的数据;重新把预定数量的数据传送给提供者;监视接收者接收所述预定数量的数据,把该数据重新传送给提供者和提供者接收该数据所用的时间;和根据预定数量的数据和接收者接收该数据,把数据重新传送给提供者和提供者接收该数据所用的时间,计算可用带宽。
7.按照权利要求6所述的方法,其中自动确定可用带宽还包括向接收者传送指示正被传送的数据的数量的信息;其中计算可用带宽包括根据指示被传送数据的数量的信息和接收者接收该数据,以及把数据重新传送给提供者及提供者接收该数据所用的时间,在接收者处计算可用带宽。
8.按照权利要求6所述的方法,其中计算可用带宽包括根据数据的数量和接收者接收该数据,以及把数据重新传送给提供者及提供者接收该数据所用的时间,在提供者处计算可用带宽。
9.按照权利要求2所述的方法,其中自动确定可用带宽还包括根据计算得到的可用带宽调整预定数量的数据;和利用调整后的预定数量的数据,重复所述迭代。
10.按照权利要求9所述的方法,其中调整预定数量的数据包括增大数据的预定数量。
11.按照权利要求9所述的方法,其中调整预定数量的数据包括减少数据的预定数量。
12.按照权利要求1所述的方法,其中自动确定可用带宽包括自动检测接收者和提供者之间的可用带宽。
13.按照权利要求1所述的方法,其中当接收者开始建立与提供者的通信时,自动确定可用带宽。
14.按照权利要求1所述的方法,其中在接收者开始建立与提供者的通信之后,当接收者向提供者请求内容时,自动确定可用带宽。
15.按照权利要求1所述的方法,其中选择内容包括根据确定的可用带宽,在不断变化丰满度的内容中进行选择。
16.按照权利要求1所述的方法,其中选择内容包括根据确定的可用带宽,在不断变化格式的内容中进行选择。
17.按照权利要求16所述的方法,其中在不断变化格式的内容中进行选择包括根据确定的可用带宽,至少在呈静止图像格式的内容和呈视频格式的内容之间进行选择。
18.按照权利要求1所述的方法,其中接收者是客户机,提供者是主机。
19.按照权利要求1所述的方法,其中接收者是主机,提供者是客户机。
20.按照权利要求1所述的方法,其中接收者和提供者都是客户机。
21.按照权利要求20所述的方法,其中接收者和提供者都能够实现对等通信。
22.按照权利要求1所述的方法,其中自动确定可用带宽包括在接收者和提供者之间的一个通信对话中数次自动检测可用带宽。
23.按照权利要求1所述的方法,其中确定可用带宽包括自动确定容纳从接收者到提供者的通道上的可用带宽,并且单独自动确定容纳从提供者到接收者的通信的通道上的可用带宽。
24.按照权利要求1所述的方法,其中自动确定可用带宽包括自动确定接收者和提供者之间多个通道上的可用带宽。
25.按照权利要求24所述的方法,其中自动确定多个通道上的可用带宽包括在接收者和提供者之间的多个通道上同时自动确定可用带宽。
26.按照权利要求24所述的方法,还包括根据在多个通道上确定的可用带宽,选择将在接收者和提供者之间的多个通道上传送的不同内容。
27.按照权利要求1所述的方法,其中自动确定可用带宽包括同时自动确定从提供者到接收者和从接收者到提供者的可用带宽。
28.一种传递内容的计算机程序,所述计算机程序保存在计算机可读介质上或者是传播信号,包括使计算机自动确定接收者和提供者之间的可用带宽的自动确定代码段;使计算机根据确定的可用带宽,选择将在接收者和提供者之间传递的内容的选择代码段;和使计算机在提供者和接收者之间传递选择的内容的通信代码段。
29.按照权利要求28所述的计算机程序,其中自动确定代码段使计算机进行一次迭代,包括使计算机向接收者传送预定数量的数据的传送代码段;使计算机监视接收者接收所述预定数量的数据所用时间的监视代码段;和使计算机根据预定数量的数据和接收者接收数据所用的时间,计算可用带宽的计算代码段。
30.按照权利要求29所述的计算机程序,其中传送代码段使计算机传送根据接收者用于通信的通信设备的预测所确定的数据量。
31.按照权利要求29所述的计算机程序,其中自动检测代码段包括使计算机向接收者传送指示正被传递数据的数量的信息的传送代码段,其中计算代码段使计算机根据指示被传递数据的数量的信息和传输所用的时间,在接收者处计算可用带宽。
32.按照权利要求29所述的计算机程序,其中计算代码段使计算机根据数据的数量和传输所用的时间,在提供者处计算可用带宽。
33.按照权利要求28所述的计算机程序,其中自动确定代码段包括使计算机向接收者传送预定数量的数据的传送代码段;使计算机重新把预定数量的数据传送给提供者的重新传送代码段;使计算机监视接收者接收预定大小的数据,把该数据重新传送给提供者和提供者接收该数据所用的时间的监视代码段;和使计算机根据预定数量的数据和接收者接收该数据,把数据重新传送给提供者和提供者接收该数据所用的时间,计算可用带宽的计算代码段。
34.按照权利要求33所述的计算机程序,其中自动确定代码段还包括使计算机向接收者传送指示正被传送数据的数量的信息的传送代码段;其中计算代码段使计算机根据指示被传送数据的数量的信息和接收者接收该数据,以及把数据重新传送给提供者及提供者接收该数据所用的时间,在接收者处计算可用带宽。
35.按照权利要求34所述的计算机程序,其中计算代码段使计算机根据数据的数量和接收者接收该数据,以及把数据重新传送给提供者及提供者接收该数据所用的时间,在提供者处计算可用带宽。
36.按照权利要求29所述的计算机程序,其中自动确定代码段还包括使计算机根据计算得到的可用带宽调整预定数量的数据的调整代码段;和使计算机利用调整后的预定数量的数据,重复所述迭代的重复代码段。
37.按照权利要求36所述的计算机程序,其中调整代码段使计算机增大数据的预定数量。
38.按照权利要求36所述的计算机程序,其中调整代码段使计算机减少数据的预定数量。
39.按照权利要求28所述的计算机程序,其中自动确定代码段包括使计算机自动检测接收者和提供者之间的可用带宽的自动检测代码段。
40.按照权利要求28所述的计算机程序,其中当接收者开始建立与提供者的通信时,自动确定代码段使计算机自动确定可用带宽。
41.按照权利要求28所述的计算机程序,其中在接收者开始建立与提供者的通信之后,当接收者向提供者请求内容时,自动确定代码段使计算机自动确定可用带宽。
42.按照权利要求28所述的计算机程序,其中选择代码段使计算机根据确定的可用带宽,在不断变化丰满度的内容中进行选择。
43.按照权利要求28所述的计算机程序,其中选择代码段使计算机根据确定的可用带宽,在不断变化格式的内容中进行选择。
44.按照权利要求43所述的计算机程序,其中选择代码段使计算机根据确定的可用带宽,至少在呈静止图像格式的内容和呈视频格式的内容之间进行选择。
45.按照权利要求28所述的计算机程序,其中接收者是客户机,提供者是主机。
46.按照权利要求28所述的计算机程序,其中接收者是主机,提供者是客户机。
47.按照权利要求28所述的计算机程序,其中接收者和提供者都是客户机。
48.按照权利要求47所述的计算机程序,其中接收者和提供者都能够实现对等通信。
49.按照权利要求28所述的计算机程序,其中自动确定代码段使计算机在接收者和提供者之间的一个通信对话中数次自动检测可用带宽。
50.按照权利要求28所述的计算机程序,其中自动确定代码段使计算机自动确定容纳从接收者到提供者的通道上的可用带宽,并且单独地自动确定容纳从提供者到接收者的通信的通道上的可用带宽。
51.按照权利要求28所述的计算机程序,其中自动确定代码段使计算机自动确定接收者和提供者之间多个通道上的可用带宽。
52.按照权利要求51所述的计算机程序,其中自动确定代码段使计算机在接收者和提供者之间的多个通道上同时自动确定可用带宽。
53.按照权利要求51所述的计算机程序,其中选择代码段使计算机根据在多个通道上确定的可用带宽,选择将在接收者和提供者之间的多个通道上传送的不同内容。
54.按照权利要求28所述的计算机程序,其中自动确定代码段使计算机同时自动确定从提供者到接收者和从接收者到提供者的可用带宽。
55.一种传递内容的系统,所述系统包括自动确定接收者和提供者之间的可用带宽的自动确定组件;根据确定的可用带宽,选择将在接收者和提供者之间传递的内容的选择组件;和在提供者和接收者之间传递选择的内容的通信组件。
56.按照权利要求55所述的系统,其中自动确定组件执行一次迭代,包括向接收者传送预定数量的数据的传送组件;监视接收者接收所述预定数量的数据所用的时间的监视组件;和根据预定数量的数据和接收者接收数据所用的时间,计算可用带宽的计算组件。
57.按照权利要求56所述的系统,其中传送组件传送根据接收者用于通信的通信设备的预测所确定的数据量。
58.按照权利要求56所述的系统,其中自动确定组件包括向接收者传送指示正在传递的数据的数量的信息的传送组件,其中计算组件根据指示被传递数据的数量的信息和传输所用的时间,在接收者处计算可用带宽。
59.按照权利要求56所述的系统,其中计算组件根据数据的数量和传输所用的时间,在提供者处计算可用带宽。
60.按照权利要求55所述的系统,其中自动确定组件包括向接收者传送预定数量的数据的传送组件;重新把预定数量的数据传送给提供者的重新传送组件;监视接收者接收所述预定数量的数据,把该数据重新传送给提供者和提供者接收该数据所用的时间的监视组件;和根据预定数量的数据和接收者接收该数据,以及把数据重新传送给提供者和提供者接收该数据所用的时间,计算可用带宽的计算组件。
61.按照权利要求60所述的系统,其中自动确定组件还包括向接收者传送指示正被传送的数据的数量的信息的传送组件;其中计算组件根据指示被传送数据的数量的信息和接收者接收该数据,以及把数据重新传送给提供者及提供者接收该数据所用的时间,在接收者处计算可用带宽。
62.按照权利要求61所述的系统,其中计算组件根据数据的数量和接收者接收该数据,把数据重新传送给提供者及提供者接收该数据所用的时间,在提供者处计算可用带宽。
63.按照权利要求56所述的系统,其中自动确定组件还包括根据计算得到的可用带宽调整预定数量的数据的调整组件;和利用调整后的预定数量的数据,重复所述迭代的重复组件。
64.按照权利要求63所述的系统,其中调整组件增大数据的预定数量。
65.按照权利要求63所述的系统,其中调整组件减少数据的预定数量。
66.按照权利要求55所述的系统,其中自动确定组件包括自动检测接收者和提供者之间的可用带宽的自动检测组件。
67.按照权利要求55所述的系统,其中当接收者开始建立与提供者的通信时,自动确定组件自动确定可用带宽。
68.按照权利要求55所述的系统,其中在接收者开始建立与提供者的通信之后,当接收者向提供者请求内容时,自动确定组件自动确定可用带宽。
69.按照权利要求55所述的系统,其中选择组件根据确定的可用带宽,在不断变化丰满度的内容中进行选择。
70.按照权利要求55所述的系统,其中选择组件根据确定的可用带宽,在不断变化格式的内容中进行选择。
71.按照权利要求70所述的系统,其中选择组件根据确定的可用带宽,至少在呈静止图像格式的内容和呈视频格式的内容之间进行选择。
72.按照权利要求55所述的系统,其中接收者是客户机,提供者是主机。
73.按照权利要求55所述的系统,其中接收者是主机,提供者是客户机。
74.按照权利要求55所述的系统,其中接收者和提供者都是客户机。
75.按照权利要求74所述的系统,其中接收者和提供者都能够实现对等通信。
76.按照权利要求55所述的系统,其中自动确定组件在接收者和提供者之间的一个通信对话中数次自动检测可用带宽。
77.按照权利要求55所述的系统,其中自动确定组件自动确定容纳从接收者到提供者的通道上的可用带宽,并且单独自动确定容纳从提供者到接收者的通信的通道上的可用带宽。
78.按照权利要求55所述的系统,其中自动确定组件自动确定接收者和提供者之间多个通道上的可用带宽。
79.按照权利要求78所述的系统,其中自动确定组件在接收者和提供者之间的多个通道上同时自动确定可用带宽。
80.按照权利要求78所述的系统,其中选择组件根据在多个通道上确定的可用带宽,选择将在接收者和提供者之间的多个通道上传送的不同内容。
81.按照权利要求55所述的系统,其中自动确定组件同时自动确定从提供者到接收者和从接收者到提供者的可用带宽。
全文摘要
传递内容通常包括自动确定接收者和提供者之间的可用带宽。根据确定的可用带宽,选择要在接收者和提供者之间传送的内容。随后在提供者和接收者之间传送内容。通过利用包括向接收者传送预定数量的数据的至少一次迭代,可自动确定可用带宽。监视接收者接收所述预定数量的数据所用的时间,并根据预定数量的数据和接收者接收数据所用的时间,计算可用带宽。
文档编号G06F9/445GK1454420SQ01812503
公开日2003年11月5日 申请日期2001年5月15日 优先权日2000年5月17日
发明者约瑟夫·F·乔博, 志宏·张, 布鲁斯·L·杰瑟特 申请人:美国在线服务公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1