CN105122879B - 用于观测辅助带宽管理的方法、系统和装置 - Google Patents

用于观测辅助带宽管理的方法、系统和装置 Download PDF

Info

Publication number
CN105122879B
CN105122879B CN201480014930.0A CN201480014930A CN105122879B CN 105122879 B CN105122879 B CN 105122879B CN 201480014930 A CN201480014930 A CN 201480014930A CN 105122879 B CN105122879 B CN 105122879B
Authority
CN
China
Prior art keywords
bandwidth
calling
network
parameter
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480014930.0A
Other languages
English (en)
Other versions
CN105122879A (zh
Inventor
C.A.罗布罗
M.陈
A.杜米特拉斯
J.D.罗森伯格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105122879A publication Critical patent/CN105122879A/zh
Application granted granted Critical
Publication of CN105122879B publication Critical patent/CN105122879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/20Negotiating bandwidth

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

描述了观测辅助带宽管理技术。在一个或多个实现方式中,在终端处接收到发起与另一个终端的呼叫的请求。响应于该请求,形成要传送到服务提供商以获得带宽参数的通信,所述请求包括与终端相关联的网络参数。从服务提供商接收的带宽参数用作模型的一部分以估计对于呼叫可用的带宽量。发起与另一个终端的呼叫,该呼叫被配置成至少初始消耗所估计的带宽量。

Description

用于观测辅助带宽管理的方法、系统和装置
背景技术
带宽管理可以牵涉多种不同的挑战,包括优化网络连接以供计算设备使用、诸如供牵涉网络接入的应用使用的问题。然而,用于带宽管理的常规技术可能不精确,尤其是在面对无线网络连接时。
例如,在常规技术中,应用设法估计信道的即时可用带宽并且然后在该速率下传输。该方法通常用于诸如ASDL之类的常规有线连接,其中带宽随着时间推移相对恒定并且因此该技术在这样的实例中可能是良好的预测器。然而,该方法在无线信道上可能有问题,在无线信道中可用带宽可能随时间推移快速变化。因此,如常规技术中那样依赖于即时可用带宽可能不是将来带宽的良好指示。
发明内容
描述了观测辅助带宽管理技术。在一个或多个实现方式中,在终端处接收到发起与另一个终端的呼叫的请求。响应于该请求,形成要传送到服务提供商以获得带宽参数的通信,所述请求包括与终端相关联的网络参数。从服务提供商接收的带宽参数用作模型的一部分以估计对于呼叫可用的带宽量。然后发起与另一个终端的呼叫,该呼叫被配置成至少初始消耗所估计的带宽量。
在一个或多个实现方式中,系统包括至少部分地以硬件实现的一个或多个模块。所述一个或多个模块被配置成包括从多个终端收集数据的操作,所述数据描述各终端经历的无线网络接入的带宽的变化性。所述操作还包括将基于所收集数据的带宽参数分配给多个聚类中的一个或多个,所述分配基于与从各终端收集的数据相关联的网络参数。所述操作还包括响应于请求而分发带宽参数中的一个或多个,基于被包括作为所述请求的一部分的网络参数而从相应的聚类定位所分发的一个或多个带宽参数。
在一个或多个实现方式中,一个或多个计算机可读存储介质具有存储于其上的指令,所述指令响应于由计算设备执行而使得该计算设备执行如下操作:该操作包括在该计算设备与另一个计算设备之间的呼叫期间做出描述在该呼叫期间在特定时刻可用的带宽量的估计。所述操作还包括至少部分地基于所述估计调整用来做出该呼叫的带宽以及形成要传送到服务提供商的通信,该通信包括描述用来做出呼叫的网络特性的网络参数以及基于在呼叫期间做出的关于带宽量的估计的数据。
本发明内容被提供用来以简化形式介绍下面在具体实施方式中进一步描述的概念的选择。本发明内容不意图识别要求保护的主题的关键特征或必要特征,也不意图用作帮助确定要求保护的主题的范围。
附图说明
参考附图描述具体实施方式。在图中,附图标记的最左边的(多个)数字识别其中该附图标记首次出现的图。相同附图标记在说明书和图中的不同实例中的使用可以指示类似或相同的项目。图中表示的实体可以指示一个或多个实体,并且因此可以可互换地对讨论中的实体的单个或复数形式做出参考。
图1是可操作用来执行本文中描述的观测技术的示例实现方式中的环境的图示。
图2是示出被配置成充当通过因特网操作的系统的终端的最终用户终端的示例的示意性框图。
图3描绘了被配置成生成和利用可使用来预测带宽的参数的示例实现方式中的系统。
图4描绘了其中由第二端点利用第一端点做出的带宽参数的观测的图1和3的系统的示例。
图5描绘了其中由观测管理器模块执行带宽参数的生成的示例实现方式中的系统。
图6是描绘其中由终端做出估计并且被传送到服务提供商的示例实现方式中的工序的流程图。
图7是描绘其中收集数据并将其分配给聚类以用于预测带宽可用性的示例实现方式中的工序的流程图。
图8是描绘其中从服务提供商获得带宽参数并将其用于估计呼叫的带宽可用性的示例实现方式中的工序的流程图。
图9图示了包括如参考图1描述的计算设备的示例系统。
图10图示了包括可以被实现为如参考图1-9描述的任何类型的计算设备以实现本文中描述的技术的实施例的示例设备的各种部件的示例系统。
具体实施方式
概述
用来预测带宽的常规技术经常限于对即时可用带宽的估计。然而,这在其中可用带宽可能变化很大、诸如无线网络之类的实例中可能不精确。
因此,描述了观测辅助带宽管理技术。在一个或多个实现方式中,描述了其中由计算设备观测无线网络的网络使用的技术,所述网络使用可以包括可用带宽量和该可用性的理由,诸如服务质量等等。
该观测然后可以由所述计算设备和/或另一个计算设备利用来确定针对该计算设备对于另一个网络使用实例所预期的带宽量。进一步地,可以基于所观测到的特性将这些观测进行聚类,所述特性可以包括日时、星期几、利用的硬件资源、网络类型、网络提供商、信号强度等等。因此,例如要做出“呼叫”的计算设备可以定位具有类似特性的聚类并使用与该聚类相关联的观测来做出关于可用带宽的预测。还构想如在下面的章节中进一步描述的其他示例。
在下面的讨论中,首先描述可以采用本文中描述的技术的示例环境。然后描述可以在该示例环境以及其他环境中执行的示例工序。因此,示例工序的执行不限于该示例环境并且示例环境不限于示例工序的执行。
示例环境
图1是可操作用来采用本文中描述的技术的通信系统100的示意性图示。通信系统100包括多个计算设备。这些计算设备包括诸如桌面型或膝上型PC或因特网启用的移动电话之类的最终用户终端102(a)、102(b)和102(c)、诸如基于因特网的通信系统的对等服务器或被配置成启用客户端/服务器通信的传统服务器之类的服务器104,以及服务器106。
服务器106被图示为包括观测管理器模块108。最终用户终端102(a)-102(c)中的每一个还被图示为包括各自的观测模块110(a)-110(c)。这些模块表示单独或部分地可操作用来实现本文中描述的观测辅助网络接入技术的功能。例如,这些模块可以用来收集描述最终用户终端102(a)-102(c)中的一个或多个所观测的带宽的数据。该数据然后可以由最终用户终端102(a)-102(c)或其他终端利用来生成关于预期带宽的参数,在选择传入和/或传出方向上的传输速率时可以考虑所述参数,如下面进一步描述的。
通信系统100还被图示为包括通信云112和到另一个类型的网络116、诸如到传统公共交换电话网络(PSTN)或其他电路交换网络和/或到移动蜂窝网络的网关114。当然将意识到的是,除明确示出的那些元件之外的许多更多元件构成一个网络。这在图1中由通信云112示意性地表示,所述通信云112通常包括许多其他最终用户终端、服务器和网关,以及因特网服务提供商(ISP)的路由器和因特网主干路由器。
通信云112可以表示基于分组的网络,其以因特网的形式图示出,尽管还构想其他示例。因此,通信云112可以包括多个如前面描述的互连的元件。在该示例中,每个网络元件可以连接到因特网的其他元件,并且被配置成在因特网上通过发送和接收因特网协议(IP)分组形式的数据来与其他这样的元件传送数据。替换地或附加地,可以利用除因特网之外的网络。例如,PSTN可以经由非IP协议对呼叫进行路由,网络可以包括无线网络,诸如Wi-Fi、蜂窝(例如,3G、LTE)等等。另外,呼叫可以发生在私有网络而非因特网内。在至少一些实现方式中,每个元件还具有在因特网内定位其的相关联的IP地址,并且每个分组在其头部中包括源和目的地IP地址,尽管还构想其他实现方式。
通信系统100可以支持多种不同类型的通信。示例包括但不限于视频服务、语音服务、视频/语音服务、文本服务、Web服务等等。在所图示和描述的实施例中,最终用户终端102(a)到102(c)可以使用任何合适的技术通过通信云112彼此通信以及与其他实体通信。因此,最终用户终端可以通过通信云112,通过通信云112、网关114和网络116,或者通过使用例如基于IP的语音(VOIP)的服务器106进行通信。
在至少一些实例中,为了与另一个最终用户终端通信,在发起最终用户终端上执行的客户端模块获取其上安装了另一个客户端模块的终端的IP地址。这可以使用地址查找表或任何合适的技术来完成。
一些基于因特网的通信系统由运营商管理,因为它们依赖于一个或多个集中式、运营商运行的服务器来得到地址查找表(未示出)。在那种情况下,当一个客户端要与另一个客户端通信时,则发起客户端联系系统运营商运行的集中式服务器以获得被叫方的IP地址,其一个示例由服务器106图示出,其可以表示一个或多个服务器,诸如服务器机群。可以利用其他方法。例如,在一些基于服务器的系统中,服务器接收呼叫请求并且服务器中继媒体。在这种情况下,客户端之间没有端到端连接,其间只有发生通信的服务器。
与这些运营商管理的系统形成对照,另一种类型的基于因特网的通信系统被称为“对等”(P2P)系统。对等(P2P)系统通常将责任从集中式运营商服务器转移走并且转移到最终用户自己的终端中。这意味着用于地址查找表的责任被转移到像是被标记为102(a)到102(c)的那些的最终用户终端。
每个最终用户终端可以运行P2P客户端应用,使得每个这样的终端形成P2P系统的节点。P2P地址查找表可以通过在最终用户节点中的一些之间分发IP地址数据库来实现。该数据库是将所有在线或最近在线的用户的用户名映射到相关IP地址的列表,使得给定用户名可以确定IP地址。以上只不过构成一个示例。应意识到和理解的是,可以利用其他方法而不偏离要求保护的主题的精神和范围。例如,一些系统可以利用多个IP地址或者利用具有DNS名称的URI。
一旦已知,地址就允许用户建立语音或视频呼叫,或者发送即时消息(IM)聊天信息或文件移送等。然而另外,当客户端自身需要与另一个客户端自主地传送信息时也可以使用地址。
图2的示意性框图示出被配置成充当通过因特网操作的系统的终端的最终用户终端的示例。该系统可以包括P2P系统和/或非P2P系统并且可以使用一个或多个不同的协议来通信。终端102包括被图示为CPU 200的一个或多个处理器,其可操作地耦合到:诸如调制解调器之类的网络接口202或用于连接到因特网的其他接口、诸如硬盘驱动器或闪存之类的非易失性存储设备204,以及诸如随机存取存储器(RAM)206之类的易失性存储器设备。终端102还包括一个或多个用户输入设备,例如以键盘或小键盘210、鼠标212、麦克风216和诸如网络摄像头之类的照相机218的形式,每一个都可操作地耦合到CPU 200。终端102还包括一个或多个用户输出设备,例如以显示器208和扬声器214的形式,再次地每一个都可操作地耦合到CPU 200。
存储设备204存储包括至少一个操作系统(OS)220和客户端应用222形式的基于分组的通信软件的软件,所述客户端应用222可以包括通过其通信可以通过诸如图1中描述的网络之类的网络发生的P2P应用和/或非P2P应用。在终端102启动或重启时,操作系统220自动地装载到RAM 206中并且从该处通过在CPU 200上执行而被运行。一旦运行,操作系统220然后就可以通过将应用装载到RAM 206中并且在CPU 200上执行应用来运行它们,所述应用诸如客户端应用222。为了在图2中示意性地表示这一点,操作系统220和客户端应用222示出在CPU 200内。
在该特定的非限制性示例中,客户端应用222包括具有三个基本层的“栈”:输入和输出(I/O)层224、客户端引擎层226和客户端用户接口(UI)层228。这些层的功能可以由除具体描绘的架构之外的架构实现而不偏离要求保护的主题的精神和范围。
每个层或对应的功能模块负责特定的功能。由于每个连续层通常与两个相邻层(或者在顶层的情况下的一个层)通信,所以它们被认为是布置在如图2中所示的栈中。
客户端应用222被认为在操作系统220上运行。这意味着在多任务环境中其被调度用于由操作系统220执行;并且进一步意味着,从网络接口202、麦克风216和照相机218到客户端应用222的最低(I/O)层224的输入以及从该I/O层224到网络接口202、显示器208和扬声器214的输出可以经由操作系统220的合适的驱动程序和/或API进行调解。在至少一些实施例中,可以实现包括可以利用来呈现视听和交互内容的基于web的接口的客户端应用222。
客户端应用的I/O层224包括音频和视频编解码器形式的语音引擎和可选的视频引擎,其接收传入的编码流并将其解码以视情况输出给扬声器214和/或显示器208,并且其接收来自麦克风216和/或照相机218的未编码音频和/或视频数据并将其编码以作为流传输到P2P系统的其他最终用户终端或PSTN中的其他实体和/或诸如网络108之类的移动网络。I/O层224还可以包括用于在网络的终端102之间用信号发送控制信息的控制信令协议。
客户端引擎层226然后处理如前面讨论的系统的连接管理功能,诸如通过P2P地址查找和认证以及通过其他技术建立呼叫或其他连接。客户端引擎也可以负责系统的其他辅助功能,诸如供应最新的联系人列表和/或用户的头像给服务器104(图1);或者从服务器104检索用户的最新联系人列表并检索其他用户的最新头像。
客户端用户接口层228负责呈现解码内容,诸如经由显示器208向用户呈现视听和/或交互内容,以用于在显示器208上呈现输出以及诸如存在和简档信息之类的其他信息和诸如按钮和菜单之类的用户控件,并且用于经由所呈现的控件接收来自用户的输入。
一般地,本文中描述的功能中的任一个可以使用软件、固件、硬件(例如,固定逻辑电路)或这些实现方式的组合来实现。如本文中使用的术语“模块”、“功能”、“部件”和“逻辑”一般表示软件、固件、硬件或其组合。在软件实现方式的情况下,模块、功能或逻辑表示当在处理器(例如,CPU或多个CPU)上被执行时执行指定任务的程序代码。程序代码可以存储在一个或多个计算机可读存储器设备中。下面描述的技术的特征是平台无关的,意指这些技术可以在具有多种处理器的多种商用计算平台上实现。对于可操作用于执行这些技术的设备的进一步讨论可联系图9和10找到。
返回图1,如之前描述的带宽管理通常围绕优化通信信道上的带宽的利用的问题。常规地,估计基于信道的即时可用带宽,其然后被用来在该速率下进行传输。虽然这对于诸如其中带宽随时间推移相对恒定的ADSL之类的常规的有线连接而言可能是良好的方法,但是该方法在面对具有快速变化的带宽的通信信道时可能变差。
已经开发的一种技术对将来带宽的不安全性进行建模并且依赖于该模型选取发送速率,考虑对于实时通信而言过度利用可能比利用不足更为有害。该技术基于针对该特定通信会话获得的实际观测,意指该方法在语音或视频呼叫的开始没有影响。而且,该方法可以不考虑诸如流量成形效果之类的常见但不频繁的事件。
因此,描述了其中带宽管理利用在例如其他呼叫的其他通信会话期间做出的观测的技术。在呼叫启动时,例如,可以经由网络(例如,云服务、web服务等等)向可用的服务提供商做出查询以获得关于用于通信会话的预期带宽的参数,其可以包括预期用于该通信会话的不安全性和/或变化性。然后在选择传入和/或传出方向上的传输速率时可以考虑这些参数。在另一个示例中,可以利用在例如“呼叫”的通信会话期间做出的观测来更新服务提供商。还构想其他示例,诸如支持较早前描述的P2P系统,在P2P系统中这些参数在最终用户终端102(a)到102(c)之间分发并且以类似于联系前面的图2描述的查找示例的方式进行定位。
例如,考虑随着时间变化过程的带宽“BW”。不失一般性,“BW(t+Δ)=BW(t)+dBW(t,Δ)”,其中“BW(t)”是时刻“t”的带宽并且“dBW(t,Δ)”是从时刻“t”到时刻“t+Δ”的带宽改变。用以估计“BW(t)”的技术可以基于接收时刻、发送时刻、分组大小的观测,并且在初始化时的分组丢失可以用来选取等于或稍微低于该估计的发送速率。然而,该估计牵涉至少一个网络往返时间(RTT)的延迟。因此,该RTT基本上变成前面的“Δ”。如果“dBW(t,Δ)”取正值,则意味着正被使用的信道未发挥全部潜力,但是如果其是负的,则该信道可以变得过载,导致排队延迟和/或分组丢失。
因此,还可以采用预测“BW(t+Δ)”为“安全”值的技术以在这样的带宽下传输:在该带宽下已经达到将不会超过“BW(t+Δ)”的置信度。例如,“BW(t)”估计的历史可以用来对用于将来带宽的概率密度函数(PDF)进行建模。该PDF可以采取具有一个参数的泊松分布的形式或者假设多种其他形式。在一个或多个实现方式中,然后可以采用这些技术来选取该PDF的后百分之五,意味着存在百分之五的超过可用带宽的风险。
然后可以通过生成和共享观测来扩展这些技术。在下面的讨论中,如“呼叫”一样的语音/视频实时通信被描述为意指“应用调用”对应于呼叫的示例。也即,一个用户在一个通信会话(例如,呼叫)中做出的观测被另一个用户在另一个通信会话(例如,呼叫)中重用。如下描述且在对应的图中示出示例系统。
图3描绘了被配置成生成和利用可用来预测带宽的参数的示例实现方式中的系统300。系统300包括如先前的可通信地耦合到通信云112的端点102(a)、102(b)。在该示例中,通信云112包括对无线通信技术的支持。这可以包括如图示的无线接入点和蜂窝塔,以及可以包括Wi-Fi(例如,包括IEEE 802.11和其他的一个或多个标准)、近场通信(NFC)、蓝牙等等的其他无线通信技术。
端点102(a)、102(b)可以参与如之前描述的通信会话,诸如相互之间的、与其他端点的通信会话等等。在该通信会话期间,可以基于由相应的观测模块110(a)、110(b)做出的观测来生成参数。然后可以将这些参数传送给服务提供商的服务器106以便由观测管理器模块108存储在一个或多个数据库302中。如之前描述的,还构想其他分布式实现方式。这些参数可以采取多种形式。
例如,参数可以描述网络提供商、信号强度、网络通信设备、无线接入点、地理位置、网络接入类型、网络协议、日时、星期几、订阅信息或漫游信息。另外,可以为呼叫的一侧或两侧表达这些参数。因此,这些观测在下面的讨论中可以被称为“网络(NW)参数”304。
另一方面,带宽参数306可以牵涉用来计算带宽分布的统计模型的参数,其可以包括由观测模块110(a)、110(b)在通信会话期间观测的参数。例如,模型可以被配置为如之前描述的泊松分布,其可以采用在通信会话期间估计的带宽参数306。因此,带宽参数306可以作为模型的一部分用来描述这些估计。可以以多种方式生成和利用这些参数,其一个示例如下进行描述且示出在对应的图中。
图4描绘了其中由第二端点利用第一端点做出的带宽参数的观测的图1和3的系统400的示例。终端102(a)可以包括如之前描述的观测模块110(a)。观测模块110(a)可以基于例如如前面描述的呼叫的一个或多个通信会话做出观测。这些观测可以包括在通信会话期间做出的带宽的估计,其可以用来生成如之前描述的带宽参数306(a)。例如,在通信会话期间进行更新的带宽参数306(a)可以用作带宽分布的统计模型的一部分。
这些观测还可以包括网络参数304(a),其描述设备和通信会话中牵涉的其他基础设施(诸如网络提供商、信号强度、网络通信设备、无线接入点、网络协议等等)的特性。因此,网络参数304(a)可以描述在带宽参数306(a)中牵涉的端到端网络连接的部分或全部。
在该示例中,网络的观测和带宽参数304(a)、306(a)经由网络传送到观测管理器模块108,其可以被实现为如之前描述的服务提供商。还构想其他示例,诸如采用不包括服务提供商的诸如P2P配置中的分布式架构。
观测管理器模块108被图示为包括聚类管理器模块402。聚类管理器模块402表示将观测进行聚类的功能,其可以用作控制哪些观测传播到哪些终端以供使用的基础。
例如,在呼叫后网络和带宽参数304(a)、306(a)可以传送到如前面描述的观测管理器模块108。聚类管理器模块402然后可以用来根据网络参数304(a)向多个聚类404中的一个或多个分配呼叫的参数。在进行该聚类时还可以考虑带宽参数306(a)。
然后可以利用聚类管理器模块402从端点102(a)接收的带宽参数306(a)来更新呼叫被分配到的该一个或多个聚类。在一个或多个实现方式中,作为该更新的一部分可以根据聚类分配置信度来应用加权。也即,如果使用软聚类分配则可以更新超过一个聚类,并且可以采用基于作为分配的一部分而计算的置信度分数的权值。这些参数聚类404然后可以由另一个设备利用来估计带宽可用性。
例如终端102(c)可以接收输入以经由网络发起呼叫。作为响应,网络参数304(c)可以由终端102(c)经由网络传送到观测管理器模块108。观测管理器模块402然后可以使用网络参数304(c)来定位对应于该呼叫的聚类404中的一个或多个。与该聚类404相关联的带宽参数306(c)然后可以传送回端点102(c)以用于做出关于该呼叫的预期带宽的估计。这样,这些参数可以用来开始这样的估计:该估计基于不止于仅仅当前的网络条件且不用如之前需要的等待往返来调整该估计。还构想如下面联系对应的图进一步描述的其他示例。
图5描绘了其中由观测管理器模块108执行带宽参数的生成的示例实现方式中的系统500。如先前一样,终端102(a)包括如之前描述的观测模块110(a)。观测模块110(a)可以基于例如如前面描述的呼叫的一个或多个通信会话来做出观测。这些观测可以包括在通信会话期间做出的带宽的估计502,其然后可以与网络参数304(a)一起传送到观测管理器模块108。
观测管理器模块108然后可以从估计502中提取带宽参数306(c),其可以如之前描述的那样分配给聚类404并传送到其他客户端102(c)。
可以以改进的效率采用该示例中的该改进的参数带宽模型,因为可以从存储在数据库302中的之前版本容易地获得用于计算参数的数据。然而,这可能牵涉数据通信的增加,因为带宽参数可以被表达为与例如呼叫的通信会话相关联的完整时间序列的压缩。
带宽参数可以用作模型的一部分来表达可能牵涉带宽的多种不同特性。例如,带宽模型可以包括“服务质量(QoS)模型”。也即,模型还涉及诸如RTT、分组丢失和延迟之类的参数。这可以改进带宽预测强度,例如,当观测到丢失时可以预测带宽减小。另外,模型可以采取多种形式,其可以包括机器学习技术、统计模型等等。
进一步如之前描述的,本文中描述的技术可以用于多种不同环境中。在一个这样的示例中,相应终端102(a)的观测模块110(a)可以采用支持本地执行所述技术的算法。这可以包括对离线数据进行训练,其中预测器随着过去“N”秒的延迟和丢失将该离线数据作为输入,并且预测可用带宽。客户端应用例如可以收集其测量的延迟、丢失的轨迹并且在呼叫结束时将那些进行上传,所以客户端应用的离线算法可以离线地训练预测器。在另一个示例中,还可以以定义的间隔下载被更新的预测器算法(模型或参数)。还构想其他示例,其进一步讨论可以联系以下章节找到。
示例工序
以下讨论描述可以利用之前描述的系统和设备实现的观测技术。这些工序中的每一个的方面可以以硬件、固件或软件、或其组合实现。这些工序被示出为指定一个或多个设备所执行的操作的一组方块并且不一定限于示出的用于由各方块执行所述操作的次序。在以下讨论的部分中,将对图1-5做出参考。
图6描述了其中终端做出估计且其被传送到服务提供商的示例实现方式中的工序600。在计算设备与另一个计算设备之间的呼叫期间做出估计,其描述在该呼叫期间在特定时刻可用的带宽量(方块602)。终端102(a)例如可以接收来自用户的一个或多个输入以发起与终端102(c)的呼叫。因此,可以捕获由观测模块110(a)在该呼叫期间做出的观测,其可以包括描述用来做出该呼叫的网络的特性的网络参数以及关于经有关该网络可用的带宽的信息。
用来做出呼叫的带宽至少部分地基于估计进行调整(方块604)。观测模块110(a)例如可以采用可以用来预测可用带宽量并相应地调整在做出呼叫时的带宽消耗的模型。该模型可以采取如之前描述的多种形式。
带宽参数基于估计而生成(方块606)。因此,在该示例中终端102(a)生成参数。还构想其他示例,诸如如联系图5描述的那样由服务提供商生成带宽参数。
形成要被传送到服务提供商的通信,该通信包括描述用来做出呼叫的网络特性的网络参数和基于在呼叫期间做出的关于带宽量的估计的数据(方块608)。可以以多种方式配置通信,诸如包括如联系图4和5描述的网络参数304(a)。通信还可以包括在终端处本地生成的带宽参数306(a)、被用作模型的一部分的估计502等等。
图7描绘了其中数据被收集并分配给聚类以用于预测带宽可用性的示例实现方式中的工序700。数据从多个终端进行收集,该数据描述各终端经历的无线网络接入的带宽的变化性(方块702)。如先前一样,观测模块可以用来收集描述带宽消耗(例如,在任一时刻的量)以及该带宽如何被消耗(例如,哪些设备和这些设备的操作特性)、诸如描述终端102(a)与102(b)之间的呼叫的数据。
基于所收集的数据的带宽参数被分配给多个聚类中的一个或多个,所述分配基于与从各终端收集的所述数据相关联的网络参数(方块704)。聚类管理器模块402例如可以基于所述网络参数将带宽参数分配给各聚类404。
然后响应于请求而分发所述带宽参数中的一个或多个,基于被包括作为该请求的一部分的网络参数从相应的聚类定位所分发的一个或多个带宽参数(方块706)。另一个终端102(c)例如然后可以基于其中该终端未参与过的呼叫来利用所述带宽参数。可以使用从终端102(c)接收的网络参数304(c)在相应的聚类404中定位所述带宽参数。还构想其他示例。
图8描绘了其中从服务提供商获得带宽参数并将其用来估计呼叫的带宽可用性的示例实现方式中的工序800。在终端处接收到请求以发起与另一个终端的呼叫(方块802)。用户例如可以在终端102(a)处发起客户端应用以做出到终端102(c)的呼叫。
响应于所述请求,形成要被传送到服务提供商以获得带宽参数的通信,所述请求包括与终端相关联的网络参数(方块804)。继续之前的示例,客户端应用可以将网络参数传送到服务提供商,诸如服务器106,以便由观测管理器模块108处理。观测管理器模块108然后可以基于网络参数定位带宽参数。
从服务提供商接收的带宽参数被用作模型的一部分来估计对于呼叫可用的带宽量(方块806)。终端102(a)的观测模块110(a)例如可以采用作为模型的一部分的参数来估计经由网络连接做出呼叫的可用的量。
发起与其他终端的呼叫,该呼叫被配置成至少初始消耗所估计的带宽量(方块808)。这样,可以“立刻”利用精确的估计而不用如常规需要的那样等待往返。还构想如前面进一步描述的其他示例,诸如在做出调整之前“等待”要在呼叫中获得的可靠估计。
示例系统和设备
图9图示了包括如参考图1描述的计算设备102的示例系统900。示例系统900使得能够实现无处不在的环境以在个人计算机(PC)、电视设备和/或移动设备上运行应用时获得无缝的用户体验。服务和应用在利用应用、玩视频游戏、观看视频等等的同时从一个设备过渡到下一个时在所有三个环境中基本上类似地运行以获得共同的用户体验。
在示例系统900中,多个设备通过中央计算设备互连。中央计算设备可以对于多个设备是本地的,或者可以远离该多个设备放置。在一个实施例中,中央计算设备可以是通过网络、因特网或其他数据通信链路连接到多个设备的一个或多个服务器计算机的云。在一个实施例中,该互连架构使得能够实现要跨多个设备递送的功能以向多个设备的用户提供共同和无缝的体验。多个设备中的每一个可以具有不同的物理要求和能力,并且中央计算设备使用平台来使得能够向设备递送既对于该设备量身定制且又对于所有设备共同的体验。在一个实施例中,创建一类目标设备并且对于通用类的设备量身定制体验。一类设备可以由这些设备的物理特征、使用类型或其他共同特性来定义。
在各种实现方式中,计算设备102可以假设多种不同配置,诸如用于计算机902、移动装置904和电视906用途。这些配置中的每一个包括可以具有通常不同构造和能力的设备,并且因此计算设备102可以根据不同设备类中的一个或多个进行配置。例如,计算设备102可以实现为包括个人计算机、桌面型计算机、多屏幕计算机、膝上型计算机、上网本等等的计算机902类的设备。
计算设备102还可以实现为移动904装置类的设备,其包括移动设备,诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等等。计算设备102还可以实现为电视906类的设备,其包括具有或连接到休闲观看环境中的一般较大的屏幕的设备。这些设备包括电视、机顶盒、游戏控制台等等。本文中描述的技术可以由计算设备102的这些各种配置支持,并且不限于本文中描述的技术的特定示例。这通过由这些计算设备中的任一个使用观测管理器模块108而图示出,其还可以“经由云”来实现,如下面进一步描述的。
云908包括和/或表示用于内容服务912的平台910。平台910对云908的硬件(例如,服务器)和软件资源的底层功能进行抽象。内容服务912可以包括可在远离计算设备102的服务器上执行计算机处理的同时利用的应用和/或数据。内容服务912可以被提供作为通过因特网和/或通过订户网络(诸如蜂窝或Wi-Fi网络)的服务。
平台910可对资源和功能进行抽象以将计算设备102与其它计算设备连接。平台910还可以用于对资源的分级进行抽象以针对遇到的对经由平台910实现的内容服务912的需求提供对应水平的分级。因此,在互连设备实施例中,本文中描述的功能的功能实现方式可以遍布于系统900。例如,功能可部分地在计算设备102上以及经由对云908的功能进行抽象的平台910来实现。
图10图示了可以被实现为如参考图1、2和9描述的任何类型的计算设备以实现本文中描述的技术的实施例的示例设备1000的各种部件。设备1000包括通信设备1002,所述通信设备1002使得能够实现设备数据1004(例如,接收的数据、正被接收的数据、调度用于广播的数据、数据的数据分组等)的有线和/或无线通信。设备数据1004或其他设备内容可以包括设备的配置设定、存储在设备上的媒体内容和/或与设备用户相关联的信息。存储在设备1000上的媒体内容可以包括任何类型的音频、视频和/或图像数据。设备1000包括可以经由其接收任何类型的数据、媒体内容和/或输入的一个或多个数据输入1006,诸如用户可选择的输入、消息、音乐、电视媒体内容、记录的视频内容和任何其他类型的音频、视频和/或从任何内容和/或数据源接收的图像数据。
设备1000还包括通信接口1008,该通信接口1008可以被实现为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器以及任何其他类型的通信接口中的任一个或多个。通信接口1008在设备1000与其他电子、计算和通信设备与设备1000通过其传送数据的通信网络之间提供连接和/或通信链路。
设备1000包括一个或多个处理器1010(例如,微处理器、控制器等等中的任一个),所述处理器1010处理各种计算机可执行指令以控制设备1000的操作并且实现本文中描述的技术的实施例。替换地或附加地,设备1000可以利用结合一般在1012处识别的处理和控制电路实现的硬件、固件或固定逻辑电路中的任一个或组合来实现。尽管未示出,设备1000可以包括耦合设备内的各种部件的系统总线或数据传送系统。系统总线可以包括不同总线结构中的任一个或组合,所述不同总线结构诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用多种总线架构中的任一个的处理器或本地总线。
设备1000还包括计算机可读介质1014,诸如一个或多个存储器部件,其示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存、EPROM、EEPROM等中的任一个或多个)以及盘存储设备。盘存储设备可以实现为任何类型的磁或光存储设备,诸如硬盘驱动器、可记录和/或可重写紧凑盘(CD)、任何类型的数字多功能盘(DVD)等等。设备1000还可以包括大容量存储介质设备1016。
计算机可读介质1014提供用以存储设备数据1004以及各种设备应用1018和任何其他类型的信息和/或与设备1000的操作方面有关的数据的数据存储机制。例如,操作系统1020可以保持作为与计算机可读介质1014一起并且在处理器1010上执行的计算机应用。设备应用1018可以包括设备管理器(例如,控制应用、软件应用、信号处理和控制模块、特定设备固有的代码、特定设备的硬件抽象层等)。设备应用1018还包括用以实现本文中描述的技术的实施例的任何系统部件或模块。在该示例中,设备应用1018包括被示出为软件模块和/或计算机应用的接口应用1022和输入/输出模块1024。输入/输出模块1024表示用来向接口提供被配置成捕获输入的设备的软件,所述设备诸如触摸屏、跟踪板、照相机、麦克风等等。替换地或附加地,接口应用1022和输入/输出模块1024可以实现为硬件、软件、固件或其任何组合。另外,输入/输出模块1024可以被配置成支持多个输入设备,诸如分别捕获可视和音频输入的单独的设备。
设备1000还包括音频和/或视频输入输出系统1026,该系统1026向音频系统1028提供音频数据和/或向显示系统1030提供视频数据。音频系统1028和/或显示系统1030可以包括处理、显示和/或以其他方式再现音频、视频和图像数据的任何设备。视频信号和音频信号可以经由RF(射频)链路、S-视频链路、复合视频链路、分量视频链路、DVI(数字视频接口)、模拟音频连接或其他类似通信链路从设备1000传送到音频设备和或显示设备。在一个实施例中,音频系统1028和/或显示系统1030被实现为设备1000的外部部件。替换地,音频系统1028和/或显示系统1030被实现为示例设备1000的集成部件。
结论
尽管已用特定于结构特征和/或方法动作的语言描述了本发明,但应理解的是在所附权利要求中定义的本发明不一定限于所描述的特定特征或动作。相反,这些特定特征和动作是作为实现要求保护的发明的示例形式而公开的。

Claims (12)

1.一种用于管理带宽的方法,包括:
在终端处接收发起与另一个终端的呼叫的请求;
响应于所述请求,形成要被传送到服务提供商以获得带宽参数的通信,所述请求包括与所述终端相关联的网络参数;以及
将从所述服务提供商接收的带宽参数用作模型的一部分来估计对于所述呼叫可用的带宽量。
2.如权利要求1中所述的方法,其中所述呼叫至少部分地使用无线网络来执行。
3.如权利要求1中所述的方法,其中所述网络参数描述设备以及在所述呼叫中要牵涉的其他基础设施。
4.如权利要求3中所述的方法,其中所述网络参数包括网络提供商、信号强度、网络通信设备、无线接入点、地理位置、网络接入类型、网络协议、日时、星期几、订阅信息或漫游信息。
5.如权利要求3中所述的方法,其中所述模型是统计模型或者采用机器学习。
6.如权利要求1中所述的方法,其中所述网络参数被配置为由所述服务提供商用于定位多个聚类中的一个或多个,每个所述聚类与相应的带宽参数相关联。
7.如权利要求1中所述的方法,其中所述呼叫被配置成在所述终端和所述另一个终端之间对等地执行。
8.如权利要求1中所述的方法,还包括基于在所述呼叫期间做出的观测在所述呼叫期间调整带宽参数中的至少一个。
9.一种用于管理带宽的系统,包括:
至少部分地以硬件实现的一个或多个模块,所述一个或多个模块被配置成执行包括以下的操作:
从多个终端收集数据,所述数据描述各所述终端经历的无线网络接入的带宽的变化性;
将基于所收集数据的带宽参数分配给多个聚类中的一个或多个,所述分配基于与从各所述终端收集的数据相关联的网络参数;以及
响应于请求而分发所述带宽参数中的一个或多个,所分发的一个或多个带宽参数基于被包括作为所述请求的一部分的网络参数而从相应的所述聚类进行定位。
10.一个或多个具有存储于其上的指令的计算机可读存储介质,所述指令响应于由计算设备执行而使得所述计算设备执行包括以下步骤的操作:
在所述计算设备与另一个计算设备之间的呼叫期间做出估计,其描述在所述呼叫期间在特定时刻可用的带宽量;
至少部分地基于所述估计来调整用来做出所述呼叫的带宽;以及
形成要被传送到服务提供商的通信,该通信包括描述用来做出所述呼叫的网络特性的网络参数以及基于在所述呼叫期间做出的关于所述带宽量的所述估计的数据。
11.一种用于管理带宽的方法,包括:
在计算设备与另一个计算设备之间的呼叫期间做出估计,其描述在所述呼叫期间在特定时刻可用的带宽量;
至少部分地基于所述估计来调整用来做出所述呼叫的带宽;以及
形成要被传送到服务提供商的通信,该通信包括描述用来做出所述呼叫的网络特性的网络参数以及基于在所述呼叫期间做出的关于所述带宽量的所述估计的数据。
12.一种用于管理带宽的装置,包括:
用于在计算设备与另一个计算设备之间的呼叫期间做出估计的单元,其描述在所述呼叫期间在特定时刻可用的带宽量;
用于至少部分地基于所述估计来调整用来做出所述呼叫的带宽的单元;以及
用于形成要被传送到服务提供商的通信的单元,该通信包括描述用来做出所述呼叫的网络特性的网络参数以及基于在所述呼叫期间做出的关于所述带宽量的所述估计的数据。
CN201480014930.0A 2013-03-14 2014-03-11 用于观测辅助带宽管理的方法、系统和装置 Active CN105122879B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/828721 2013-03-14
US13/828,721 US10314091B2 (en) 2013-03-14 2013-03-14 Observation assisted bandwidth management
PCT/US2014/022894 WO2014159301A2 (en) 2013-03-14 2014-03-11 Observation assisted bandwidth management

Publications (2)

Publication Number Publication Date
CN105122879A CN105122879A (zh) 2015-12-02
CN105122879B true CN105122879B (zh) 2019-04-05

Family

ID=50440842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480014930.0A Active CN105122879B (zh) 2013-03-14 2014-03-11 用于观测辅助带宽管理的方法、系统和装置

Country Status (4)

Country Link
US (2) US10314091B2 (zh)
EP (1) EP2949149B1 (zh)
CN (1) CN105122879B (zh)
WO (1) WO2014159301A2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9179355B2 (en) * 2014-01-09 2015-11-03 Apple Inc. Cell utilization estimation by a wireless device
WO2016149227A1 (en) * 2015-03-16 2016-09-22 Microsoft Technology Licensing, Llc Method, apparatus und computer program product for dynamically adapting the bandwidth based on channel conditions and bandwidth constraint
GB201504403D0 (en) 2015-03-16 2015-04-29 Microsoft Technology Licensing Llc Adapting encoded bandwidth
US20160301770A1 (en) * 2015-04-10 2016-10-13 Facebook, Inc. Systems and methods for predicting bandwidth to optimize user experience
CN109587045A (zh) * 2017-09-28 2019-04-05 西门子(中国)有限公司 智能建筑的通信安全控制方法及网关装置
US11622140B2 (en) * 2018-12-19 2023-04-04 Yahoo Assets Llc Selective streaming of video segments based on buffer data and download rate range
CN110049357B (zh) * 2019-05-29 2021-10-15 安徽讯飞皆成软件技术有限公司 一种带宽预估方法、装置、设备及存储介质
US11089078B2 (en) * 2019-09-13 2021-08-10 Microsoft Technology Licensing, Llc Model-based parameter selection for media sessions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101971664A (zh) * 2008-03-11 2011-02-09 汤姆森特许公司 无线多跳网状网络中的联合的关联、路由和速率分配
WO2011075670A1 (en) * 2009-12-18 2011-06-23 Google Inc. Matching encoder output to network bandwidth

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862622B2 (en) 1998-07-10 2005-03-01 Van Drebbel Mariner Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture
US6980526B2 (en) * 2000-03-24 2005-12-27 Margalla Communications, Inc. Multiple subscriber videoconferencing system
DE60216534T2 (de) * 2001-02-23 2007-06-21 Nippon Telegraph And Telephone Corp. Vorrichtung und Verfahren zur Bandbreitenverwaltung, dazugehöriges Rechnerprogramm, und Aufzeichnungsmedium, welches das Programm gespeichert hat
US7747255B2 (en) 2003-03-26 2010-06-29 Sony Corporation System and method for dynamic bandwidth estimation of network links
US7477621B1 (en) 2004-09-07 2009-01-13 Marvell International Ltd. System and method for estimating bandwidth requirements of and allocating bandwidth to communication devices operating in a network
US7836181B2 (en) 2004-09-21 2010-11-16 Alcatel-Lucent Usa Inc. Fairness and load balancing in wireless LANs using association control
US7480297B2 (en) 2004-12-20 2009-01-20 Motorola, Inc. System and method for controlling packet data bandwidth
US8149771B2 (en) 2006-01-31 2012-04-03 Roundbox, Inc. Reliable event broadcaster with multiplexing and bandwidth control functions
GB2466208B (en) 2008-12-11 2013-09-11 Skype Controlling packet transmission
US8638804B2 (en) * 2010-06-04 2014-01-28 Broadcom Corporation Method and system for recognizing energy efficient certified devices through a gateway
US8873524B2 (en) * 2009-10-27 2014-10-28 At&T Intellectual Property I, L.P. Method and apparatus for providing channel sharing among white space networks
GB2478277B (en) 2010-02-25 2012-07-25 Skype Ltd Controlling packet transmission
US8477618B2 (en) * 2010-07-16 2013-07-02 Research In Motion Limited Methods and apparatus for use in communicating data packets within a data packet window having a size that is set based on quality of service (QoS) parameters
KR101682384B1 (ko) 2010-10-13 2016-12-05 삼성전자 주식회사 네트워크 환경에 따른 송신 성능 최적화 방법 및 장치
CN102143503B (zh) * 2010-12-17 2014-08-13 华为终端有限公司 一种带宽配置方法、设备及系统
US20130246575A1 (en) * 2011-09-16 2013-09-19 Qualcomm Incorporated Systems and methods for network quality estimation, connectivity detection, and load management
US20140141793A1 (en) * 2012-11-19 2014-05-22 International Business Machines Corporation System and method to manage qos in a bandwidth-constrained network (cellular) by sending tower-initiated policy changes to individual phones

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101971664A (zh) * 2008-03-11 2011-02-09 汤姆森特许公司 无线多跳网状网络中的联合的关联、路由和速率分配
WO2011075670A1 (en) * 2009-12-18 2011-06-23 Google Inc. Matching encoder output to network bandwidth

Also Published As

Publication number Publication date
US20140273990A1 (en) 2014-09-18
WO2014159301A2 (en) 2014-10-02
CN105122879A (zh) 2015-12-02
WO2014159301A3 (en) 2014-12-04
US10342058B2 (en) 2019-07-02
EP2949149A2 (en) 2015-12-02
US20180352598A1 (en) 2018-12-06
EP2949149B1 (en) 2017-02-15
US10314091B2 (en) 2019-06-04

Similar Documents

Publication Publication Date Title
CN105122879B (zh) 用于观测辅助带宽管理的方法、系统和装置
KR100915748B1 (ko) 실시간 오디오를 라우팅하기 위한 네트워크 선택 장치 및 방법
KR101397834B1 (ko) 상이한 서비스 제공자들 사이의 피어-투-피어 접속들을 관리하기 위한 장치 및 방법
JP7455164B2 (ja) VoIPメディア送信のためのネットワーク経路選択方法及びシステム
JP2017523709A (ja) 通信エンドポイント間の代理トランザクション
EP3165037B1 (en) Propagating communication awareness over a cellular network
US20180278543A1 (en) Methods, devices and systems for managing network video traffic
US11637873B2 (en) Method and apparatus for managing communication resources
Fan et al. Video delivery networks: Challenges, solutions and future directions
CN104871481B (zh) 用于本地网络设备的基于云的功率管理的方法和装置
JP2015222982A (ja) P2p基盤のストリーミングサービスのデータストリームをパケット化するシステムおよび方法
Kryftis et al. Resource usage prediction models for optimal multimedia content provision
CN108696887A (zh) 用于故障排除协助的移动设备记录
CN104509070A (zh) 用于通信网络迁移的客户端模拟网关
US10764348B2 (en) Methods and systems for improving quality of digital communication in communication sessions
Barakabitze et al. QoEMultiSDN: Management of multimedia services using MPTCP/SR in softwarized and virtualized networks
JP2007207013A (ja) 情報処理装置、情報共有プログラム
Metzger et al. Context monitoring for improved system performance and QoE
Mellouk et al. Quality of experience vs. quality of service: Application for a CDN Architecture
Zhanikeev Multisource Stream Aggregation in the Cloud
Liu et al. Adaptive low-latency peer-to-peer streaming and its application
Wei et al. Exploring peer-to-peer infrastructure for computer supported collaborative work applications
Karmouch et al. Capability reconciliation for virtual device composition in mobile ad hoc networks
US11363080B1 (en) Managed intelligent discovery and mesh connectivity orchestration for collaboration solutions
Liotou et al. Context monitoring for improved system performance and QoE

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant