通信系统中使用二进制标记的基于显式拥塞通知的速率适配的制作方法

文档序号:7848488阅读:204来源:国知局
专利名称:通信系统中使用二进制标记的基于显式拥塞通知的速率适配的制作方法
技术领域
本公开总体涉及通信系统,具体涉及用于对通信系统中的拥塞做出响应的方法和
>J-U ρ α装直。
背景技术
移动或蜂窝电话系统是能够在端用户设备或应用和网络设备间发送和接收数据的通信系统的示例。发送和接收的数据可以是数据分组的形式。发送的数据分组可以是各种格式,并且包括各种不同类型的数据,包括语音数据、二进制数据、视频数据等。 在通信系统(如,移动或蜂窝电话通信系统)中,可以使用各种方法来建立在用户的移动设备(如,移动电话)和系统其余部分间传输数据分组的通信速率或比特率。例如,如果使用自适应多速率(AMR)或自适应多速率宽带(AMR-WB)传输,在呼叫设立时,通过会话描述协议(SDP)来协商模式集合。会话描述协议参数“模式集合”取表示在呼叫期间能够使用的比特流子集的值。从集合{O、……、7}中选择该值以支持自适应多速率传输,从集合{O、……、8}中选择该值以支持自适应多速率宽带传输。例如,可以基于检测到的呼叫设立时移动设备和网络其余部分之间的信号强度来选择要使用的值。当发送方对语音进行编码时,必须使用模式集合中的比特率之一。接着,在实时传输协议有效载荷的编解码器模式指示(CMI)字段中向接收方指示用于编码的模式。对于长期演进(LTE),关于编解码器速率适配的相关规范是3GPP TS26. 114,其指定了基于IP多媒体子系统的多媒体电话服务(MTSI)。该规范中包括多种适配方式。例如,比特率、每分组帧数、以及每分组冗余帧的量均可根据来自编码媒体的接收方的请求加以适配。这些请求通常包括在RTP控制协议应用定义的(RTCP APP)分组中。当对网络系统处理数据分组以及时通过系统传输的要求超过网络能力时,通信系统中出现问题。在这样的情形下,称网络经历拥塞。对这样的拥塞的典型响应是网络简单地丢弃从用户应用或设备接收或要向用户应用或设备发送的并且不能被网络及时处理的分组。显式拥塞通知(ECN)是由网络向用户应用指示网络经历拥塞的方法。响应于接收到这样的通知,用户应用或设备可以降低其发送速率,以避免丢弃分组。例如,可以通过将分组的互联网协议(IP)首部中的两个比特标记为‘11’来实现显式拥塞通知,指示处理分组的网络单元正经历拥塞。经由反馈机制,发送方被告知该分组,并且接着能够降低其发送速率。直到最近,尚未指定如何对用户数据报协议(UDP)业务应用显式拥塞通知。用户数据报协议自身不包含反馈机制。然而,最实时的应用(如,语音、视频、实时文本等)使用不具有反馈机制的基于用户数据报协议的实时传输协议(RTP),即RTP控制协议(RTCP)。已经提出以实时传输协议使用显式拥塞通知。在该提议中,被标记为“经历拥塞”的互联网协议分组的接收方通过RTP控制协议反馈分组将该信息传送至发送方。接着,发送方能够降低其子比特,以减轻拥塞。对于自适应多速率(AMR)或自适应多速率宽带(AMR-WB)传输,发送方可以改变其传输模式以减轻拥塞。作为备选,被标记为“经历拥塞”的分组的接收方可以使用实时传输协议有效载荷中的编解码器模式请求(CMR)字段来请求发送方降低其比特率。这具有以下优势当网络已经拥塞时,不创建附加的RTP控制协议业务,以向发送方传达哪些分组被标记为“经历拥塞”。其劣势在于当数据分组流为单向时,不能用于控制比特流。对于在实时传输协议有效载荷中不具有编解码器模式请求字段的编解码器以及对于其他媒体类型,可以使用临时最大媒体流比特率请求(TMMBR)来请求发送方降低其比特率。考虑上述问题中的至少一些问题以及可能的其他问题的方法和装置将是有利的。


为了更好地理解此处描述的各种实施例,并更清楚地示出如何可以实现这些实施例,下面将仅以示例方式参照示出了至少一个说明性实施例的附图,附图中 图I是根据说明性实施例的包括无线网络和用户设备在内的无线通信系统的实施例的框图;图2是根据说明性实施例的无线网络的框图;图3是根据说明性实施例的用户设备的实施例的框图;图4是图3中用户设备的通信子系统组件的实施例的框图;图5是根据说明性实施例描述的数据处理系统的框图。图6是示出了根据说明性实施例的通信环境的框图;图7示出了根据说明性实施例的编解码器速率降低的示例;图8示出了根据说明性实施例的编解码器速率增加的示例;图9是根据说明性实施例的编解码器速率降低方法的流程图;图10是根据说明性实施例的编解码器速率增加方法的流程图;图11是根据说明性实施例的另一编解码器速率增加方法的流程图;图12是根据说明性实施例的编解码器速率适配方法的流程图。
具体实施例方式将意识到,为了示意简洁清楚,在适当的情况下,在附图中可以重复使用参考标记来指示对应或类似的元件。此外,阐述了许多具体细节,以提供对此处描述的实施例的透彻理解。然而,本领域技术人员将意识到,没有这些具体细节也可以实现此处描述的实施例。在其他实例中,未具体描述公知方法、过程和组件,以免使此处描述的实施例含混不清。此夕卜,以下描述不应被理解为对此处描述的实施例范围的限制。此处公开的不同实施例意识并考虑到若干不同的考虑因素。例如,所公开的实施例意识并考虑到当前通信系统规范未描述当分组被标记为指示观测到正经历拥塞时如何降低发送方的比特流。例如,考虑使用用于IP多媒体子系统的多媒体电话服务的自适应多速率语音编解码器以及缺省自适应多速率模式集合(对应于12. 2kbps,7. 4kbps,5. 9kbps和4. 75kbps的比特率)的情形。如果发送方当前使用12.2kbps比特率,并且观测到标记为“经历拥塞”的分组,当前规范未指定发送方应如何响应。在该情况下,响应选项包括立即径直跳至4. 75kbps ;或者降低至模式集合中下一最低速率,并且如果继续观测到标记为“经历拥塞”的分组,再次降低。所公开的实施例意识并考虑到当前规范未指定如果拥塞减轻应如何适配比特率。此外,所公开的实施例意识并考虑到当前规范未指定在响应于显式拥塞通知适配比特率的系统或方法的上下文中应如何处理用户优先级和紧急呼叫。所公开的实施例意识并考虑到显式拥塞通知仅使用拥塞的开/关或二进制指示的当前情形。数据分组被标记为指示经历拥塞或未经历拥塞。所公开的实施例意识并考虑到在将二进制“经历拥塞”标记用于显式拥塞通知的通信系统中,需要一种编解码器选择和适配机制。所公开的实施例意识并考虑到UTRAN或EUTRAN网络中的互联网协议业务可能是极为动态的。拥塞检测以及基于该检测对数据分组的二进制“经历拥塞”标记可能噪声极大,并可能易于摆动。这可能导致使用显式拥塞通知的基于极不稳定的编解码器适配的网络拥塞控制。频繁和不必要的适配可能对用户感知的质量具有负面影响。此处公开的实施例提供了 用于在接收终端接收到标记为“经历拥塞”的数据分组 或未标记数据分组时在通信系统中进行速率适配的系统和方法。根据所公开的实施例,通过标记分组的传输,指示检测到拥塞,并且通过未标记分组的传输,指示拥塞清除。基于检测到标记或未标记分组,数据分组的接收方基于网络提供的或在接收方配置的序列,来确定速率降低或增加。如果确定需要速率适配,接收方可以向发送方发送编解码器速率改变请求以及所确定的速率。此处公开的实施例特别适于使用UMTS陆地无线接入网(UTRAN)或演进UTRAN(E-UTRAN)中的二进制“经历拥塞”标记的基于显式拥塞通知的编解码器适配机制。对于长期演进(LTE),关于编解码器速率适配的相关规范是3GPP TS 26. 114,其指定了基于IP多媒体子系统的多媒体电话服务(MTSI)。说明性实施例还适用于其他通信系统以及无线或固定网络。首先转向图1,根据说明性实施例描述了无线通信系统。无线通信系统100包括无线网络102。无线网络102可以包括形成多个网络之一的单个网络或多个网络。无线网络102经由在用户设备104、106和108以及无线网络102之间建立的无线通信信道110、112和114提供用户设备104、106和108的无线通信。如以下将更详细地讨论的,用户设备104,106和108的示例包括移动无线通信设备,所述移动无线通信设备包括寻呼机、蜂窝电话、蜂窝智能电话、无线组织器、个人数字助理、计算机、膝上电脑、手持无线通信设备、具有无线能力的笔记本计算机等。虽然图I中的示例仅示出了三个用户设备104、106和108,无线网络102可以支持使用更多数目的各种不同类型的用户设备。在用户设备104、106和108以及无线网络102的各个节点116、118和120之间动态建立无线通信信道110、112和114。例如,可以在向用户设备104、106和108之一或从用户设备104、106和108之一发起呼叫时建立信道110、112和114。在呼叫设立时建立通信信道110、112和114的特定特性。例如,这样的特性可以包括通信信道110、112或114在呼叫期间所要使用的编解码器。例如,可以基于诸如呼叫设置时用户设备104、106和108以及网络102的节点116、118或120中对应节点之间的信号强度或信号质量等因素,来选择所要使用的编解码器。虽然图I中的示例仅示出了三个节点116、118和120,无线网络102可以包括更多这样的节点。
网络102进行操作,以使用网络节点116、118和120在用户设备104、106和108间传输数据分组。网络102还可以进行操作,以在用户设备104、106和108以及其他网络(如,传输的公共电话交换网(PSTN) 122、或者其他公共或私有网络124(如,互联网))间传输数据分组。这样向其他网络122和124以及从其他网络122和124传输数据分组还使用网络节点116、118和120。随着通过节点116、118和120中一个或多个节点的数据分组业务的增加,可能超出网络102处理并及时向用户设备104、106和108以及从用户设备104、106和108传输分组的能力。在该情况下,称网络102或者一个或多个网络节点116、118或120拥塞。此处公开的实施例提供了用于在发生这样的网络拥塞时智能并更有效地进行响应的改进的系统和方法。下面参照图2,示出了可以实现说明性实施例的无线网络102的实现的框图。无线网络102可以是例如通用移动电信系统(UMTS)陆地无线接入网(UTRAN)。然而,可以在其他类似或不同的通信网络(如,使用长期演进(LTE)技术的无线网络)中实现说明性实施例。还可以在根据通用分组无线服务(GPRS)和全球移动系统(GSM)技术配置的无线网络 中实现说明性实施例。无线网络102包括节点202。在该示例中,节点202是图I的节点116,118或120之一的示例。如上所述,实践中,无线网络包括一个或多个节点202。例如,节点202可以作为UMTS陆地无线接入网中的节点B或作为长期演进网络中的演进节点B(eNodeB)来实现。节点202可称为基站收发机站。节点202包括耦接至一个或多个天线207的射频发射机204和接收机206。发射机204和接收机206由节点202用于经由无线通信信道110与移动设备(如,用户设备104)直接通信。节点202为特定覆盖区域(通称“小区”)提供无线网络覆盖。节点202还包括一个或多个处理系统208 (如,计算机数据处理系统),用于实现节点202提供的功能。节点202耦接至无线网络控制器210,并由无线网络控制器210控制。根据说明性实施例,多个节点202可以耦接至无线网络控制器210。无线网络控制器210负责控制与其连接的所有节点202。无线网络控制器210执行无线资源管理,如,对无线信道的管理以及某些移动性管理功能。无线网络控制器210可以是在向用户设备104发送用户数据和从用户设备104发送用户数据前进行加密的点。无线网络控制器210连接至核心网212。多个无线网络控制器210可以耦接至核心网212。核心网212的主要功能是提供数据分组在网络102上的用户设备之间以及在网络102上的用户设备和其他网络(如,公共电话交换网122以及其他公共或私有网络(如,互联网))上的用户之间的路由。可以由媒体网关和服务通用分组无线服务(GPRS)支持节点(SGSN)实现UMTS网络中核心网212所提供的功能。媒体网关是在全异电信网络间转换数字媒体流的转换设备或服务。媒体网关使基于多个传输协议(如,异步转移模式(ATM)和互联网协议(IP))的跨网络多媒体通信成为可能。SGSN负责在其地理服务区内从移动用户设备和向移动用户设备传送数据分组。其任务可以包括分组路由和传输、移动性管理、逻辑链路管理、以及认证和计费功能。在长期演进(LTE)网络中,可由例如移动性管理实体(MME)、服务网关(SGW)和分组数据网络(PDN)网关(PGW)在核心网212中提供类似的功能。参照图2给出的组件列表并非意味着无线网络组件的穷尽列表,而是在通过无线网络102的通信中常用的组件的列表。用户设备104是具有高级数据通信能力的双向通信设备,包括如上所述通过收发机站或节点的网络与其他用户设备或计算机系统通信的能力。用户设备104也可以具有允许语音通信的能力。根据用户设备104提供的功能,可以将其称为数据消息收发设备、双向寻呼机、具有数据消息收发能力的蜂窝电话、无线互联网设备或者数据通信设备(具有或不具有电话功能)。图3所示的是用户设备300的说明性实施例的框图。在该示例中,用户设备300是图I和图2中用户设备102的示例。用户设备300包括若干组件,如控制用户设备300总体操作的主处理器302。通信功能(包括数据和语音通信)通过通信子系统304来执行。如上所述,通信子系统304从无线网络102接收消息,并向无线网络102发送消息。在用户设备300的该说明性实施例中,可以根据使用UMTS陆地无线接入网(UTRAN)的通用移动电信系统(UMTS)技术或使用演进UTRAN (E-UTRAN)的长期演进(LTE)技术来配置通信子系统304。可选地,可以根据全球移动通信系统(GSM)或通用分组无线服务(GPRS)标准来配置通 信子系统304。新的标准仍在制定中,但是相信它们将与此处描述的网络行为具有相似性,本领域技术人员还将理解,此处描述的实施例预期使用将来开发的任何其他合适的标准。连接通信子系统304与无线网络102的无线链路表示根据针对所采用的特定通信技术而指定的定义协议来操作的一个或多个不同的射频(RF)信道。采用更新的网络协议,这些信道能够支持电路交换语音通信和分组交换数据通信。在各种实现中,其他无线网络也可与用户设备300相关联。例如,可以采用的不同类型的无线网络包括以数据为中心的无线网络、以语音为中心的无线网络、以及能够通过相同物理基站支持语音和数据通信的双模网络。组合的双模网络包括但不限于码分多址(CDMA)或CDMA2000网络、上述GSM/GPRS网络、第三代(3G)网络(如EDGE和UMTS)、以及长期演进(LTE)网络。以数据为中心的网络的一些其他示例包括WiFi802. IUMobitex(TM)和数据TAC(TM)网络通信系统。其他以语音为中心的数据网络的示例包括个人通信系统(PCS)网络,如,GSM和时分多址(TDMA)系统。主处理器302还与附加子系统交互,如随机存取存储器(RAM) 306、闪存308、显示 器310、辅助输入/输出(I/O)子系统312、数据端口 314、键盘316、扬声器318、麦克风320、短程通信系统322和其他设备子系统324。用户设备300的一些子系统执行与通信相关的功能,而其他子系统可以提供“驻留”或设备上的功能。例如,显示器310和键盘316可以用于通信相关的功能(如,输入文本消息以通过网络102发送)和设备驻留功能(如,计算器或任务列表)。在已完成所需网络注册或激活过程后,用户设备300通过无线网络102来发送和接收通信信号。网络接入与用户设备300的订户或用户相关联。为了识别订户,用户设备300需要订户身份模块(SIM)或可移除用户身份模块(RUIM)卡326,所述可移除用户身份模块(RUM)卡326要插入SM/RU頂接口 328以与网络通信。SM或RUM卡326是能够用于识别用户设备300的订户并用于使用户设备300个人化等的一种传统“智能卡”。SIM或RUIM卡326包括处理器和用于存储信息的存储器。在没有卡326的情况下,用户设备300不能完全操作用于与无线网络102通信。通过将SM或RUM 326插入SM/RUM接口 328,订户能够访问所有订制服务。服务可以包括:web浏览和消息收发(如,电子邮件、语音邮件、短消息服务(SMS)、以及多媒体消息收发服务(SMS))。更高级的服务可以包括销售点、现场服务、以及销售队伍自动化。一旦将SM或RUM326插入SM/RU頂接口 328,SM或RUM 326将耦合至主处理器302。为了识别订户,SM或RUM卡326可以包括用户参数,如,国际移动订户身份(MSI)。使用SM或RUIM卡326的优势在于订户不必受任何单个物理用户设备的束缚。SM或RUM卡326可以还存储用户设备的附加订户信息,包括记事簿或日历信息、最近呼叫信息。可选地,用户标识信息可以被编入闪存308。用户设备300是电池供电的设备,并包括用于接纳一个或多个可充电电池330的电池接口 332。在至少一些实施例中,电池330可以是具有嵌入式微处理器的智能电池。电池接口 332耦合至调节器(未示出),该调节器辅助电池330向移动设备100供电V+。尽管当前技术利用电池330,但是未来的技术(如微燃料电池)也可以向用户设备300供电。用户设备300还包括操作系统334和其他程序336。以下将更详细对程序336进行描述。操作系统334和程序336可以被实现为由主处理器302运行的软件组件。操作系 统334和程序336典型地被存储为处理器(如,主处理器302)可读的介质上的程序代码。这样的可读存储介质可以包括永久性存储器设备(如,闪存308),永久性存储器设备可选地可以是只读存储器(ROM)或类似的存储元件。本领域技术人员将意识到,操作系统334的部分和程序336 (如指定设备应用)或其部分可以临时加载至易失性存储器(如RAM 306的)中。如本领域技术人员公知的,还可以包括其他软件组件。控制基本设备操作的程序336 (包括数据和语音通信应用)通常将在用户设备300的制造期间被安装在用户设备300。其他程序336包括消息应用338。消息应用338可以是任何合适的软件程序,允许用户设备300的用户发送和接收电子消息。如本领域技术人员公知的,对于消息应用338,存在各种替代方案。用户已发送或接收的消息典型地存储在用户设备300的闪存308或者用户设备300中某些其他合适的存储元件中。在至少一些实施例中,发送和接收消息中的一些消息可以远离用户设备300存储,如,存储在用户设备300与之通信的相关主机系统的数据存储器中。程序336还可以包括设备状态模块340、设备状态模块140、个人信息管理器(PIM) 342、以及其他适当的模块。设备状态模块340提供永久性,即设备状态模块340确保将重要设备数据存储在永久存储器(如闪存308)中,使得当用户设备300关闭或掉电时,数据不发生丢失。PIM 342包括用于组织和管理用户感兴趣的数据项的功能,数据项例如但不限于电子邮件、文本消息、联系人、日历事件、语音邮件、约会、以及任务项。PIM应用具有经由无线网络102发送和接收数据项的能力。PM数据项目可以经由无线网络102与主机计算机系统存储的或与主机计算机系统相关联的、用户设备订户的相应数据项目无缝地集成、同步和更新。该功能在用户设备300上关于上述项目创建镜像主机。当主机计算机系统是用户设备订户的办公室计算机系统时,该方法可能特别有优势。用户设备300还包括连接模块344和IT策略模块346。连接模块344实现用户设备300与该用户设备300被授权接口连接的无线基础设施和任何主机系统(如,企业系统)进行通信所需的通信协议。连接模块344包括API的集合,可以将API的集合与用户设备300集成,以允许用户设备300使用与企业系统相关联的任意数量的服务。连接模块344允许用户设备300与主机系统建立端到端安全的、经认证的通信管道。可以使用应用的子集将IT策略命令从主机系统传递至用户设备300,对该应用子集的访问由连接模块344提供。IT策略命令的传递可以以无线或有线方式进行。然后,可以将这些指令传递到IT策略模块346,以修改用户设备300的配置。在某些情形下,备选地,IT策略更新也可以通过有线连接进行。IT策略模块346接收对IT策略进行编码的IT策略数据。然后,IT策略模块346确保用户设备300对IT策略数据进行认证。然后,可以将IT策略数据以其原生(native)形式存储在闪存306中。在存储IT策略数据后,IT策略模块34 6能够向驻留在用户设备300上的所有应用发送全局通知。然后,IT策略可适用于的应用通过读取IT策略数据来寻找可应用的IT策略规则,进行响应。在已对可应用应用或配置文件应用了 IT策略规则后,IT策略模块346向主机系统发回确认,以指示接收到并成功应用了 IT策略数据。根据所公开的实施例,如将于以下更详细地描述的那样,拥塞响应模块348可以被提供为响应于接收到标记为“经历拥塞”的分组或未标记分组,使用网络102提供的或在用户设备300上配置的一个或多个速率适配序列,来适配用户设备300的比特率。拥塞响应模块348可以包括一个或多个独立模块,或者可以被整体或部分地实现为另一模块(如,连接模块344)的一部分。也可以在用户设备300上安装其它类型的程序或软件应用。这些软件应用可以是在用户设备300制造完成后添加的第三方应用。第三方应用的示例包括游戏、计算器、实用工具等。可以通过无线网络102、辅助I/O子系统312、数据端口 314、短程通信子系统322或任何其他合适的设备子系统324将附加应用加载到用户设备300上。应用安装的这种灵活性增加了用户设备300的功能,并且可以提供增强型在设备上功能、通信相关功能或同时提供两种功能。例如,安全通信应用可以使得能够使用用户设备300来执行电子商业功能和其他这样的金融交易。数据端口 314使订户能够通过外部设备或软件应用设置偏好,并在不通过无线通信网络的情况下,通过向用户设备300提供信息或软件下载来扩展用户设备300的能力。例如,可以使用备选的下载路径,通过直接从而可靠和可信的连接将加密密钥加载到用户设备300上,以提供安全的设备通信。数据端口 314可以是使用户设备300和另一计算设备能够进行数据通信的任意合适的端口。数据端口 314可以是串口或并口。在一些实例中,数据端口 314可以是USB端口,包括用于数据传输的数据线,以及可以提供充电电流以对用户设备300的电池330充电的电源线。短程通信子系统322在不使用无线网络102的情况下提供用户设备300与不同系统或设备之间的通信。例如,子系统322可以包括用于短程通信的红外设备以及相关联的电路和组件。短程通信标准的示例包括红外数据协会(IrDA)所开发的标准、蓝牙、以及IEEE所开发的802. 11系列标准。例如,短程通信可以包括但不限于2. 4GHz频段或5. SGHz频段内的射频信号。在使用中,接收到的信号(如,文本消息、电子邮件消息或网页下载)将由通信子系统304处理并输入到主处理器302。然后,主处理器302将处理接收到的信号以输出到显示器310,或备选地输出到辅助I/O子系统312。订户也可以对数据项目(如,电子邮件消息)进行编辑,例如,使用键盘316结合显示器310以及可能的辅助I/O子系统312来进行编辑。辅助子系统312可以包括如下设备触摸屏、鼠标、轨迹球、红外指纹检测器、或具有动态按键能力的滚动轮等。优选地,键盘316是字母数字键盘或电话型键区。然而,也可以使用其它类型的键盘。可以通过无线网络102经由通信子系统304来传输编辑后的项目。对于语音通信,除了将接收到的信号输出到扬声器318,以及用麦克风320产生用于发送的信号外,用户设备300的总体操作实质上是类似的。还可以在用户设备300上实现备选的语音或音频I/O子系统(如,语音消息记录子系统)。虽然语音或音频信号输出主要通过扬声器318实现,也可以使用显示器310来提供附加信息,如,主叫方的身份、语音呼叫的持续时间、或其它与语音呼叫有关的信息。下面参照图4,示出了图3的用户设备300的通信子系统组件304的框图。通信子系统304包括接收机450和发射机452及相关组件(如,一个或多个嵌入或内置的天线元 件454和456、本地振荡器(LO) 458);以及处理模块(如,数字信号处理器(DSP) 460)。通信子系统304的具体设计和实现取决于用户设备300与其一起操作的通信网络102。因此,应理解图4中所示的设计仅仅充当一个示例。将天线454通过无线网络102接收到的信号输入到接收机450,接收机450可执行如信号放大、下变频、滤波、信道选择和模数(A/D)转换等常见的接收机功能。对接收信号的A/D转换允许在DSP 460中执行更复杂的通信功能,如,解调和解码。以相似的方式,DSP 460对要发送的信号进行处理,例如包括调制和编码。这些DSP处理后的信号被输入发射机452以进行数模(D/A)转换、上变频、滤波、放大并经由天线456在无线网络102上发送。DSP 460不仅处理通信信号,还提供接收机和发射机控制。例如,通过在DSP 460中实现的自动增益控制算法,可以对施加到接收机450和发射机452中的通信信号的增益进行自适应控制。用户设备300和无线网络102间的无线链路可以包含一个或多个不同的信道(典型地,不同的RF信道),以及在用户设备300和无线网络102间使用的相关协议。RF信道是必须节约的有限的资源,通常这是由于总带宽的限制和用户设备300的有限的电池功率。当用户设备300完全操作时,通常仅当发射机452向无线网络102发送时才激活或开启发射机452,否则关闭发射机452以节约资源。类似地,周期性地关闭接收机450以节约功率,直至需要在指定时段期间接收信号或信息为止。所公开的实施例中的一个或多个适用于以上关于图1-4描述的通信类型和标准以外的通信类型和标准。例如,非限制性地,可以使用先进LTE来实现不同的说明性实施例。此外,所示的无线网络可以采取4G网络的形式或包括4G网络。下面转向图5,根据说明性实施例示出了数据处理系统500的图。在该示例中,数据处理系统500是图2中节点202中处理系统208的实现示例。数据处理系统500或其部分还可用于实现如图3所示的用户设备300的一个或多个功能。在该说明性示例中,数据处理系统500包括通信结构502,在处理器单元504、存储器506、永久性存储器508、通信单元510、输入/输出(I/O单元512和显示器514间提供通信。处理器单元504服务用于执行可以加载至存储器506中的软件的指令。根据具体实现,处理器单元504可以是一个或多个处理器的集合,或者可以是多处理器核。此外,可以使用一个或多个异类处理器系统来实现处理器单元504,其中,主处理器与辅处理器一起存在于单个芯片上。作为另一说明性示例,处理器单元504可以是包含多个相同类型处理器的对称多处理器系统。存储器506和永久性存储器508是存储设备516的示例。存储设备是能够临时和/或永久地存储信息(例如,非限制性地,数据、函数形式的程序代码、和/或其他适当信息)的任意硬件。这这些示例中存储器506可以是例如随机存取存储器、或者任何其他适当的易失性或非易失性存储设备.根据具体实现,永久性存储器508可以采取各种形式。例如,永久性存储器508可以包含一个或多个组件或设备。例如,永久性存储器508可以是硬盘驱动器、闪存、可重写光盘、可重写磁带、或以上的某种组合。永久性存储器508所使用的介质可以是可移除的。例如,可以将可移除硬盘用于永久性存储器508。在这些示例中,通信单元510提供与其他数据处理系统或设备的通信。在这些示例中,通信单元510是网络接口卡。通信单元510可以通过使用物理和无线通信链路之一 或两者来提供通信。输入/输出单元512允许从可连接数据处理系统500的其他设备输入数据以及向其他设备输入数据。例如,输入/输出单元512可以为通过键盘、鼠标和/或某些其他适当的输入设备的用户输入提供连接。此外,输入/输出单元512可以向打印机发送输出。显示器514提供向用户显示信息的机制。操作系统、应用和/或程序的指令可以位于存储设备516中,存储设备516通过通信结构502与处理器单元504通信。在这些说明性示例中,指令以函数形式位于永久性存储器508上。这些指令可以加载至存储器506中,以被处理器单元504运行。处理器单元504可以使用计算机执行的指令来执行不同实施例的处理,所述计算机执行的指令可以位于存储器(如,存储器506)中。这些指令被称为程序代码、计算机可用程序代码、或计算机可读程序代码,可由处理器单元504中的处理器读取并运行。在不同的实施例中,程序代码可以实现在不同的物理或计算机可读存储介质(如,存储器506或永久性存储器508)上。程序代码518以函数形式位于选择性地可移除的计算机可读介质520中,并且可以被加载在数据处理系统500或传输至数据处理系统500以被处理器单元504运行。程序代码518和计算机可读介质520形成计算机程序产品522。在一个示例中,计算机可读介质520可以是计算机可读存储介质524或计算机可读信号介质526。例如,计算机可读存储介质524可以包括插入或放入驱动器中的光盘或磁盘;或者用于在存储设备上传输的、作为永久性存储器508的一部分的其他设备(如,作为永久性存储器508的一部分的硬盘驱动器)。计算机可读存储介质524还可以采取永久性存储器(如,连接至数据处理系统500的硬盘驱动器、指状储存器或闪存)的形式。在某些实例中,计算机可读存储介质524也许不能从数据处理系统500移除。可选地,可以使用计算机可读信号介质526将程序代码518传输至数据处理系统500。计算机可读信号介质526可以是例如包含程序代码518的传播数据信号。例如,计算机可读信号介质526可以是电磁信号、光信号、和/或任何其他适当类型的信号。这些信号可通过通信链路(如,无线通信链路、光纤电缆、同轴电缆、有线和/或其他适当类型的通信链路)发送。换言之,在说明性示例中,通信链路和/或连接可以是物理的或无线的。
在一些说明性实施例中,程序代码518可以通过网络从另一设备或数据处理系统经由计算机可读信号介质526下载至永久性存储器508,以在数据处理系统500中使用。例如,存储在服务器数据处理系统中的计算机可读存储介质中的程序代码可以通过网络从服务器下载至数据处理系统500。提供程序代码518的数据处理系统可以是服务器计算机、客户端计算机、或者能够存储并发送程序代码518的某些其他设备。针对数据处理系统500示出的不同组件并非意在提供对可以实现不同实施例的方式的架构限制。除了或者取代针对数据处理系统500示出的组件,不同的说明性实施例还可以在包括其他组件在内的数据处理系统中实现。图5中示出的其他组件可以不同于所示的说明性示例。可以使用能够执行程序代码的任何硬件设备或系统来实现不同的实施例。作为一个示例,数据处理系统500可以包括与无机组件集成的有机组件和/或可以整个由不包括人的有机组件组成。例如,存储设备可由有机半导体组成。作为另一示例,数据处理系统500中的存储设备是可以存储数据的任何硬件装置。存储器506、永久性存储器508和计算机可读介质520是有形形式的存储设备的示例。 在另一示例中,总线系统可用于实现通信结构502,并且总线系统可由一个或多个总线(如,系统总线或输入/输出总线)组成。当然,可以使用在附接至总线系统的不同组件或设备间提供数据传输的任何适当类型的架构来实现总线系统。此外,通信单元510可以包括用于发送和接收数据的一个或多个设备,如,调制解调器或网络适配器。此外,存储器可以是例如存储器506或者诸如在可能存在于通信结构502中的接口和存储器控制器找到的高速缓存。图1-5中硬件组件的示意并非意在暗示对可以实现不同说明性实施例的方式的物理或架构限制。除了或取代所示组件,还可以使用其他组件。在某些说明性实施例中,某些组件可能是非必要的。此外,框被呈现为示意一些功能组件。当在不同的说明性实施例中实现时,这些框中的一个或多个可以被组合或者被划分为不同的框。下面转向图6,根据说明性实施例描述示出了通信环境600的框图。图I的通信网络100是图6的通信环境600的一个实现的示例。通信环境600包括与用户设备604相关联的一个或多个网络602。图I中的无线网络102是图6中的网络602的一个实现的示例。图I中的用户设备104和图3中的用户设备300是图6中用户设备604的不例。如以上讨论的,用户设备604可以包括各种设备,如,包括寻呼机、蜂窝电话、蜂窝智能电话、无线组织器、个人数字助理、计算机、膝上电脑、手持无线通信设备、具有无线能力的笔记本计算机等的移动无线通信设备。在操作中,用户设备604按上述方式经由无线通信信道605与网络602通信。因此,网络602和用户设备604经由无线信道605交换数据分组。网络602包括一个或多个网络节点606。图2的无线网络节点202是图6的节点606的一个示例。如上所述,节点606可以包括基站收发机站。一般地,节点606可以包括任何装置、设备、设备组或者当数据分组通过网络602时发送、接收或以其他方式处理数据分组的功能。因此,如上所述,节点606可以自身包括用户设备,用户设备是网络602的一部分或与网络602通信。根据说明性实施例,节点606包括用于执行拥塞检测608功能的模块。可以使用目前已知的或变为已知的任何用于检测网络602上的拥塞的系统或方法来实现该功能。优选地,拥塞检测608可以包括不断估计节点606处或网络602中可能影响网络602对要运送至用户设备604或从用户设备604接收的数据分组的处理的任意其他位置处的拥塞等级。当拥塞的当前等级大于所选阈值时,可以认为检测到拥塞。当拥塞的当前等级小于所选阈值时,未检测到拥塞。节点606或另一网络单元内的拥塞估计可以是以多种不同测量(信号功率、干扰的无线相关测量或其他无线相关测量中的一个或多个;以及诸如要在节点606中处理的排队数据的量、排队延迟或其他测量等其他测量)作为输入的组合测度。可以使用对拥塞估计或对确定是否认为检测到拥塞的修改。这样的修改可以包括对拥塞估计进行滤波、对拥塞阈值应用迟滞或其他修改中的一个或多个。拥塞估计方法以及针对拥塞检测608采用的所选阈值可以根据执行拥塞检测608或要确定拥 塞的具体网络节点606或其他单元而变化。根据说明性实施例,网络节点606包括用于执行数据分组标记610功能的模块。数据分组标记610包括标记要发送至用户设备604的数据分组。如果认为检测到拥塞,就以指示“经历拥塞”的标记来标记数据分组。如果未检测到拥塞,不标记数据分组。指示“经历拥塞”的分组标记可以包括使用当前使用的或针对显式拥塞通知提出的标记。这样的标记包括将分组的互联网协议(IP)首部中的两个比特标记为‘11’。根据要发送的数据和分组的类型,根据说明性实施例的将分组标记为“经历拥塞”可以采用其他标记机制,并且可以包括在首部和/或数据分组的其他部分进行标记。节点606包括用于以常规方式经由无线通信信道605向用户设备604发送数据分组612 (包括标记的和未标记的分组)的结构和功能。类似地,用户设备604包括以常规方式接收从网络602发送的数据分组618的结构和功能。根据说明性实施例,可以以一个或多个可适配编解码器速率620在网络602和用户设备604间传输数据分组。根据说明性实施例,发送方(如,节点606)和接收方(如,用户设备604)被构造或适配和配置为支持多个编解码器速率620。多个编解码器速率620还可称为模式集合。多个编解码器速率620的示例包括4. 75kbps,7. 4kbps、12. 2kbps等自适应多速率编解码器速率。根据说明性实施例,用户设备604包括拥塞响应模块622。可以用软件、固件等(如,运行在主处理器或用户设备604中提供的另一处理器上的软件)实现拥塞响应模块622的功能。拥塞响应模块622的功能包括检测用户设备604接收的标记的数据分组624的功能;以及响应于检测到的用户设备604接收的标记的和未标记的数据分组来执行编解码器速率适配序列626的功能。如将于以下更详细地讨论的,编解码器速率适配序列626可以包括编解码器速率降低序列628和编解码器速率增加序列630。根据说明性实施例,当不存在拥塞时,并且没有任何与显式拥塞通知无关的约束,假设发送方使用在发送方和接收方之间建立的模式集合中的最高编解码器速率。当接收方(如,用户设备604)接收到标记为“经历拥塞”(指示网络602中的拥塞)的分组时,接收方决定适配为模式集合中的哪个较低速率编解码器。该响应于拥塞的速率适配由编解码器速率降低序列628限定。当拥塞清除时,接收机将接收并检测到未标记的数据分组。如果一个或多个较高编解码器速率可用,接收机决定适配为哪个较高速率编解码器或保持在当前编解码器速率。该响应于清除拥塞的速率适配由编解码器速率增加序列630限定。编解码器速率适配序列626 (包括编解码器速率降低序列628和编解码器速率增加序列630)可以包括由网络602提供的系统级配置参数。网络提供的编解码器速率适配序列626可以是静态的或动态的。例如,编解码器速率适配序列626参数可以静态地存储在作为网络602的一部分的家庭订户系统(HSS)中。可选地,可以例如根据预期的拥塞和处理要求和能力,在网络602上的分组数据网络(PDN)网关(PGW)处动态确定编解码器速率适配序列626参数。来自网络602的编解码器速率适配序列626可以存储在网络发送方和接收方端点(如,用户设备604)中,作为给定用户设备604的已知参数。编解码器速率适配序列626可以在附接或跟踪区域更新(TAU)/路由区域更新(RAU)/位置区域更新(LAU)响应上被发送至端点。对于静态的编解码器速率适配序列626,针对一个呼叫或多个呼叫,可以仅向端点发送一次序列参数。编解码器速率适配序列626参数可以经由系统消息从网络602传送至接收终端(如,用户设备604)。例如,可以使用用户设备附接、用户设备服务请求和切换过程将编解码器速率适配序列626参数传送至用户设备604。
作为网络602提供的速率适配序列626的备选或者除了网络602提供的速率适配序列626,还可以为端点发送方和接收方(如,用户设备604)配置优选编解码器速率适配序列626。在该情况下,端点可以按照此处描述的方式根据配置来适配编解码器速率。如果配置了编解码器速率适配序列626的接收方(如,用户设备604)还从网络602接收到编解码器速率适配序列626,可以进行操作确定,以确定来自网络602或在接收方604配置的两个编解码器速率适配序列626中的哪一个将取得优先。在该情况下,网络602可以向接收方604通知该优先,或者可以在接收方604配置该优先。在接收方604配置的编解码器速率适配序列626中的一个或多个或者优先信息可由开放移动联盟(OMA)设备管理(DM)对象根据操作策略提供。如果编解码器速率适配序列626 (如,编解码器速率降低序列628或编解码器速率增加序列630)未被网络602指定或未在用户设备604上配置,可以使用缺省的编解码器速率适配序列626。缺省的编解码器速率适配序列626可以遵循呼叫设立时在用户设备604和网络602协商的编解码器集合中编解码器速率的顺序。例如,如果协商的编解码器速率集合是(4. 75kbps,7. 4kbps、12. 2kbps),则缺省的编解码器速率降低序列628可以是(12. 2kbp、7. 4kbps,4. 75kbps),并且缺省的编解码器速率增加序列630可以是(4. 75kbps、
7.4kbps、12. 2kbps)。编解码器速率适配序列626的编解码器速率参数值可以被指示为标量值。例如,编解码器速率适配序列626速率参数值1、2和3可以分别指示对应的模式集合比特率
4.75kbps、7. 4kbps和12. 2kbps。可选地,编解码器速率适配序列626可以直接指示用于适配的实际编解码器速率。编解码器速率降低序列628和编解码器速率增加序列630对于各自的速率适配序列可以使用相同的但反向或反序的速率集合。例如,如果编解码器速率增加序列630使用序列(4. 75kbps,7. 4kbps、12. 2kbps)来响应于拥塞清除增加编解码器速率,则编解码器速率降低序列628可以使用序列(12. 2kbps,7. 4kbps,4. 75kbps)来响应于拥塞检测降低编解码器速率。可选地,针对编解码器速率降低序列628和编解码器速率增加序列630可以配置两个不同的速率集合,一个速率集合用于响应于检测到拥塞降低编解码器速率,另一个编解码器速率的集合用于响应于拥塞清除增加编解码器速率。例如,编解码器速率降低序列628可以是(12. 2kbps,4. 75kbps),编解码器速率增加序列630为(4. 75kbps,7. 4kbps、
12.2kbps)。在该示例中,当检测到拥塞时,速率在一步中从12. 2kbps降低至4. 75kbps。然而,当拥塞清除时,编解码器速率在两步中从4. 75kbps增加至7. 4kbps并从7. 5kbps增加至 12. 2kbpsο根据说明性实施例,如果接收终端(如,用户设备604)接收到标记为“经历拥塞”的数据分组,则编解码器速率在协商或指定的编解码器速率的集合内降低一步,或者根据编解码器速率降低序列628降低一步。编解码器速率降低可由用户设备604通过产生并向节点606发送适当的编解码器速率改变请求648来实现。此时,启动在用户设备604中提供的编解码器速率降低抑制定时器632。当编解码器速率降低抑制定时器632正在运行时,将不会进一步降低编解码器速率,即使在此期间接收到另一标记的数据分组也是如此。此处,编解码器速率降低抑制定时器632启动后运行的时间长度被称为编解码器 速率降低抑制时间634。优选地,编解码器速率降低抑制时间634应被设置为比两个通信端点间(如,节点606和用户设备604间)的往返时间加上某一附加观测时间长的值。因此,速率降低抑制时间634的设置应允许足够的时间,以便接收方从发送方请求降低的编解码器速率,发送方切换至降低的速率,以及接着经历拥塞并将数据分组标记为“经历拥塞”的网络单元(如,节点606)观测到拥塞已被清除并停止标记分组。根据说明性实施例,可以将任何适当或期望的时间长度用于编解码器速率降低抑制时间634。根据说明性实施例,编解码器速率降低抑制时间634可以是可配置的636或固定的638。编解码器速率降低抑制时间634可由网络602(如,经由非接入层(NAS)或呼叫设立消息)动态提供。如果速率降低未缓解网络602上的拥塞,节点606可以继续标记数据分组,以触发编解码器速率的进一步降低。如果接收终端在编解码器速率降低抑制定时器632超时后接收到标记为“经历拥塞”的数据分组,如果当前编解码器速率不是模式集合中最低的编解码器速率,接收终端可以诸如根据编解码器速率降低序列628,发起次低的速率编解码器适配。如果网络602上的拥塞情形在网络602 (通过将数据分组标记为“经历拥塞”以向接收机指示发起编解码器速率降低以进行拥塞控制)触发了编解码器速率降低一段时间后尚未改善,则网络602可以确定必须向接收方通知需要继续的编解码器速率降低。网络602可以通过向接收方发送与编解码器速率适配继续有关的特定通知,向接收方(如,用户设备604)通知需要继续的编解码器速率降低。因此,根据说明性实施例,节点606可以包括提供编解码器速率适配继续通知614的模块或功能。当接收到编解码器速率适配继续通知时,如果当前编解码器速率不是最低的编解码器速率,接收方(如,用户设备604)可以适配至次低的速率编解码器速率。在某些特殊情形下(如,当网络602严重拥塞时),编解码器速率适配继续通知可以向接收方通知立即发起最低的编解码器速率。因此,网络602(如,节点606)例如经由广播或到网络端点(如,用户设备604)的特定消息发送的编解码器速率适配继续通知消息可以包括编解码器速率适配继续通知型指示符,该指示符可以取两值之一,以指示编解码器速率适配至次低的编解码器速率还是编解码器速率适配至最低的编解码器速率。除了向接收方(如,用户设备604)发送编解码器速率适配继续通知以使接收方向发送方(如,节点606)发起继续的编解码器速率降低之外,网络602可以直接向发送方(如,节点606)发送编解码器速率适配继续通知。如此,可以直接向发送方通知降低发送编解码器速率,而无需从接收方发起。在某些情况下,这可以使拥塞控制加速。根据说明性实施例,使用编解码器速率适配继续通知来减轻拥塞可以与如上所述的使用对数据分组的“经历拥塞”标记的用于拥塞减轻的编解码器速率适配兼用或专用。在根据说明性实施例的继续的编解码器速率适配不足以清除拥塞情形的情况下,网络602可以采用其他类型的拥塞控制机制,如,丢弃分组或服务。根据说明性实施例,当编解码器速率响应于用户设备604接收到标记为“经历拥塞”的数据分组而降低时,可以启动在用户设备604中提供的编解码器速率增加定时器640。编解码器速率增加定时器640适于对编解码器速率增加时间642计时。编解码器速率增加时间642典型地可以远长于编解码器速率降低抑制时间634。例如,编解码器速率增加时间642可以被选为10秒或更多。根据说明性实施例,可以将任何其他适当或期望的时 间长度用于编解码器速率增加抑制时间642。对编解码器速率增加时间642使用较长时段是优选的,这是由于在拥塞清除后增加编解码器速率不如及时的编解码器速率降低以进行拥塞控制关键。使用较长的编解码器速率增加时间642还能够降低编解码器适配在编解码器速率降低和增加之间摆动的可能。编解码器速率增加时间642的至少一部分可以是随机的644。在编解码器速率增加时间642中使用随机元素也有助于避免在编解码器速率降低和增加之间摆动,如果网络节点支持的许多用户设备在各自的编解码器速率增加时间同时期满时同时请求编解码器速率增加,可能导致编解码器速率降低和增加之间的摆动。根据说明性实施例,当编解码器速率增加定时器640期满时,编解码器速率可以在协商的编解码器速率的集合内增加一步或根据编解码器速率增加序列630更加一步。编解码器速率增加可由用户设备604通过产生并向节点606发送适当的编解码器速率改变请求648来实现。当编解码器速率增加定时器640运行时接收到被标记为“经历拥塞”的数据分组时,则接收方(如,用户设备604)将以上述方式降低编解码器速率,并且编解码器速率增加定时器640将重新启动646。此外,当编解码器速率增加定时器640期满时,编解码器速率增加定时器640将重新启动646,以允许编解码器速率在编解码器速率增加定时器640期满时再次增加。如此,说明性实施例提供了一种机制,通过该机制,如果不存在任何其他约束,编解码器速率能够逐步回升至其最高值。根据说明性实施例,编解码器速率降低抑制定时器632和编解码器速率增加定时器640可以独立操作。可选地,当编解码器速率降低抑制定时器632运行时可以不重置646编解码器速率增加定时器640。然而,由于编解码器速率降低抑制时间634与编解码器速率增加时间642相比可能极短,两种选项间可能存在极小的性能差异。根据备选的说明性实施例,为了在编解码器速率增加定时器640运行时重新启动解码器速率增加定时器640的目的可以忽略用户设备604接收到的标记为“经历拥塞”的数据分组。在该情况下,当编解码器速率增加定时器640运行时接收到标记分组时,不重新启动编解码器速率增加定时器640。在该备选实施例中,当编解码器速率增加定时器640期满时,用户设备604检查编解码器速率增加定时器640运行时是否接收到标记分组。如果在编解码器速率增加定时器640运行时未接收到标记分组,则可以增加编解码器速率,并且可以重新启动编解码器速率增加定时器640。然而,如果在编解码器速率增加定时器640运行时接收到标记分组,则在不增加编解码器速率的情况下重新启动编解码器速率增加定时器640。在该情况下,可能增加编解码器速率的下一可能时间是编解码器速率增加定时器640下次期满时。与上述无论何时在编解码器速率增加定时器640运行时接收到标记分组都重新启动编解码器速率增加定时器640的方式相比,该备选方式可能更简单。然而,在刚启动编解码器速率增加定时器640就接收到标记分组且在编解码器速率增加定时器640运行时未接收到其他标记分组的情况下,该方式具有使增加编解码器速率的时间几乎加倍的效果,这是由于用户设备604在增加编解码器速率前必须等待几乎两个完整的编解码器速率增加时段。除了在灾难情形下,此处公开的基于显式拥塞通知的用于拥塞控制的编解码器适配对于优先用户或者优先或紧急服务可能是不期望的。因此,根据说明性实施例,用户设备604可以包括提供优先/紧急处理650的适当功能。紧急服务通常通过紧急承载(如,以紧急附接或紧急公共数据网络(TON)连接建立建立的连接)执行。因此,网络602可以不使此处描述的显式拥塞通知用于紧急承载,并且用户设备604的优先/紧急处理650可以包括知晓不在紧急承载上应用此处描述的编 解码器速率适配。根据说明性实施例,在正常操作下,优先/紧急处理650规定将不对优先用户和优先/紧急服务应用此处描述的编解码器速率适配。然而,如果灾难情形发生,可以对系统做出大量同时的服务请求,如,紧急呼叫。根据说明性实施例,如果这样的紧急呼叫的数目超过特定阈值数目或紧急呼叫占所有呼叫的百分比超过阈值百分比,优先/紧急处理650可以提供对这样的紧急呼叫应用此处描述的编解码器速率适配。可以通过网络602在灾难情形发生时在针对紧急服务的分组传送中将数据分组标记为“经历拥塞”并在其他情况下不标记这样的分组,来实现当这样的灾难情形发生时对紧急呼叫的处理。根据说明性实施例,优先/紧急处理650可以规定极特殊用户的极高优先级用户设备604无需按照本地公共陆地移动网络(HPLMN)运营商的策略控制规则和/或授权执行此处描述的编解码器速率降低。可以不允许极高优先级的用户设备忽略访问公共陆地移动网络(VPLMN)运营商的编解码器速率降低。图6的示意并非意在暗示对可以实现不同实施例的方式的物理或架构限制。除了和/或取代所示组件,还可以使用其他组件。在某些实施例中,某些组件可能是非必要的。此外,框被呈现为示意一些功能组件。当在不同的有利实施例中实现时,这些框中的一个或多个可以被组合和/或被划分为不同的框。图7示出了根据说明性实施例的编解码器速率降低的示例。图7中给出的示例示出了当在网络节点内检测到在从网络到用户设备的下行链路方向上的拥塞时根据说明性实施例的编解码器速率降低。起初,以12. 2kbps的速率经由网络804和网络节点706 (如,eNodeB网络节点)向用户设备(UE) 708中的MTSI客户端传送来自发送方对等的IP多媒体子系统的多媒体电话服务(MTSI)客户端702的数据分组。起初未经历拥塞,因此节点706不将数据分组标记为“经历拥塞”(CE)。某些时刻,在节点710中检测到拥塞。响应于检测到拥塞,节点706开始将数据分组标记为“经历拥塞”。用户设备708接收到这样的标记分组。响应于接收到标记分组,用户设备708将编解码器速率降低一步712。用户设备708的编解码器速率降低包括经由节点706和网络704向客户端702发回带有编解码器模式请求(CMR)的分组714,请求速率改变为7. 4kbps。在请求速率改变的同时,用户设备708使编解码器速率降低抑制时间716和编解码器速率增加时间718开始进行。当在节点706中继续检测到拥塞时,继续标记数据分组。然而,只要编解码器速率降低抑制时间716正在进行,用户设备708接收的标记分组将不导致进一步的速率降低。最终,客户端720接收到请求的速率改变,并且速率根据用户设备708的请求降低至7. 4kbps。继续由节点706标记分组,直至最终降低的编解码器速率导致将节点706中的拥塞清除。节点706检测到该拥塞缓解722,并且因此此时停止标记分组。在编解码器速率抑制时间716期望721时,拥塞已被清除,分组未被节点706标记,并且因此用户设备708不发起进一步的编解码器速率降低。图8中示出了根据说明性实施例的编解码器速率增加的示例。图8中给出的示例示出了当未在网络节点内检测到拥塞时在从网络到用户设备的下行链路方向上根据说明性实施例的编解码器速率增加。起初,以5. 9kbps的速率经由网络804和网络节点806 (如,eNodeB网络节点)向用户设备(UE) 808中的MTSI客户端传送来自发送方对等的IP多媒体子系统的多媒体电话服务(MTSI)客户端802的数据分组。未在节点812中检测到拥塞,因此节点806不将数据分组标记为“经历拥塞”(CE)。由于之前的速率降低,编解码器速率增加定时器正在运行814。只要编解码器速率增加定时器正在运行,客户端808就不尝试增加编解码器速率,即使客户端808接收到的数据分组未被标记(指示不存在拥塞)也是如此。最终,编解码器速率增加定时器期满816。响应于编解码器速率增加定时器期满,用户设备808将编解码器速率增加一步818。用户设备808的编解码器速率增加包括经由节点806和网络804向客户端802发回带有编解码器模式请求(CMR)的分组820,请求速率增加至7. 4kbps。在请求速率增加的同时,用户设备808重新启动编解码器速率增加定时器822。最终,客户端802接收来自用户设备808的速率增加请求,并且客户端802根据请求将传输速率增加至7. 4kbps 824。进一步增加的编解码器速率不导致拥塞,从而继续不标记数据分组。最终,重新启动的编解码器速率增加定时器期满826。响应于编解码器速率增加定时器再次期满,用户设备808将编解码器速率增加一步828。用户设备808的该编解码器速率增加包括经由节点806和网络804向客户端802发回带有编解码器模式请求(CMR)的分组830,请求速率增加至12. 2kbps。在请求速率增加的同时,用户设备808重新启动编解码器速率增加定时器832。最终,客户端802接收来自用户设备808的速率增加请求,并且客户端802根据请求将传输速率增加至12. 2kbps 834。进一步增加的编解码器速率不导致拥塞,从而继续不标记数据分组。图9的流程图示出了根据说明性实施例的编解码器速率降低的示例方法900。方法900可以例如在用户设备(如,图3的用户设备300)中实现。优选地连续检查接收到的数据分组,以确定何时检测到标记为“经历拥塞”的分组(步骤902)。将检测到标记分组时,如果可能,降低速率(步骤904)。例如,步骤904可以包括将编解码器速率在协商或指定的编解码器速率的集合内降低一步;或者根据编解码器速率降低序列降低一步。如果编解码器速率已处于最低速率,不可能降低编解码器速率。步骤904可以包括产生并从用户设备向网络发送适当的编解码器速率改变请求。优选地,与步骤904基本同时或同时启动编解码器速率降低抑制定时器(步骤906)。可以按任意顺序执行步骤904和906。直到、编解码器速率降低抑制定时器期满为止,不采取进一步措施来降低速率,即使在此期间接收到另一已标记数据分组也是如此。当确定编解码器速率降低抑制定时器已经期满时(步骤908),方法返回步骤902,以查找指示需要进一步速率降低的已标记数据分组。图10的流程图示出了根据说明性实施例的编解码器速率增加的示例方法100。方法1000可以例如在用户设备(如,图3的用户设备300)中实现。方法1000起始于启动编解码器速率增加定时器(步骤1002)。确定在编解码器速率增加定时器运行期间是否接收到标记为“经历拥塞”的分组(步骤1004)。如果在编解码器速率增加定时器运行期间接收到标记分组,通过返回步骤1002重新启动编解码器速率增加定时器。确定编解码器速率增加定时器何时期满(步骤1006)。当编解码器速率增加时间期满时,确定当前速率是否为最高速率(步骤1008)。如果确定当前速率是最高速率,则进一步的速率增加是不可能的,并且通过返回步骤1002重新启动编解码器速率增加定时器。如果确定当前速率不是最高速率,则增加编解码器速率(步骤1012)。步骤1012可以包括将编解码器速率在协商的编解码器速率的集合中增加一步;或者根据编解码器速率增加序列增加一步。步骤1012可以包括产生并从用户设备发送适当的编解码器速率改变请求。在增加速率后通过返回步骤1002重新启动编解码器速率增加定时器。 图11的流程图示出了根据说明性实施例的编解码器速率增加的另一方法1100的示例。方法1100可以例如在用户设备(如,图3的用户设备300)中实现。方法1100起始于启动编解码器速率增加定时器(步骤1102)。确定编解码器速率增加定时器何时期满(步骤1104)。当确定编解码器速率增加定时器已经期满时,确定在编解码器速率增加定时器计时的速率增加时间期间是否接收到标记为“经历拥塞”的分组(步骤1106)。如果在速率增加时间期间接收到标记分组,通过返回步骤1102重新启动编解码器速率增加定时器。如果在速率增加时间期间未接收到标记分组,确定当前速率是否为最高速率(步骤1108)。如果当前速率是最高速率,速率增加是不可能的,并且通过返回步骤1102重新启动编解码器速率增加定时器。如果当前速率不是最高速率,增加编解码器速率(步骤1112)。步骤1112可以包括将编解码器速率在协商的编解码器速率的集合中增加一步;或者根据编解码器速率增加序列增加一步。步骤1112可以包括产生并从用户设备发送适当的编解码器速率改变请求。在增加速率后通过返回步骤1002重新启动编解码器速率增加定时器。图12的流程图示出了根据说明性实施例的速率适配方法1200的另一示例。根据方法1200,使用显式拥塞通知(ECN)对编解码器速率的适配由编码速率降低抑制时间和编码速率增加时间两个参数控制。可以基于运营商策略例如使用开放移动联盟设备管理(OMA-DM)将这些参数配置于IP多媒体子系统的多媒体电话服务(MTSI)客户端中。如果未配置参数,则可以分别使用200ms和10秒的缺省值。确定支持并已协商了 ECN的终端中的接收MTSI客户端是否在接收到的互联网协议/用户数据报协议/实时传输协议(IP/UDP/RTP)分组中检测到ECN “经历拥塞”(CE)标记(步骤1202)。如果接收到标记分组,确定接收MTSI客户端是否已操作于最低的编解码器速率(步骤1204)。如果MTSI客户端尚未操作于最低的编解码器速率,终端中的接收MTSI客户端将编解码器速率在协商的编解码器速率的集合内降低一个编解码器速率(步骤1206)。终端中的接收MTSI客户端经由RTP有效载荷中的编解码器模式请求(CMR)比特(如果编解码器支持)并且经由临时最大媒体流比特率请求(TMMBR)消息(如果编解码器的RTP有效载荷不支持CMR字段)向发送方通知新的编码速率(步骤1208)。终端中的MTSI客户端以编解码器速率降低抑制时间的值启动编解码器速率降低抑制定时器(步骤1210)。终端中的MTSI客户端以编解码器速率增加时间的值启动编解码器速率增加定时器或者(如果已经定时器开始运行)以编解码器速率增加时间的值重新启动编解码器速率增加定时器(步骤1216)。确定编解码器速率降低抑制定时器是否正在运行(步骤1212)。如果编解码器速率降低抑制定时器正在运行,终端中的接收MTSI客户端将不按接收到的IP/UDP/RTP分组的ECN标记动作O步骤1214)。如果编解码器速率降低抑制定时器期满,终端中的接收MTSI客户端将再次按接收到的IP/M)P/RTP分组的ECN标记动作。确定编解码器速率增加定时器是否期满(步骤1218)。确定在该时段期间是否未接收到ECN-CE标记的IP/UDP/RTP分组(步骤1220)。确定速率是否已处于最高的编解码器速率(步骤1222)。如果编解码器速率定时器期满并且在该时段期间未接收到ECN-CE标记的IP/M)P/RTP分组并且速率尚未处于最高的编解码器速率,终端中的MTSI客户端将编 解码器速率在协商的编解码器速率的集合内增加一个编解码器速率(步骤1224)。终端中的接收MTSI客户端经由RTP有效载荷中的CMR比特(如果编解码器支持)并且经由TMMBR消息(如果编解码器的RTP有效载荷不支持CMR字段)向发送方通知新的编解码器速率(步骤1226)。接着,终端中的接收MTSI客户端以编解码器速率增加时间的值启动编解码器速率增加定时器。不同的图示实施例中的流程图和框图示出了不同说明性实施例中的装置和方法的某些可能实现的架构、功能和操作。就此而言,流程图或框图中的每个框可以表示模块、段、功能、或者操作或步骤的一部分。在一些备选实现中,框中的功能可以不按图中所示的顺序发生。例如,在一些情况下,根据所涉及的功能,可以实质上同时执行连续示出的框,或者有时可以按相反顺序来执行框。不同说明性实施例的描述是为了说明和描述的目的而给出的,而非意在穷举或将实施例限制于所公开的形式。对于本领域技术人员而言,多种修改和变形将是显而易见的。在说明性示例中,关于移动电话对用户设备进行了描述。除了或者取代所描述的平台,不同的说明性实施例还可以适用于其他类型的平台,如,移动平台、固定平台、陆基结构、水基结构、空基结构、智能电话、个人数字助理、台式计算机、服务器计算机、机顶盒、游戏控制台、工作站以及任何其他合适的平台。组件可以多种不同方式包括在平台中。例如,组件可以位于平台内,平台外,形成为平台的一部分,机械固定至平台,或以其他方式与平台相关联。为了最佳地解释实施例的原理、实际应用,以及为了使本领域其它技术人员能够理解进行各种修改(适于所想到的具体使用)的各种实施例的公开,选择和描述了所选择的实施例。例如,可以将各种元件或组件组合或集成在另一系统中,或者可以忽略或不实现特定的特征。
权利要求
1.一种计算机实现的方法,用于控制网络上的拥塞,所述方法包括 响应于接收到对网络上节点处的拥塞的第一指示,降低网络上的数据传输速率; 响应于降低网络上的数据传输速率,启动定时器; 响应于接收到对网络上的拥塞的第二指示,确定定时器是否已经超时;以及 响应于确定定时器已经超时,根据数据传输速率降低策略进一步降低网络上的数据传输速率。
2.根据权利要求I所述的计算机实现的方法,其中,降低网络上的数据传输速率包括 将数据传输速率从多个指定数据传输速率中的第一数据传输速率降低至第二数据传输速率,所述第二数据传输速率是多个指定数据传输速率中相对于第一数据传输速率次低的数据传输速率。
3.根据权利要求2所述的计算机实现的方法,其中,根据数据传输速率降低策略进一步降低网络上的数据传输速率包括 将第二数据传输速率降低至第三数据传输速率,所述第三数据传输速率是多个指定数据传输速率中相对于第二数据传输速率次低的数据传输速率。
4.根据权利要求2所述的计算机实现的方法,其中,根据数据传输速率降低策略进一步降低网络上的数据传输速率包括 确定是否进一步降低数据传输速率;以及 响应于确定要进一步降低数据传输速率,进一步降低数据传输速率。
5.根据权利要求4所述的计算机实现的方法,其中,进一步降低数据传输速率包括将第二数据传输速率降低至第三数据传输速率,所述第三数据传输速率是多个指定数据传输速率中相对于第二数据传输速率次低的数据传输速率;或者将第二数据传输速率降低至多个指定数据传输速率中的最低数据传输速率。
6.根据权利要求I所述的计算机实现的方法,其中,所述定时器在大约100毫秒到大约200毫秒的范围内超时。
7.根据权利要求I所述的计算机实现的方法,其中,所述定时器包括第一定时器,并且所述方法还包括 响应于降低网络上的数据传输速率,启动第二定时器;以及 响应于确定网络上的拥塞已得到缓解,并响应于确定第二定时器已经超时,根据数据传输速率增加策略增加网络上的数据传输速率。
8.根据权利要求7所述的计算机实现的方法,还包括 指定多个数据传输速率,其中,根据数据传输速率增加策略增加网络上的数据传输速率包括 将数据传输速率从多个指定数据传输速率中的第一数据传输速率增加至第二数据传输速率,所述第二数据传输速率是多个指定数据传输速率中相对于第一数据传输速率次高的数据传输速率。
9.根据权利要求7所述的计算机实现的方法,还包括 在启动第二定时器后接收对网络上的拥塞的指示;以及 响应于在启动第二定时器后接收对网络上的拥塞的指示,在接收到拥塞指示时重新启动第二定时器,或者在第二定时器已经超时后重新启动第二定时器。
10.根据权利要求7所述的计算机实现的方法,其中,所述第二定时器在大约10秒或更长时间内超时。
11.一种计算机实现的方法,用于控制网络上的拥塞,所述方法包括 响应于接收到对网络上节点处的拥塞的指示,降低网络上的数据传输速率; 响应于降低网络上的数据传输速率,启动定时器; 响应于接收到网络上的拥塞已得到缓解的指示,确定定时器是否已经超时;以及 响应于确定定时器已经超时,根据数据传输速率增加策略增加网络上的数据传输速率。
12.一种装置,包括 通信网络; 发送方,被配置为在网络上发送数据分组; 拥塞响应模块,被配置为响应于接收到对网络上的拥塞的第一指示,降低发送方在网络上发送的数据分组的数据传输速率;以及 定时器,响应于网络上的数据传输速率被降低而启动,所述拥塞响应模块被配置为响应于接收到对网络上的拥塞的第二指示,并响应于定时器已经超时,根据数据传输速率降低策略进一步降低发送方在网络上发送的数据分组的数据传输速率。
13.根据权利要求12所述的装置,其中,所述拥塞响应模块被配置为将数据传输速率从多个指定数据传输速率中的第一数据传输速率降低至第二数据传输速率,所述第二数据传输速率是多个指定数据传输速率中相对于第一数据传输速率次低的数据传输速率。
14.根据权利要求13所述的装置,其中,所述拥塞响应模块被配置为根据数据传输速率降低策略进一步降低发送方在网络上发送的数据分组的数据传输速率包括 所述拥塞响应模块被配置为响应于确定要进一步降低数据传输速率,进一步降低发送方在网络上发送的数据分组的数据传输速率。
15.根据权利要求14所述的装置,其中,所述拥塞响应模块被配置为根据数据传输速率降低策略进一步降低发送方在网络上发送的数据分组的数据传输速率包括 所述拥塞响应模块被配置为将第二数据传输速率降低至第三数据传输速率或者将第二数据传输速率降低至多个指定数据传输速率中的最低数据传输速率,所述第三数据传输速率是多个指定数据传输速率中相对于第二数据传输速率次低的数据传输速率。
16.根据权利要求12所述的装置,其中,所述定时器包括第一定时器,并且所述装置还包括 第二定时器,响应于网络上的数据传输速率被降低而启动,其中,所述拥塞响应模块被配置为响应于确定网络上的拥塞已得到缓解,并响应于确定第二定时器已经超时,根据数据传输速率增加策略增加网络上的数据传输速率。
17.根据权利要求16所述的装置,其中,所述第一定时器在大约100毫秒到大约200毫秒的范围内超时,并且所述第二定时器在大约10秒或更长时间内超时。
18.一种装置,包括 通信网络; 发送方,被配置为在网络上发送数据分组; 拥塞响应模块,被配置为响应于接收到对网络上的拥塞的第一指示,降低发送方在网络上发送的数据分组的数据传输速率;以及 定时器,响应于网络上的数据传输速率被降低而启动,所述拥塞响应模块被配置为响应于接收到网络上的拥塞已得到缓解的指示,并响应于定时器已经超时,根据数据传输速率增加策略增加发送方在网络上发送的数据分组的数据传输速率。
19.一种计算机实现的方法,用于控制网络上的拥塞,所述方法包括 响应于显式拥塞通知,在发送方和接收方之间建立最高数据传输速率,假设所述最高数据速率由发送方使用;以及 响应于接收到对拥塞的指示,确定要根据速率适配设置的更低的数据速率,所述速率适配是基于速率适配序列而设置的。
20.根据权利要求19所述的计算机实现的方法,其中, 所述速率适配序列包括系统级配置参数,所述系统级配置参数由网络提供。
21.根据权利要求20所述的计算机实现的方法,其中, 所述系统级配置参数包括开放移动联盟(OMA)管理对象。
22.根据权利要求19所述的计算机实现的方法,其中, 所述速率适配序列存储在发送方和接收方端点内。
23.根据权利要求19所述的计算机实现的方法,其中, 所述速率适配序列包括要在确定更低的数据速率时使用的比特率的列表。
24.根据权利要求23所述的计算机实现的方法,其中, 比特率列表内的表项包括与速率适配序列内的数据速率相对应的标量值。
全文摘要
用于通过速率适配对通信系统中的拥塞等级做出响应的方法、装置和计算机程序产品。通过标记数据分组来指示拥塞情形。响应于接收到拥塞指示,降低数据速率。启动速率降低抑制定时器,并且如果在速率降低抑制定时器期满后指示拥塞,发起进一步的速率降低。如果在速率增加时间期间未接收到拥塞指示,使用速率增加定时器来发起速率增加。
文档编号H04W28/02GK102792647SQ201180013419
公开日2012年11月21日 申请日期2011年1月11日 优先权日2010年1月11日
发明者大卫·福贝克, 理查德·查尔斯·博比奇, 赵晓明 申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1