首页> 中国专利> 用于长期演进演进节点B中的分组处理的负载测量和负载均衡

用于长期演进演进节点B中的分组处理的负载测量和负载均衡

摘要

描述了一种在基带频带中处理信号的控制器。所述控制器包括多个处理引擎(PE)。所述控制器还包括分布器/负载均衡器,所述分布器/负载均衡器包括至少一个处理器或处理核心。所述至少一个处理器或处理核心被配置成:(1)进入第一模式,在第一模式中,将每个新UE会话分配给当前正在处理最少数量的UE会话的PE;(2)确定最低负载PE与最高负载PE之间的处理负载差异是否在至少时间阈值内超过第一阈值;以及(3)响应于最低负载PE与最高负载PE之间的处理负载差异在至少所述时间阈值内超过第一阈值,进入第二模式,在第二模式中,将每个新UE会话分配给最低负载PE。

著录项

  • 公开/公告号CN112840608A

    专利类型发明专利

  • 公开/公告日2021-05-25

    原文格式PDF

  • 申请/专利权人 康普技术有限责任公司;

    申请/专利号CN201980067431.0

  • 申请日2019-08-19

  • 分类号H04L12/803(20060101);H04L12/801(20060101);H04L12/863(20060101);H04L12/825(20060101);

  • 代理机构11038 中国贸促会专利商标事务所有限公司;

  • 代理人田菁

  • 地址 美国北卡罗来纳州

  • 入库时间 2023-06-19 11:03:41

说明书

本申请要求2018年10月22日提交的名称为“LOAD MEASUREMENT AND LOADBALANCING FOR PACKET PROCESSING IN A LONG TERM EVOLUTION EVOLVED NODE B(用于长期演进演进节点B中的分组处理的负载测量和负载均衡)”的美国临时专利申请序列号62/748,662(代理人案卷号3748/100.1790USPR)的权益,其全部内容通过引用并入本文中。

背景技术

长期演进(LTE)eNB上的流量量值可根据各个UE的活动而显著变化。为了确保在eNB上的良好性能,期望在可用处理器之间均匀地分布和平衡传入流量负载。因此,本系统和方法描述用于LTE eNB中的分组处理的负载测量和负载均衡。

发明内容

描述了一种在基带频带中处理信号的控制器。所述控制器包括多个处理引擎(PE)。所述控制器还包括分布器/负载均衡器,所述分布器/负载均衡器包括至少一个处理器或处理核心。所述至少一个处理器或处理核心被配置成:(1)进入第一模式,在第一模式中,将每个新UE会话分配给当前正在处理最少数量的UE会话的PE;(2)确定最低负载PE与最高负载PE之间的处理负载差异是否在至少时间阈值内超过第一阈值;以及(3)响应于最低负载PE与最高负载PE之间的处理负载差异在至少所述时间阈值内超过第一阈值,进入第二模式,在第二模式中,将每个新UE会话分配给最低负载PE。

还描述了一种方法。该方法由包括多个处理引擎(PE)和分布器/负载均衡器的控制器执行,该方法包括。该方法包括进入第一模式,在第一模式中,将每个新UE会话分配给当前正在处理最少数量的UE会话的PE。该方法还包括确定最低负载PE与最高负载PE之间的处理负载差异是否在至少时间阈值内超过第一阈值。该方法还包括:响应于最低负载PE与最高负载PE之间的处理负载差异在至少所述时间阈值内超过所述第一阈值,进入第二模式,在第二模式中,将每个新UE会话分配给所述最低负载PE。

附图说明

应理解附图仅描述示范性配置,因此不应视为对范围的限制,将通过使用附图以附加的特性和细节来描述示范性配置,其中:

图1是示出了实现用于LTE eNB中的分组处理的负载测量和负载均衡的系统的一种示范性配置的框图;

图2是示出了输入流量流入处理引擎的框图;

图3是示出了用于分组处理的示例性LTE控制器中的并行处理的框图;

图4是示出了用于确定分组流的平均分组速率的方法的框图;

图5A是示出了用于估计处理引擎上的负载的示范性方法的流程图;

图5B是示出了用于估计每个UE的处理引擎上的负载的示范性方法的流程图;

图6是示出了用于在会话创建时将处理引擎初始分配给UE的示范性方法的流程图;

图7是示出了对并行处理架构的示范性增强的框图,所述并行处理架构使得能够将UE会话从源处理引擎无缝重定向到目的地处理引擎;

图8是示出了用于将UE会话从源PE重定向到目的地PE的示范性方法的流程图;以及

图9是示出了用于将UE会话从源PE重定向到目的地PE的具体示范性方法的序列图。

根据常规实践,所描述的各种特征不是按比例绘制的,而是被绘制为强调与示范性配置有关的特定特征。

具体实施方式

本文使用以下术语和首字母缩写词:

MAC:介质访问控制;LTE中的协议层,例如,如第3代合作伙伴项目(3GPP)技术规范(TS)36.321中定义的协议层;

GTP:通用分组无线业务(GPRS)调谐协议;LTE中的协议层;

PDCP:分组数据汇聚协议,例如,如3GPP TS 36.323中定义的;

RLC:无线电链路控制;LTE中的协议层,例如,如3GPP TS 36.322中定义的;

eNB:演进节点B;实现LTE无线电接入技术的基站,例如,如3GPP TS 21.905中定义的;

PDU:协议数据单元;

RLF:无线电链路故障;

LUT:查找表;存储器中的索引表,其允许基于给定索引从存储器提取输出值;

round(x):返回十进制小数x的最接近整数值的函数调用;

OM:操作测量;以及

SmartReuse:允许小区的不同部分中的UE(彼此充分隔离)使用相同时频资源的特征。

通过引用并入了3GPP TS 36.322v15.2.0(2018-07)(网址:http://www.3gpp.org/ftp//Specs/archive/36_series/36.321/36321-f20.zip)、3GPP TS36.322v15.1.0(2018-07)(网址:http://www.3gpp.org/ftp//Specs/archive/36_series/36.322/36322-f10.zip),以及3GPP TS 36.323v15.0.0(2018-07)(网址:http://www.3gpp.org/ftp//Specs/archive/36_series/36.323/36323-f00.zip)。

3GPP LTE(从版本10起)中存在允许在峰值和平均数据速率(以Mbps为单位的吞吐量)方面增加小区容量的一些增强(例如,载波聚合(CA)),以及更高阶和高级的多输入多输出(MIMO)技术。通过这些增强,例如,与基本版本8实施相比,eNB中数据处理能力的要求显著增加。当这些进步与诸如SmartReuse的技术相结合时,eNB中的处理需求进一步增加。例如,与常规eNB相比,LTE eNB的C-RAN实施可以支持四到八倍的数据速率(对于每个小区)。

这种增加的吞吐量影响eNB的分组处理层,即GPRS隧道协议(GTP)、分组数据汇聚协议(PDCP)和无线电链路控制(RLC)。实现这些分组处理层的eNB模块需要以与所需吞吐量增加相同的量级增加其处理能力。这可以通过采用并行处理平台或架构来解决,所述并行处理平台或架构在同一芯片上提供若干处理核心,其中所有核心都可以访问共享存储器组。总体工作量(在这种情况下是来自若干用户的组合流量)可以分摊并分布到不同的处理核心,并被并行处理以实现更高的性能。

eNB上的流量量值可根据各个UE的活动而显著变化。因此,为了确保良好的性能,传入流量负载的均匀分布和均衡非常重要。本系统和方法描述了用于LTE eNB(例如,集中式无线电接入网络(C-RAN)或宏基站)中的分组处理的负载测量和负载均衡。应注意,本策略和方法可大体上应用于任何并行分组处理系统。

图1是示出了实现用于分组处理的负载测量和负载均衡的LTE eNB 100的一种示范性配置的框图。eNB 100部署在地点102处以为一个或多个无线网络运营商提供无线覆盖和容量。地点102可以是例如建筑物或校园或(例如,由一个或多个企业、政府、其他企业实体使用的)建筑物的其他组合或某个其他公共场所(诸如,酒店、度假村、游乐园、医院、购物中心、机场、大学校园、竞技场或室外区域,诸如滑雪场、体育场或人口稠密的市中心)。

在图1所示的示范性配置中,使用集中式无线电接入网络(C-RAN)(点对多点分布式基站)架构实施eNB 100,该架构采用至少一个基带单元104和多个无线电点(RP)106为至少一个小区103服务。eNB 100在此也称为“C-RAN”或“C-RAN系统”100。基带单元104在此也称为“基带控制器”104或仅称为“控制器”104。每个RP 106包括或耦合到至少一个(例如,两个)天线108,通过该天线,下行链路RF信号被辐射到用户设备(UE)110,并且通过该天线接收由UE 110发射的上行链路RF信号。每个UE 110可以是具有执行存储在存储器中的指令的处理器的计算装置,例如,移动电话、平板电脑、移动媒体设备、移动游戏设备、膝上型计算机、基于车辆的计算机、台式计算机等。

eNB 100通过适当的回传耦合到每个无线网络运营商的核心网络112。在图1所示的示范性配置中,因特网114用于eNB 100与每个核心网络112之间的回传。然而,应当理解,可以其它方式实现回传。

在此将图1中所示的eNB 100的示范性配置描述为实施为使用LTE空中接口提供无线服务的长期演进(LTE)无线电接入网络。LTE是由3GPP标准组织开发的标准。在此配置中,控制器104和RP 106一起用于实现LTE演进节点B(这里也称为“eNodeB”或“eNB”),该LTE演进节点B用于为用户设备110提供对无线网络运营商的核心网络112移动访问,以使用户设备110能够以无线方式(例如,使用LTE语音(VoLTE)技术)传输数据和语音。控制器104可以位于物理上远离RP 106的位置,例如,位于控制器104的集中式组中。

并且,在此示范性LTE配置中,每个核心网络112可以被实现为包括标准LTE EPC网络元件的演进分组核心(EPC)112,该标准LTE EPC网络元件是例如移动管理实体(MME)(未示出)和服务网关(SGW)(未示出),以及任选地家庭eNB网关(HeNB GW)(未示出)和安全网关(SeGW)(未示出)。

此外,在此示范性配置中,每个控制器104可以使用LTE S1接口与EPC核心网络112中的MME和SGW通信,并使用LTE X2接口与其他eNB通信。例如,控制器104可以经由LTE X2接口与室外宏eNB(未示出)通信。

可以实现每个控制器104和无线电点106,从而使用支持频分复用(FDD)和/或时分复用(TDD)中的一种或多种的空中接口。另外,可以实现控制器104和无线电点106以使用支持多输入多输出(MIMO)、单输入单输出(SISO)、单输入多输出(SIMO)、多输入单输出(MISO)和/或波束形成方案中的一种或多种的空中接口。例如,控制器104和无线电点106可以实现LTE传输模式中的一种或多种。此外,控制器104和/或无线电点106可配置成支持多个空中接口和/或支持多个无线运营商。

在图1所示的示范性配置中,使用标准以太网网络116来实施将每个控制器104通信地耦合到一个或多个RP 106的前传。然而,应理解,可以其他方式实现控制器104与RP106之间的前传。

3GPP采用了用于LTE无线电接入接口的分层模型。一般来说,控制器104和/或RP106执行用于空中接口的模拟射频(RF)功能,以及用于空中接口的(3GPP定义的LTE无线电接入接口协议的)数字层1、层2和层3功能。

数字基带功能被称为层1。eNB中的其他无线电接入接口相关的协议层是介质访问控制(MAC)、无线电链路控制(RLC)、分组数据汇聚协议(PDCP)和无线电资源控制(RRC)。

LTE eNB 100还可以实施与EPC(上文所述的演进分组核心)接口相关的某些协议层,包括S1-AP和GTP。

与处理用户数据有关的协议组(U-PLANE)(例如,MAC、RLC和PDCP)在本文件中被称为层2协议。MAC层的功能可与层1密切相关并且具有强实时约束。层2中的其他协议(即,RLC、PDCP和GTP)没有此类实时约束,并且在本文件中被称为分组处理协议。

RRC和S1-AP是控制平面(C-平面)协议,并且也称为层3协议。

在一个示例中,每个基带控制器104包括层3(L3)功能性、层2(L2)功能性和层1(L1)功能性,其分别被配置成针对由eNB 100实现的LTE空中接口执行L3处理、L2处理和L1处理中的至少一些,并且每个RP 106包括(可选地):L1功能性,其针对空中接口实施未在控制器104中执行的任何L1处理;以及一个或多个射频(RF)电路,其针对空中接口实施RF前端功能;以及与该RP 106相关联的一个或多个天线108。

在用于空中接口的L1-L3处理的控制器104/RP 106之间的其它可能的功能分割包括:(1)控制器104中的所有L1-L3处理;(2)控制器104中的所有L2和L3处理/RP 106中的所有L1处理;(3)控制器104中的所有L3处理和一些L2处理/RP 106中的所有L1处理和一些L2处理;(4)控制器104中的所有L3处理/RP中的所有L1-L2处理;(5)控制器104中的一些L3处理/RP 106中的一些L3处理和所有L1-L2处理。优选地,用于空中接口和一个或多个天线108的所有RF前端处理在RP 106中执行,即,控制器104优选地不执行用于空中接口或天线108的任何RF处理(但其它配置是可能的)。

在一些配置中(例如,在控制器104中执行所有L1-L3处理的情况下),在控制器104与RP 106之间传输表示空中接口的时域符号的IQ数据。传输此类时域IQ数据通常需要相对高数据速率的前传。此方法(通过前传传输时域IQ数据)适合于前传以太网116能够传递所需高数据速率的那些实施方式。

如果前传以太网网络116不能实现前传时域IQ数据所需的数据速率(例如,在使用典型的企业级以太网网络实施前传的情况下),可以通过在控制器104与RP 106之间传输表示用于空中接口的频域符号的IQ数据来解决此问题。这种频域IQ数据代表在执行逆快速傅里叶变换(IFFT)之前频域中的符号。可以通过量化表示没有保护带零或任何循环前缀的频域符号的IQ数据,并通过前传以太网116传送所得的压缩量化频域IQ数据,来生成时域IQ数据。

在频域IQ数据在控制器104与RP 106之间前传的情况下,每个基带控制器104可以被配置成针对空中接口执行数字L3、L2和L1处理中的全部或一些。在这种情况下,每个RP106中的L1功能可以配置成针对空中接口实施未在控制器104中执行的数字L1处理。例如,在此示范性配置中,每个控制器104可以实施小区103的接收机和调度器。

在前传以太网网络116不能实现前传(未压缩的)时域IQ数据所需的数据速率的情况下,时域IQ数据可以在通过以太网网络116传输之前被压缩,由此降低通过以太网网络116传输此类IQ数据所需的数据速率。

可以其它方式(例如,使用通用公共无线电接口(CPRI)和/或开放基站架构计划(OBSAI)系列规范中指定的前传接口和技术)在控制器104与RP 106之间前传数据。

在图1所示的示范性配置中,管理系统118例如经由因特网114和以太网网络116(在RP 106的情况下)通信地耦合到控制器104和RP 106。

在图1所示的示范性配置中,管理系统118使用因特网114和以太网网络116与eNB100的各个元件通信。此外,在一些实施方式中,管理系统118向控制器104发送以及从这些控制器接收管理通信,其中每个控制器依次向RP 106以及从所述RP转发相关的管理通信。

可以在硬件、软件或硬件和软件的组合中实施每个控制器104和RP 106(以及被描述为其中所包括的功能性),并且各种实施方式(无论是硬件、软件还是硬件和软件的组合)也可以被大体上称为被配置成实施至少一些关联功能性的“电路系统”或“电路”。当在软件中实施时,可以在一个或多个合适的可编程处理器上执行的软件或固件中实施这样的软件。可以其他方式(例如,在现场可编程门阵列(FPGA)、专用集成电路(ASIC)等中)实现此类硬件或软件(或其部分)。而且,可以使用一个或多个RF集成电路(RFIC)和/或离散部件来实施RF功能性。可以其它方式实施每个控制器104和RP 106。

具体地,每个控制器104可以包括至少一个处理引擎(PE)105,例如,被配置成执行存储在存储器中的指令以实施特定功能性的处理资源。例如,处理引擎可以是处理器中的多个核心中的一个,例如,精简指令集计算(RISC),例如,功率架构e6500系列处理器。每个处理引擎可以包括分组处理模块107,该分组处理模块实施eNB中的非实时分组处理层,例如,GTP、PDCP和/或RLC-UL层。

在一些配置中,控制器104可以包括用于使分组处理并行化的多个处理引擎(PE)105。因此,分布器/负载均衡器134可以在可用处理引擎105之间分布来自UE 110会话的流量。分布器/负载均衡器134可以测量、分布和均衡处理引擎105上的负载。具体而言,分布器/负载均衡器134可以被配置成:(1)估计处理引擎上的负载;(2)基于处理引擎105上的当前负载状况,将多个处理引擎105中的一个分配到每个新UE 110(与eNB的)会话;(3)选择UE110以进行重定向(从一个处理引擎105重定向到另一个);和/或(4)将UE 110从一个处理引擎105重定向到另一个,例如,而不中断分组处理顺序、延迟等。

应注意,术语UE、会话和UE会话可以(在分配、分布、移动、重定向和/或变型的上下文中)互换使用,以指代eNB 100与UE 110之间的分组流动,例如,LTE会话。

图2是示出了输入流量流入处理引擎105的框图。处理引擎105可以使用至少一个处理器来实施,例如,处理引擎105可以是多核处理器(例如,RISC)中的多个核心中的一个。

如上所述,3GPP采用了用于指定LTE无线电接入接口的分层模型。诸如MAC(L2)和物理层(L1)的较低层具有时间同步的功能(影响无线电帧的空中传输)。这引入了对这些层的实时约束,例如,MAC和物理层功能需要在称为发射时间间隔(TTI)的一毫秒间隔内完成传输所需的处理。

然而,处理传入和传出分组的上方各层没有这样的严格限制。因此,LTE eNB 100中的GTP、PDCP和RLC-UL层在本文中被称为“非实时”层,因为它们不像MAC层(或物理层)那样具有硬绑定以完成特定分组或帧的处理。即使它们是非实时层,也期望快速完成(由GTP、PDCP和RLC-UL层执行的)处理,以避免延时。GTP、PDCP和RLC层中的每一个包括上行链路处理部分和下行链路处理部分。由于RLC下行链路部分与MAC调度器的接口导致其处理受到某些实时约束,因此该RLC下行链路部分未包括在非实时组中。分组处理引擎105可以在LTEeNB 100中实现非实时层(GTP、PDCP和RLC-UL)的组合功能性。

处理引擎105(例如,分组处理模块107)可以根据3GPP规范来实现S1U(GTP)、PDCP(分组数据汇聚协议)和/或RLC功能性,例如,其可以类似于在基于IP的系统中终止基于UDP/TCP的有状态会话的处理。在高层级上,它涉及有状态的标头操纵、分片、重新组装和封装/解封装功能。当UE 110经历空中接口中的无线电链路故障(RLF)时,涉及控制平面相互作用。处理引擎105可以与硬件加速器交互以执行计算密集型加密操作,例如加密、解密和完整性保护。

具体地,处理引擎105(例如,处理引擎105中的分组处理模块107)可以接收三种不同类型的输入:上行链路分组120、下行链路分组122和/或C-SAP分组/消息124。

上行链路分组120可以被输入到RLC-UL层,例如,上行链路分组可以是(或包括)MAC上行链路数据分组。下行链路分组122可以是旨在传输到UE 110的IP分组,例如,封装在GTP标头中的IP分组。C-SAP分组124可以是从RRC控制平面协议到用户平面(U平面)层的指令。C-SAP分组124可以包括创建和/或删除UE 110上下文、添加和/或删除UE 110的数据承载等的指令。C-SAP分组124还可以包括用于RLC和PDCP层的控制消息。

到处理引擎105的输入流量可以由来自(和/或去往)连接到eNB 100的各个UE 110的流量组成。各个UE 110的数据可以由来自一个或多个承载的数据组成。对于上行链路分组120和C-SAP分组124,各个承载可以通过元组(UE-ID、承载ID)标识。对于下行链路分组122,每个承载可以由GTP标头中存在的唯一隧道/承载标识符来标识。UE状态信息(有时称为UE上下文)可以包括隧道/承载标识符与(UE-ID、承载ID)对之间的映射。

不同类型的消息可以在主队列136(例如,先进先出(FIFO)队列)中排队。处理引擎105可以从队列中移除消息并对其进行处理。这可以包括PDCP和/或RLC-UL处理。上行链路分组120可以经受RLC-UL、PDCP和/或GTP处理,并且所得GTP分组可以被发送到SGW(未示出)。下行链路分组122可以经受GTP和PDCP处理,并且所得PDCP协议数据单元(PDU)可以被发送到RLC下行链路处理器(未示出)。

并行处理

图3是示出了用于分组处理的示例性LTE控制器104中的并行处理的框图。当控制器104所需的分组处理容量大于任何单个处理器上的可用容量时,可能需要使用多个处理器以通过分布工作负载(而不是切换到更强大的处理器)来实现所需的吞吐量。

因此,图3中的控制器104可以使用并行处理和分布以满足增加的分组处理要求,例如,多个处理引擎105A-N。例如,每个处理引擎105可以是多核处理器中的核心。

每种类型的输入分组可以在主输入缓冲器132中可用,例如上行链路分组120、下行链路分组122和C-SAP分组124。例如,主输入缓冲器132可以包括用于上行链路分组120、下行链路分组122和C-SAP分组124中的每一个的单独缓冲器。或者,单个主输入缓冲器132可以存储上行链路分组120、下行链路分组122和C-SAP分组124。

上行链路分组120、下行链路分组122和C-SAP分组124可以由分布器/负载均衡器134从主输入缓冲器132移除,并根据该分组120、122、124分配给哪个处理引擎105在四个处理引擎特定的队列(即主队列136A-N)中的一个队列中排队。分布器/负载均衡器134可以用一个或多个处理器(或多核处理器的一个或多个核心)实施,所述一个或多个处理器执行存储在存储器中的指令,例如,ASIC、RISC、FPGA、DSP、ARM等。

传入分组到目的地PE 105的映射被存储在图3所示的查找表(LUT)中。处理引擎105可以从其各自的主队列136A-N中拾取分组120、122、124,并使用存储在共享存储器138中的状态信息进行处理。处理引擎105的输出140或者储存在输出缓冲器中,另一处理器可以从该输出缓冲器移除该输出进行传输,或者该输出140可以从处理引擎105被同步地传输。

共享存储器138可以包括UE 110和承载状态信息。在一种配置中,所有处理引擎105和分布器/负载均衡器134都可以访问共享存储器138。然而,本系统和方法中的分布器/负载均衡器134可以不需要对UE 110上下文存储器的完全访问权。例如,分布器/负载均衡器134可以仅有权访问表格的有限集合(例如,UE-ID LUT 142和承载ID LUT 144)和包含UE110负载信息的表格。可以使用UE-ID和承载ID对共享存储器138进行索引。共享存储器138可以存储处理UE 110及其承载所需的所有信息和映射,例如,包括UE-ID LUT 142和承载IDLUT 144。

为了确保正确且高效的处理,来自给定会话的分组120、122、124可以被发送到相同的处理引擎105,并且被顺序处理。对给定会话的分组120、122、124的处理可以有状态的方式完成,以避免两个不同的处理引擎105同时在来自相同会话的分组120、122、124上操作的情况。设计和实施对处理引擎105(和/或处理引擎105执行的指令)的增强以能够实现分组级别的并行性可能是昂贵的(在人工、处理资源等方面),并且可能降低系统的整体性能。从高速缓存效率的角度来看,此类设计也可能是低效的。相反,在图3中的控制器104中,来自给定UE 110的分组120、122、124可以仅由一个处理引擎105在任何给定时间处理。这使得指令易于重复使用并且从单处理器架构迁移到多处理器架构(以获得更高的性能),并添加了负载分布和均衡功能。

应注意,虽然图3中示出了四个处理引擎105(和主队列136),但本文中所述的系统和方法适用于任何数目的处理引擎105(和支持电路),即任何正整数,优选大于一。

流量分布

LTE eNB 105通常支持500到4000个之间的UE 110会话。来自这些会话的流量需要分布到可用处理引擎105。如上所述,处理引擎105可以接收三种类型的输入:上行链路分组120、下行链路分组122和C-SAP分组124。对于下行链路分组122,可以使用(每个下行链路分组122中的)GTP隧道/承载ID进行分布。对于上行链路分组120和C-SAP分组124,可以使用(每个上行链路分组120和C-SAP分组124中的)UE-ID进行分布。

可以基于查找表来执行分布。系统中可以维持至少两个查找表,一个基于承载ID(承载ID LUT 144),另一个基于UE-ID(UE-ID LUT 142)。每个表142、144储存从其各自的密钥到目标处理引擎105和/或队列的映射。最初,在创建UE 110会话时,创建查找表142、144条目以建立UE 110会话与处理引擎105和/或队列中的一者之间的关系。基于处理引擎105上的当前负载状况,可以将新UE 110会话分配给处理引擎105。

分布器/负载均衡器

图3中的分布器/负载均衡器134可以(在处理引擎105之间)执行(输入分组的)分布和负载均衡。分布和负载均衡是在完成分布改变以均衡负载的意义上的相关概念。

分布是指将输入分组120、122、124从主输入缓冲器132传输至主队列136。可以通过受控方式进行分布,以便填充主队列136,以确保连续利用处理引擎105。任选地,可以在分布器/负载均衡器134之前(而不是在主队列136中)缓冲分组120、122、124的突发串。

负载均衡是指如何将输入分组120、122、124分配(或重新分配)到特定处理引擎105,这在每个处理引擎105处产生处理负载。负载均衡可以被周期性地调用或基于相应的主队列136的深度调用。

负载均衡策略

处理引擎105上的工作量基于来自不同UE 110的流量,每个UE具有不同数量的承载。为UE 110创建的承载的数量和类型是动态的,并且取决于在UE 110上运行的应用程序的类型和活动。在初始会话建立时,可以不估计各个UE 110的数据流的大小、持续时间和突发性。因此,可以使用自适应机制来动态地调整流分布以控制各个处理引擎105上的负载。

通常,处理引擎105上存在两种类型的负载不平衡:(1)短期/瞬态不平衡;(2)长期不平衡。短期/瞬态不平衡的持续时间较短,例如在10到500毫秒的范围内。这是由于大量分组120、122、124在短时间内到达处理引擎105的输入造成的。此类突发可以通过提供足够的缓冲(在存储器方面)并允许某些超额配置(在处理引擎105上可用的处理容量方面)来处理。

长期不平衡的持续时间可能较长,例如,超过500毫秒,并且可以是可预测的。长期不平衡可能是由于很少数量的UE 110在相对较长的时间段(例如超过几秒)内生成大量的数据。可以使用自适应负载均衡处理此类情境。当少量大流量处于操作中时,长期不平衡可能是常见的。例如,如果一个或多个UE 110能够利用完整的小区带宽。

自适应负载均衡可以包括两部分:首先,可以将处理引擎105分配给新创建的UE110会话。进行此初始分配的一种可能方式是将新(即,先前未分配)UE 110会话分配给最低负载处理引擎105。然而,在(传入和传出)UE 110会话的高周转率期间,考虑会话负载和处理负载两者(同时确定最低负载处理引擎105)可以更有效地确保负载均衡。

第二,自适应负载均衡可以包括响应于过载检测的UE 110重定向。在不存在传入和传出UE 110会话的情况下,或者在尽管在会话创建时进行了负载均衡但(处理引擎105之间的)不平衡仍然持续的情况下,流可以自适应地从过载处理引擎105重定向到最低负载处理引擎105。为了使重定向的有效性最大化,在选择UE 110和处理引擎105进行重定向时,可以考虑以下因素中的一个或多个:(1)处理引擎105上的过载和/或负载程度;(2)造成过载的高容量流的大小;(3)高容量流对处理引擎105的贡献程度;和/或(4)控制器104中的其它处理引擎105中的可用处理资源。

分布器/负载均衡器134执行的负载均衡可以考虑因素(1)-(4)中的一个或多个,以便识别UE 110和目标处理引擎105的最佳组合以进行重定向。具体地,分布器/负载均衡器134可以(1)基于处理引擎105正在处理的分组速率(以CPU占用百分比的方式)估计处理引擎105上的总负载;以及(2)基于每个UE 110正在生成的分组速率估计由于每个UE 110造成的处理引擎105上的负载。这两种不同类型的估计可以允许分布器/负载均衡器134按照各个UE 110产生的处理引擎105上的负载表达特定处理引擎105上的总负载。以这种方式表示处理引擎105上的处理负载使分布器/负载均衡器134能够做出最有效的负载均衡决策,例如,以可能最有效的方式将UE 110会话分配给(或重定向到)处理引擎105。

处理引擎105的分组处理速率可以是估计处理引擎105上的负载的简单方式。具体地,处理引擎105上的负载可以随着处理速率而增加。然而,当涉及不同类型的分组时,将分组速率与处理器负载直接相关可能是不切实际的或不可能的(因为分组引起的负载程度取决于其类型)。对于给定的分组类型(例如,上行链路分组120、下行链路分组122,或C-SAP分组124),负载与分组速率之间的关系几乎是线性的。通过适当地组合不同类型的分组的速率(如下所述),我们可以按照组合的分组速率(每单位时间处理的分组)准确地表达处理引擎105上的负载。以这种方式估计处理引擎105上的负载的优点在于:(1)在大多数系统中可以用最少的开销获得分组计数,这通常将分组计数确定为操作测量的一部分;以及(2)它提供了将处理引擎105上的总负载表示为各个UE 110贡献的负载的总和的手段。这对于采取有效的负载平衡决策可能是有用的,尤其是在需要将特定的UE110会话从过载处理引擎105重定向到较低负载处理引擎105时。

处理引擎负载估计

图4是示出了用于确定分组流的平均分组速率的方法的框图。术语“CPU负载”、“CPU处理负载”、“处理负载”、“计算负载”、“PE负载”、“处理引擎负载”或简单地“负载”(及其变型)在本文中可互换使用以指代例如在绝对意义上,按照CPU占用百分比、分组处理速率等表征在特定处理引擎105或其它处理装置中消耗的处理资源量的任何度量。此外,术语“会话负载”在本文中用于指正在处理的若干会话。

聚合和每UE的分组计数和速率是在许多系统中进行的常见测量。在分组处理模块107中,处理负载可以至少部分地是标头处理的函数(但通常不受太多分组长度的影响)。因此,处理引擎105负载的估计方法优选地应结合由于不同的分组类型,例如,上行链路分组120、下行链路分组122或C-SAP分组124引起的变化。在一些配置中,可以跟踪系统级别和每个UE级别的每种类型的分组的聚合分组速率。为了简化选择负载均衡相关计算,按照单一类型的分组速率来表达处理引擎105负载可能是有用的。使用模拟流量,可以对来自不同分组类型的负载进行归一化,并且按照仅一种类型来表达负载。在某些配置中,下行链路分组122可以被选择为标准类型,并且来自其它类型的分组速率可以按照下行链路分组122速率来表示。因此,处理引擎105负载可以按照一种类型的分组,例如,按照下行链路分组122速率来表达。

可使用滑动窗口程序计算下行链路分组122速率(R

参考图4,窗口中的每个位置可以存储在对应T

在每个更新间隔i之后,可以根据方程(1)计算下行链路分组122速率(R

类似地,在每个更新间隔i之后,可以根据方程(2)计算上行链路分组120速率:

其中,R

类似地,在每个更新间隔i之后,可以根据方程(3)计算C-SAP分组124速率:

其中,R

归一化分组速率

为了简化用于负载均衡的处理引擎105选择程序,可以将不同类型的分组速率(例如,R

CPU负载与下行链路分组122速率之间的关系可以根据方程(4)来表征:

其中,X是下行链路分组122速率与CPU负载的比率(例如,作为PE105的百分比)。例如,基于下面的示例性表1,CPU负载与下行链路分组122速率之间的关系可以是R

表1:CPU负载与下行链路分组速率(R

小的CPU负载(在无负载条件下)可以被忽略,例如,表1中的CPU负载百分比“2”可能不会在方程(4)中被捕获,但这种省略将具有可忽略的效果。

类似地,CPU负载与上行链路分组120速率(来自表2)之间的关系可以根据方程(5)来表征:

其中,Y是上行链路分组120速率与CPU负载的比率(例如,作为PE105的百分比)。例如,基于下面的示例性表1,CPU负载与上行链路分组120速率之间的关系可以是R

表2:CPU负载与上行链路分组速率(R

此外,下行链路分组122速率与上行链路分组120速率之间的换算因数可以通过方程(6)来表征:

为了作为C-SAP分组124速率的函数来测量CPU负载,可能无法获得仅生成C-SAP分组124(没有任何上行链路分组120或下行链路分组122)的测试。然而,可以通过在处理这些C-SAP分组124(和其它控制消息)的代码中引入时间戳来估计由于这些消息引起的CPU负载。假设有足够的点来捕获趋势,利用这些时间戳可以测量来自C-SAP分组124的对CPU负载的独家贡献。

因此,CPU负载与C-SAP分组124速率(来自表3)之间的关系可以根据方程(7)来表征:

其中,Z是C-SAP分组/消息124速率与CPU负载的比率(例如,作为PE105的百分比)。例如,基于下面的示例性表3,CPU负载与C-SAP分组124速率之间的关系可以是R

表3:CPU负载与C-SAP分组速率(R

此外,下行链路分组122速率与C-SAP分组124速率之间的换算因数可以通过方程(8)来表征:

基于表1-3(和方程(4)-(8)),可以如下建立下行链路分组122与其它类型的分组之间的等价关系。上行链路分组120速率到下行链路分组122速率的换算因数可以是750/267(或更一般地,X/Y)。类似地,C-SAP分组124速率到下行链路分组122速率的换算因数可以是750/135(或更一般地,X/Z)。

利用这些换算因数,处理引擎105上的聚合负载可以仅按照下行链路分组122速率来表征。例如,当上行链路分组120速率=13360分组/秒;下行链路分组122速率=14900分组/秒;且C-SAP分组124速率=1350分组/秒时;

换言之,等效下行链路分组速率=(下行链路分组速率(R

可以通过将等效聚合下行链路分组122速率除以最大下行链路分组122速率并乘以100来确定聚合负载百分比。如在方程(10)中那样,可以通过计算在下行链路分组122速率中表示的总分组速率的比率,并将其除以所支持的最大下行链路分组122速率(对应于100%CPU利用率的下行链路分组速率)来计算处理负载百分比:

在上述示例中,处理引擎105的负载百分比可以为(59928/75000)*100=80%。处理引擎105的聚合负载可以在每个T

使用类似程序,如在方程(12)中那样,每个UE 110对CPU负载的贡献可按每个UE110计算和维持:

应注意,即使本文仅论述了三种类型的分组类型(例如,上行链路分组120、下行链路分组122和C-SAP分组124),但其它配置也是可能的,例如,使用更多、更少和/或其它类型的分组。如果对分组的类型进行更精细地区分以标识分组类型中的更多变化(例如,分组类型的子集),则可以确定每种类型(例如,子类型)分组的CPU负载趋势,并且可以进一步提高CPU负载估计的准确性水平。在此基础上,可以估计各个UE会话对处理器上的总负载的贡献,这可以用于做出负载均衡决策。

图5A是示出了用于估计处理引擎105上的负载的示范性方法500A的流程图。方法500A可以由控制器104(例如,控制器104中的分布器/负载均衡器134)执行,所述控制器执行存储在存储器或可编程装置(例如,FPGA或专用硬件,例如ASIC)中的指令。另外,可以在控制器104中针对多于一个(例如,全部)处理引擎105迭代地执行方法500A。例如,可以针对每个处理引擎执行方法500A以确定最低负载PE 105、最高负载PE105和/或最低负载PE 105与最高负载PE 105之间的处理负载差异。

为了易于解释,已按照大致顺序的方式布置了图5中所示流程图的框;不过,要理解的是,这种布置仅仅是示范性的,并且应当认识到,与方法500A(和图5A中所示的框)相关联的处理可以按照不同次序发生(例如,在并行地和/或以事件驱动方式执行与框相关联的处理中的至少一些的情况下)。而且,为了易于解释,未描述大部分标准异常处理;不过,要理解的是,方法500A可以并且典型地会包括这样的异常处理。

控制器104可以被配置成测量502由处理引擎105处理的至少第一类型的分组、第二类型的分组和第三类型的分组中的每一种的分组速率。术语“分组速率”是指每单位时间处理的分组的数量。在本文中的示例中,“第一类型”、“第二类型”和“第三类型”的分组可以分别是下行链路分组122、上行链路分组120和C-SAP分组/消息124。

例如,如果三种类型的输入分组(上行链路分组120、下行链路分组122,和C-SAP分组/消息124)被处理,控制器104可以(例如,每个T

控制器104还可以配置有下行链路分组122速率与CPU负载的预定比率(X)(例如,作为PE 105的百分比)、上行链路分组120速率与CPU负载的预定比率(Y)(例如,作为PE 105的百分比)和C-SAP分组/消息124速率与CPU负载的预定比率(Z)(例如,作为PE 105的百分比)。X、Y和Z可以从测量和/或模拟导出,并且可用于根据方程(6)和(8)计算上行链路分组120和C-SAP消息124的等效下行链路分组速率。在一种配置中,X、Y和Z的值可以仅确定一次(例如,在实验室条件下),并且除非正被使用的软件或硬件有变化,否则所确定的值将不会改变。可以分别使用方程(4)、(5)和(7)来确定X、Y和Z。

控制器104还可以被配置成按照第一类型的分组确定504第二和第三类型的分组的等效分组速率。具体地说,可以分别基于第二和第三类型的分组的测量分组速率来确定第二和第三类型的分组的等效分组速率,例如,使用方程(6)和(8)来确定R

控制器104还可以被配置成对第一类型的分组的测量分组速率、第二类型的分组的加权等效分组速率和第三类型的分组的加权等效分组速率求和506,以确定等效聚合分组速率,例如,根据方程(9)确定聚合下行链路分组122速率。

控制器104还可以被配置成基于等效聚合分组速率确定508处理引擎105的聚合负载百分比。还可以基于处理引擎105中的第一类型的分组的最大分组速率(如果使用方程(10))或X(如果使用方程(11))来确定处理引擎105的聚合负载百分比。

图5B是示出了用于估计每个UE 110的处理引擎105上的负载的示范性方法500A的流程图。方法500B可以由控制器104(例如,控制器104中的分布器/负载均衡器134)执行,所述控制器执行存储在存储器或可编程装置(例如,FPGA或专用硬件,例如ASIC)中的指令。图5B中所示的方法500B可以类似于所示的方法500A,但针对特定UE 100执行。另外,方法500B可以针对多于一个UE 100迭代地执行。在一种配置中,UE 110一次仅与单个处理引擎105相关联。

为了易于解释,按照大致顺序的方式布置了图5B中所示流程图的框;不过,要理解的是,这种布置仅仅是示范性的,并且应当认识到,与方法500B(和图5B中所示的框)相关联的处理可以按照不同次序发生(例如,在并行地和/或以事件驱动方式执行与框相关联的处理中的至少一些的情况下)。而且,为了易于解释,未描述大部分标准异常处理;不过,要理解的是,方法500B可以并且典型地会包括这样的异常处理。

控制器104可以被配置成测量512由处理引擎105处理的发往UE 110的至少第一类型、来自UE 110的第二类型的分组和第三类型的分组中的每一种的分组速率。术语“分组速率”是指每单位时间处理的分组的数量。在本文中的示例中,“第一类型”、“第二类型”和“第三类型”的分组可以分别是下行链路分组122、上行链路分组120和C-SAP分组/消息124。

例如,如果三种类型的输入分组(上行链路分组120、下行链路分组122,和C-SAP分组/消息124)被处理,控制器104可以(例如,每个T

控制器104还可以配置有下行链路分组122速率与CPU负载的预定比率(X)(例如,作为PE 105的百分比)、上行链路分组120速率与CPU负载的预定比率(Y)(例如,作为PE 105的百分比)和C-SAP分组/消息124速率与CPU负载的预定比率(Z)(例如,作为PE 105的百分比)。X、Y和Z可以从测量和/或模拟导出,并且可用于根据方程(6)和(8)计算上行链路分组120和C-SAP消息124的等效下行链路分组速率。在一种配置中,X、Y和Z的值可以仅确定一次(例如,在实验室条件下),并且除非所使用的软件或硬件有变化,否则所确定的值将不会改变。可以分别使用方程(4)、(5)和(7)来确定X、Y和Z。

控制器104还可以被配置成按照用于UE 110的第一类型的分组确定514来自UE110的第二类型的分组和第三类型的分组的等效分组速率。具体地说,可以分别基于第二和第三类型的分组的测量分组速率来确定第二和第三类型的分组的等效分组速率,例如,使用方程(6)和(8)来确定R

控制器104还可以被配置成对发往UE 110的第一类型的分组的测量分组速率、来自UE 110的第二类型的分组的加权等效分组速率和第三类型的分组的加权等效分组速率求和516,以确定等效聚合分组速率,例如,根据方程(9)确定聚合下行链路分组122速率。

控制器104还可以被配置成基于等效聚合分组速率确定518由UE 110在处理引擎105上造成的聚合负载百分比。还可以基于处理引擎105中(发往UE 110的)第一类型的分组的最大分组速率(如果使用方程(10))或X(如果使用方程(11))来确定UE 110造成的聚合负载百分比。

在会话创建时将处理引擎初始分配给UE

在UE 110会话创建时,可以分配特定处理引擎105来处理在新创建的会话上传输的(或以其它方式与新创建的会话相关的)分组(例如,上行链路分组120、下行链路分组122和/或C-SAP分组)。向新会话分配适当的处理引擎105对于负载均衡可能是有用的。传统的并行处理系统可以基于处理引擎105负载来分配,例如,可以选择最低负载处理引擎105。然而,此类常规分配并不区分会话负载(例如,在每个处理引擎105上托管的会话的数量)与处理引擎105上的处理负载。

相比之下,当最初将处理引擎105分配给UE 110会话时,控制器104(例如,分布器/负载均衡器134)可以将(由处理引擎105处理的)会话的数量与处理引擎105上的处理负载组合。这样,可以更有效地控制不同处理引擎105之间的任何负载不平衡,例如,出于负载均衡的目的,需要将UE110从一个PE 105重定向到另一个PE的情况将减少。

从具有不同流量属性的UE 110的集合到控制器104的传入流量在会话的大小和寿命方面可能变化。对于许多UE 110具有相似属性的情况,如本文所述,在不同处理引擎105上分布UE 110可以使每个处理引擎105处理缩小版本的聚合传入流量。

然而,与用于初始会话分配的常规技术相比,当最初将处理引擎105分配给UE 110时,控制器104可以考虑会话负载(例如,由处理引擎105处理的会话的数量)和分组负载(例如,处理引擎105上的分组处理负载)两者。对于具有健康会话周转率(例如,给定时间间隔内大量传入和传出会话)的情境,本文中所述的初始分配可以有效地维持处理引擎105之间的负载平衡。

当描述初始处理引擎105分配时,可以参考以下计数和参数:

SCounti—处理引擎i(PEi)105上托管的会话的数量;

PELoadi—如上所述计算的PEi 105上的CPU负载。

如上所述,所有处理引擎105的负载值可以每Tupd间隔148更新一次。另外,当在会话创建时最初将处理引擎105分配给UE 110时,可以使用以下参数:

LeastCPULoadPEIndex—从CPU处理角度来看负载最低的PE 105的索引;以及

LeastSessionLoadPEIndex—会话负载最低的PE 105的索引。

CPULoadDiff—最低负载PE 105的CPU负载与最高负载PE 105的CPU负载之间的差值;

CPULoadDifferenceThreshold—可配置阈值,例如,默认设置为40%;

CPULoadDifferenceTimeThreshold—可配置阈值,例如,默认设置为2秒;

LoadAssignmentState—在运行时设置为“会话”或“负载”,例如默认设置为会话。如果CPULoadDiff在CPULoadDifferenceTimeThreshold秒内大于CPULoadDifferenceThreshold,则将LoadAssignmentState设置为“负载”,否则,将LoadAssignmentState设置为“会话”。

初始分配可以由分布器/负载均衡器134(或控制器104上的另一模块)执行。在初始PE 105分配期间,当处理引擎105上不存在显著的处理负载差异时,分布器/负载均衡器134可以尝试使会话的数量在PE 105间保持平衡。这可以通过将当前处理最小/最少数量的会话的分组的PE 105分配给传入的新会话来完成。将新会话这样初始分配给PE 105可以优化大量会话具有类似属性的大多数情境。

然而,如上所述,由于来自某些UE 110的长寿命大分组流可能导致负载不平衡。当在控制器104中出现此类分组流时,可能产生处理负载差异。响应于检测到这种差异,在确定要分配给传入的新会话的最低负载PE 105时,分布器/负载均衡器134可以替代地使用(每个处理引擎105的)处理负载而不是会话负载。

可以使用可配置参数CPULoadDifferenceThreshold和CPULoadDifferenceTimeThreshold来基于CPULoadDiff是否在CPULoadDifferenceTimeThreshold内大于CPULoadDifferenceThreshold将初始会话分配的模式从“会话”(例如,基于哪个PE 105当前正在处理最小数量的会话的分组)改变为“负载”。基于此比较,将LoadAssignmentState设置为“会话”或“负载”。当PE 105负载更新时,可以在每个

总之,可以将新会话分配给控制器104中的最低负载PE 105。可以使用会话负载或处理负载,例如,根据LoadAssignmentState是“会话”还是“负载”来识别最低负载PE 105。只要最低和最高负载PE 105之间的处理负载差异(例如,CPULoadDiff)大于设定的阈值(例如,CPULoadDifferenceTimeThreshold),控制器104就可以保留在“负载”LoadAssignmentState中。

图6是示出了用于在会话创建时将处理引擎105初始分配给UE 110的示范性方法600的流程图。换言之,方法600可以分配特定处理引擎105来处理在新创建的UE 110会话上传输的(或以其它方式与其相关的)分组(例如,上行链路分组120、下行链路分组122和/或C-SAP分组)。方法600可以由控制器104(例如,控制器104中的分布器/负载均衡器134)执行,所述控制器执行存储在存储器或可编程装置(例如,FPGA或专用硬件,例如ASIC)中的指令。

为了易于解释,按照大致顺序的方式布置了图6中所示的流程图的框;不过,要理解的是,这种布置仅仅是示范性的,并且应当认识到,与方法600(和图6中所示的框)相关联的处理可以按照不同次序发生(例如,在并行地和/或以事件驱动方式执行与框相关联的处理中的至少一些的情况下)。而且,为了易于解释,未描述大部分标准异常处理;不过,要理解的是,方法600可以并且典型地会包括这样的异常处理。

控制器104可以被配置成进入602第一模式,在第一模式中,将每个新(即,先前未分配)UE 110会话分配给(控制器104中)当前正在处理最少/最小数量的UE 110会话的多个处理引擎105中的一个。例如,控制器104可以进入“会话”LoadAssignmentState,以基于每个处理引擎105正在处理的会话的数量,将处理引擎105初始地分配给UE 110会话。

控制器104还可以被配置成确定604在至少时间阈值内,(例如,在CPU负载方面)最低负载PE 105与最高负载PE 105之间的处理负载差异是否超过第一阈值。例如,控制器104可确定CPULoadDiff是否在至少CPULoadDifferenceTimeThreshold内大于CPULoadDifferenceThreshold。如上所述,可以基于每个PE 105上的相应CPU负载,来识别最低负载PE 105和最高负载PE 105,例如分别具有最低CPU负载百分比和最高CPU负载百分比。例如,CPULoadDifferenceThreshold和CPULoadDifferenceTimeThreshold可以默认分别设置为40%和2秒。

控制器104还可以被配置成在最低负载PE 105与最高负载PE 105之间的处理负载差异在至少时间阈值内不超过第一阈值时,保持在第一模式中。

控制器104还可以被配置成,响应于最低负载PE与最高负载之间的处理负载差异在至少时间阈值内超过第一阈值,进入第二模式,在第二模式中,将每个新UE会话分配给最低负载PE(在CPU负载方面)。例如,控制器104可以进入“负载”LoadAssignmentState,以基于每个处理引擎105的CPU负载(例如,CPU负载百分比)将处理引擎105分配给新UE 110会话。

任选地,控制器104可以被配置成确定608最低负载PE 105与最高负载PE 105之间的处理负载差异是否下降到第一阈值之下。响应于最低负载PE与最高负载PE之间的处理负载差异下降到第一阈值之下,控制器104可以重新进入第一模式(例如,“会话”LoadAssignmentState)。

然而,如果最低负载PE与最高负载PE之间的处理负载差异不低于第一阈值,则控制器104可以保持在第二模式(例如,“负载”LoadAssignmentState)中。例如,只要最低负载与最高负载PE 105之间的处理负载差异(例如,CPULoadDiff)大于第一阈值(例如,CPULoadDifferenceTimeThreshold),控制器104就可以保留在“负载”LoadAssignmentState中。

会话重定向

当到控制器104的传入流量在传入和传出会话方面具有良好(例如,适当高)的周转率时,可以如图6的方法600中所述最初地执行初始分配/负载均衡,例如,根据处理负载差异,首先使用PE 105上的会话负载,然后使用CPU负载。然而,当控制器104中出现并持续负载不平衡时,尤其是当控制器104上的会话保持静态且周转极少时,仍然可能存在某些情况。在此类情况下,UE 110可以从过载PE 105重定向(例如,重新分配)到其它PE 105以使控制器104上的负载均衡。

在每个T

表4:包含不同流量负载范围中的UE的每个PE的表

例如,具有UE-ID A的UE 110可以在用于处理负载范围大于70%(并且低于80%)的UE 110的区/桶/区格中。类似地,具有UE-ID M和N的UE110可以在用于处理负载范围低于10%的UE 110的区/桶/区格中。通过这种方式,由于UE 110产生的总负载不超过100%。应注意,可以使用任何适当数量的区(和区之间的边界)。另外,UE-ID可以采用任何形式,但优选地,UE-ID是整数值,以便帮助查找存储相关会话信息(例如,UE-ID LUT 142和承载IDLUT 144)的表。

可以响应于最低负载PE 105与最高负载PE 110之间的处理负载差异在UERedirectionTimeThreshold秒内超过CPULoadDifferenceThreshold而将UE110重定向。监测对应于各个PE 105的队列长度可以提供类似效果(但基于时间阈值的重定向可能更容易实现)。

可以将UERedirectionTimeThreshold的值配置为比CPULoadDifferenceTimeThreshold(用于初始PE 105分配)多几(例如,1、2、3、4、5等)秒。

当最低负载PE 105与最高负载PE 105之间的处理负载差异在UERedirectionTimeThreshold秒内超过CPULoadDifferenceThreshold时,可以将一个或多个UE 110从最高负载PE 105重定向到最低负载PE 105(就CPU负载而言)。使用表4,控制器104(例如,分布器/负载均衡器134)可以选择最合适的UE 110集合以从最高负载PE 105重定向到最低负载PE 105。

换句话说,使用上述负载贡献估计,可以创建并维持根据UE 110(在其各自的PE105上)生成的负载量对所述UE进行分组的表(类似于表4)。例如,(在其各自的PE 105上的)负载贡献在10至20%范围内(大于10,但不大于20)的UE 110可以被分组在索引1处。类似地,(在其各自的PE105上)生成在20%至30%范围内的负载贡献的UE 110可以被分组在索引2处,以此类推。

令“d”为最高负载PE 105与最低负载PE 105之间的处理负载差异。函数round(d/2)的返回值可以标识要重定向的负载量。基于要重定向的负载量,可以选择(例如,表4中)适当索引处的UE 110进行重定向。

具体地说,可以基于表中的区/桶/区格的数量(M)(例如,表4为10)来确定索引(例如,从0开始)。另外,100/M也是表中每个区/桶/区格的百分比范围,例如表4为10。就M而言,可以使用方程(13)来确定表(例如,表4)中的索引:

索引=CPULoadDiff/((2*100)/M) (13)

其中,CPULoadDiff是最高负载PE 105与最低负载PE 105之间的负载差异。在索引不是整数的配置中,索引可以被下舍入到最接近的整数。由于M在表4中为10,因此索引(对于50%负载差异)可以被计算为50/((2*100)/M)=2.5,其可以被下舍入为2。(在表4中)索引2处的UE 110可以贡献大于20%且小于30%的处理负载范围。

换句话说,索引可以基于CPULoadDiff的范围(其在本文所论述的示例中为百分比,例如0-100%)和表中的各个条目的百分比范围(100/M),例如,索引=((CPULoadDiff/2)/范围)。使用表4,我们有10个条目,每个条目在其各自的10%上限内保存UE 110。在本示例中,索引(对于50%负载差异)可以被计算为((50/2)/10)=2.5,其可以被下舍入为2。(在表4中)索引2处的UE 110可以贡献大于20%且小于30%的处理负载范围。

可以基于(1)准确性与(2)用于创建/维护表(例如,表4)和确定表的索引的资源量之间的折衷关系来选择M(并且隐含地,选择范围100/M)。例如,如果我们希望补偿更加准确,我们可以在表4中包括20个区/桶/区格,例如,在表4可以在5%粒度的范围内存储UE110的情况下。在这种情况下(M=20),我们需要使用索引=(CPULoadDiff/((2*100)/20)=(CPULoadDiff/(2*5))。

类似地,如果我们希望补偿更加准确,可以用2%范围(M=50)来创建表4,那么我们将使用索引=(CPULoadDiff/((2*100)/50)=(CPULoadDiff/(2*2))。

如果在(表4的)所识别的索引处不存在UE 110,则可以从表4中的较低索引选择更多UE 110来填充负载差异间隙,例如用于重定向。应注意,如果在所识别的索引处表(例如,表4)中没有UE 110,则与本来要从所识别的索引获取的UE 110的数量相比,可能需要更低索引处的更大数量的UE 110(以满足要重定向的负载)。例如,如果索引2处的一个UE 110可以被重定向以满足要重定向的负载,则可以选择索引1处的两个UE 110进行重定向。

图7是示出了对并行处理架构的示范性增强的框图,所述并行处理架构使得能够将UE 110会话从源PE 105无缝重定向到目的地PE 105。图7中示出的控制器104可以类似于图3中示出的控制器104进行配置,例如,主输入缓冲器132、UE-ID LUT 142、承载ID LUT144、共享存储器138和输出140可以对应于图3中示出的其对应部分并且类似于它们工作。然而,图7示出了针对控制器104中的处理引擎105A-N中的每一个的UE重定向队列137A-N(除主队列136A-N之外)。应注意,即使图3中未示出UE重定向队列137,它们仍可存在于图3中示出的控制器104中。此外,可结合图7描述分布器/负载均衡器134的附加功能性(例如,会话重定向等),然而,图3和7中的分布器/负载均衡器134可以各自执行任一配置中的一些或全部功能。

如上所述,按照顺序(例如,到达顺序)处理往返于给定UE 110的分组可能是有益的。图7中的控制器104为典型的并行处理模型提供架构改进,所述并行处理模型在UE 110重定向时无法(在无序分组处理方面)避免中断。具体地说,为了确保此处理顺序,当将UE110从一个PE 105重定向到另一个PE时,控制器104可以使用两个额外元件。

首先,控制器104可以利用针对每个处理引擎105的UE重定向队列137。通常(在并行多处理系统中),单个队列可以将数据馈送到每个处理引擎105。相比之下,控制器104可以使用针对每个PE 105的两个队列以便执行无中断重定向。当没有进行重定向时,称为主队列136的第一类型的队列可以用于正常操作。称为UE重定向队列137的第二类型的队列仅可在UE 110正在从一个PE 105移动/重定向到另一个PE时使用。每个UE重定向队列137可以与相应的标志(例如,DequeueStatus标志)相关联,该标志可以默认设置为假,然后在重定向期间设置为真,并且任选地在重定向之后返回到假。每个UE重定向队列137和每个主队列136可以具有唯一标识符,称为Qid,以将其与每个其他主队列137和UE重定向队列137区分开来。

第二,控制器104可以利用UE移动就绪消息(未示出)。这可以是从分布器/负载均衡器134到源PE 105的新消息,以用于协调UE 110移动/重定向。每个UE移动就绪消息可以包括:(1)唯一地标识UE移动就绪消息的UE移动消息ID(例如,在标头中);(2)标识至少一个UE 110要重定向到的主队列136和/或UE重定向队列137的目的地Qid;和/或(3)正被移动的UE-ID的列表。

在选择用于从源PE 105重定向到目的地PE 105的UE 110之后,分布器/负载均衡器134可以(1)更新查找表条目(例如,UE-ID LUT 142和/或承载ID LUT 144的队列ID字段),以使被移动/重定向的UE 110指向所选择目的地PE 105的UE重定向队列137的Qid;并且(2)将就绪指示事件(例如,UE移动就绪消息)插入到源PE 105的主队列136中。从这一点开始,可以将所有分组(与正被重定向的会话有关)放置在目的地PE 105的UE重定向队列137中。只要其UE重定向队列137的DequeueStatus仍然为假,则目的地PE 105优选不处理其UE重定向队列137(尽管源PE 105可以主动处理其主队列136中的分组/条目)。当它在其主队列136中遇到就绪指示事件(例如,UE移动就绪消息)之后,源PE 105可以将目的地PE105的UE重定向队列137的DequeueStatus设置为真。当目的地PE 105检测到其UE重定向队列137状态已改变时,目的地PE 105可以改变查找表条目(例如,UE-ID LUT 142和/或承载IDLUT 144的队列ID字段),以使被移动/重定向的UE 110指向其自己的主队列136。目的地PE105可以在其移回处理其主队列136之前,完成对其UE重定向队列137中的分组/条目的处理。一旦目的地PE 105完成对其UE重定向队列137中的分组/条目的处理,其可以将DequeueStatus设置回到假。

图8是示出了用于将UE 110会话从源PE 105重定向到目的地PE 105的示范性方法800的流程图。方法800可以由控制器104执行,例如,由控制器104中的元件,例如分布器/负载均衡器134、处理引擎105、主队列136和/或UE重定向队列137的某种组合来执行。

为了易于解释,按照大致顺序的方式布置了图8中所示的流程图的框;不过,要理解的是,这种布置仅仅是示范性的,并且应当认识到,与方法800(和图8中所示的框)相关联的处理可以按照不同次序发生(例如,在并行地和/或以事件驱动方式执行与框相关联的处理中的至少一些的情况下)。而且,为了易于解释,未描述大部分标准异常处理;不过,要理解的是,方法800可以并且典型地会包括这样的异常处理。

任选地,控制器104可以被配置成触发802将至少一个UE 110会话从源PE 105重定向到目的地PE 105。可以响应于最低负载PE 105与最高负载PE 105之间的处理负载差异在UERedirectionTimeThreshold秒内超过CPULoadDifferenceThreshold,触发重定向。

控制器104(例如,分布器/负载均衡器134)还可以被配置成更新804查找表(例如,UE-ID LUT 142和/或承载ID LUT144)条目,以使被重定向的UE 110指向目的地PE 105的UE重定向队列137,而不是例如源PE105的主队列136的队列ID(例如,Qid)。

控制器104(例如,分布器/负载均衡器134)还可以被配置成将UE移动就绪消息插入806到源PE 105的主队列136中。每个UE移动就绪消息可以包括:(1)唯一地标识UE移动就绪消息的UE移动消息ID(例如,在标头中);(2)标识至少一个UE 110要重定向到的主队列136的目的地Qid;和/或(3)正被移动的UE-ID的列表。

控制器104(例如,分布器/负载均衡器134)还可以被配置成将与UE110会话有关的所有分组放置808在目的地PE 105的UE重定向队列137中。只要其UE重定向队列137的状态标志仍然为假,则目的地PE 105优选地不处理其UE重定向队列137(尽管源PE 105可以主动处理其主队列136中的分组/条目)。

响应于处理UE移动就绪消息,控制器104(例如,源PE 105)还可以被配置成将目的地PE 105的UE重定向队列137的状态标志(例如,DequeueStatus标志)设置810为真。例如,每个相应UE重定向队列137的状态标志可以默认设置为假,然后在重定向期间设置为真(并且在重定向完成时返回到假)。

响应于检测到目的地PE 105的UE重定向队列137的状态标志为真,控制器104(例如,目的地PE 105)还可以被配置成更新812查找表(例如,UE-ID LUT 142和/或承载ID LUT144)条目,以使被重定向的UE 110指向目的地PE 105的主队列136的队列ID(例如,Qid)。

控制器104(例如,目的地PE 105)还可以被配置成在处理目的地PE105的主队列136中的分组之前,处理814目的地PE 105的UE重定向队列137中的所有剩余分组。

图9是示出了用于将UE 110会话从源PE 105重定向到目的地PE 105的具体示范性方法900的序列图。方法900可以由控制器104执行,例如,由控制器104中的元件,例如分布器/负载均衡器134、处理引擎105、主队列136和/或UE重定向队列137的某种组合来执行。

具体地说,方法900示出了控制器104可以如何将UE会话从第一PE(PE 1)105A重定向到第二PE(PE 2)105B。在此示例中,PE 1 105A的主队列136A和UE重定向队列137A的Qid分别为“1”和“5”。并且,PE 2105B的主队列136B和UE重定向队列137B的Qid分别为“2”和“6”。

在步骤902中,分布器/负载均衡器134可以触发UE会话的重定向,例如,以将UE-ID“2”从PE 1 105A移动到PE 2 105B。可以响应于最低负载PE105与最高负载PE 105之间的处理负载差异在UERedirectionTimeThreshold秒内超过CPULoadDifferenceThreshold,触发重定向。

在步骤904中,分布器/负载均衡器134可以更新查找表(例如,UE-ID LUT 142)中的条目,以使UE-ID 2指向Qid 6(对应于PE 2 105B的UE重定向队列137B的Qid 6,例如,而不是PE 1 105A的主队列136A的Qid1)。

在步骤906中,分布器/负载均衡器134可以更新查找表(例如,承载ID LUT 144)中的条目,以使承载ID 3指向Qid 6(对应于PE 2 105B的UE重定向队列137B的Qid 6,例如,而不是PE 1 105A的主队列136A的Qid1)。

在步骤908中,分布器/负载均衡器134可以将UE移动就绪消息插入到源PE(在此情况下为PE 1 105A)的输入/主队列136A中。如上文所论述的,UE移动就绪消息可以包含标识PE 2 105B的主队列136B的Qid和正被移动/重定向的UE-ID的列表。

在步骤910中,分布器/负载均衡器134可以继续正常操作,例如,处理主输入缓冲器132并将分组传递到PE 105。由于PE 2 105B的UE重定向队列137的状态标志仍然为假,因此PE 2 105B不处理其UE重定向队列137B,并且PE 1 105A主动处理其主队列136A中的分组。

在步骤912中,在处理其主队列136A中的分组的正常操作期间,PE 1105A可能遇到UE移动就绪消息。在步骤914中,PE 1 105A可以更新PE 2105B的UE重定向队列137B上的DequeueStatus标志的状态,并将正在移动/重定向的UE 110的列表保持在PE 2 105B可以访问的存储器中。在步骤916中,PE 1 105A可以继续正常操作,并持续处理其主队列136A。

然而,在步骤918中,PE 2 105B可以确定其UE重定向队列137B已准备好进行处理,例如,将PE 2 105B的UE重定向队列137B上的DequeueStatus标志设置为真。作为响应,PE 2105B可以更新正被分布器/负载均衡器134使用的LUT(例如,UE-ID LUT 142和/或承载IDLUT 144)条目,以使已经移动的UE 110指向其自己的主队列136B。PE 2 105B还可以完成对其UE重定向队列137B中的分组的处理。PE 2 105B还可以在处理UE重定向队列137B中的所有分组后,将其UE重定向队列137B上的DequeueStatus标志设置为假。接着,PE 2 105B可以返回处理其主队列136B。

总结

一般来说,本系统和方法解决了并行处理系统中,特别是在具有分布式架构的eNB(例如,如图1中所示)中的分组处理的负载均衡问题。这包括负载测量和UE重定向。

首先,描述处理引擎上的负载测量。负载测量可以基于分组速率测量分组处理中涉及的处理器上的处理负载。这是基于通常可在eNB中维持的分组计数来完成的。除了有助于高效率负载均衡外,此方法还可以消除提供测量处理器上处理负载的手段对平台应用程序编程接口(API)的依赖。当处理器被正在以多线程方式执行不同功能的模块共享时,这可以是特别有用的。使用此方法,可以准确估计分组处理线程对CPU上的总体处理负载的贡献。

其次,描述个体UE负载测量。除了处理引擎上的负载测量,也可以基于各个UE生成的分组速率来估计来自它们的负载。通过组合两个不同的负载测量值,可以将总负载表示为各个UE的处理负载的总和。这可以使得能够在检测到负载不平衡时选择最佳可能的UE集合以进行重定向。

第三,本系统和方法描述了一种改进的并行处理模型,其将UE(相对于分组处理顺序、延迟等)无中断地从一个PE重定向到另一个PE。

第四,本系统和方法描述了一种用于选择待分配给新UE会话的处理引擎的新方法。此选择可以考虑PE上的会话负载和处理负载两者。相对于选择具有最低处理负载的PE的常规算法,这可能具有益处。

在此描述的方法和技术可以在数字电子电路中实现,或者利用可编程处理器(例如,专用处理器或通用处理器,诸如计算机)固件、软件或它们的组合来实现。体现这些技术的设备可以包括适当的输入和输出设备、可编程处理器和有形地体现供可编程处理器执行的程序指令的存储介质。体现这些技术的过程可以通过可编程处理器执行指令程序以通过对输入数据进行操作并生成适当输出来执行期望功能而得到执行。这些技术可以有利地在能够在可编程系统上执行的一个或多个程序中实现,该可编程系统包括至少一个输入设备、至少一个输出设备以及被耦合以从数据存储系统接收数据和指令并且将数据和指令发送到数据存储系统的至少一个可编程处理器。一般来讲,处理器将从只读存储器和/或随机存取存储器接收指令和数据。适于有形地实现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,例如包括半导体存储器设备,诸如EPROM、EEPROM、和闪存存储器设备;诸如内部硬盘和可移动磁盘的磁盘;磁光盘;和DVD盘。前述任一项可以由专门设计的专用集成电路(ASIC)补充或并入其中。

术语

下文给出了贯穿本申请使用的术语、缩写和短语的简要定义。

术语“确定”及其变体可以包括计算、提取、生成、运算、处理、推导、建模、研究、查找(例如,在表格、数据库或另一种数据结构中查找)、查明等。此外,“确定”还可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选定、建立等。

除非另有明确说明,否则短语“基于”并不意味着“仅基于”。换句话讲,短语“基于”描述了“仅基于”和“至少基于”两者。另外,术语“和/或”是指“和”或“或”。例如,“A和/或B”可意指“A”、“B”或“A和B”。另外,“A、B和/或C”可意指“单独的A”、“单独的B”、“单独的C”、“A和B”、“A和C”、“B和C”或“A、B和C”。

术语“连接”、“耦合”和“通信地耦合”以及相关术语在操作意义上使用,并且不必限于直接的物理连接或耦合。因此,例如,两个装置可以直接耦合,或者经由一个或多个中间介质或装置耦合。又如,装置可以这样的方式耦合使得信息可以在装置之间传递,而装置彼此之间不共享任何物理连接。基于本文所提供的公开内容,本领域的普通技术人员将理解根据前述定义存在连接或耦合的多种方式。

短语“在示例性配置中”、“在示例配置中”、“在一些配置中”、“根据一些配置”、“在所示的配置中”、“在其他配置中”、“配置”,“在示例中”、“示例”、“在一些示例中”、“一些示例”等通常表示该短语之后的特定特征、结构或特性包括在本公开的至少一种配置中,并且可以被包括在本公开的不止一种配置中。另外,此类短语不一定指相同的配置或不同的配置。

如果说明书中指出“可以”(“may”)、“能够”(“can”、“could”)、或“可能”(“might”)包括部件或特征或具有特性,则不需要包括该特定部件或特征或不需要具有该特性。

术语“响应”或“响应于”可指示响应于另一动作而完全或部分地执行了动作。

术语“模块”广义上是指软件、硬件或固件(或它们的任何组合)部件。模块通常是可使用指定的一个或多个输入生成有用的数据或其他输出的功能部件。模块可以是独立的,也可以不是独立的。应用程序(也称为“应用”)可以包括一个或多个模块,或者模块可以包括一个或多个应用程序。

术语“网络”通常是指一组能够交换信息的互连装置。网络范围可以小至局域网(LAN)上的几台个人计算机,也可以大至遍布全球的计算机网络,即因特网。如本文所使用的,“网络”旨在涵盖能够将信息从一个实体传输到另一个实体的任何网络。在一些情况下,一个网络可以包括多个网络,甚至多个异构网络,诸如一个或多个边界网络、语音网络、宽带网络、金融网络、服务提供商网络、因特网服务提供商(ISP)网络和/或公共交换电话网络(PSTN),经由可操作为促进各种网络之间的通信的网关互连。网络所使用的传输介质可以包括同轴电缆、光纤电缆、双绞线、数字用户线路(DSL)或它们的组合。无线网络也可以使用空气作为传输介质。

此外,出于说明的目的,本文在现代计算机网络内的计算机程序、物理部件和逻辑交互的上下文中描述了本公开的各种配置。重要的是,虽然这些配置描述了关于现代计算机网络和程序的本公开的各种配置,但是如本领域的技术人员将理解的,本文所述的方法和装置同样适用于其他系统、装置和网络。这样,所示出的本公开的配置的应用并不意味着是限制性的,而是示例。适用于本公开的配置的其他系统、装置和网络包括例如其他类型的通信以及计算机装置和系统。更具体地,配置适用于通信系统、服务以及装置,诸如蜂窝电话网络和兼容装置。此外,配置适用于从个人计算机到大型网络大型机和服务器的所有计算级别。

在以上描述中,附图标号有时与各种术语结合使用。当术语与附图标号结合使用时,这可能意味着指代一个或多个附图中所示的特定元件。在使用没有附图标号的术语的情况下,这可能意味着通常指代该术语,而不限于任何特定的附图。

本文公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。在不脱离权利要求的范围的情况下,方法步骤和/或动作可以彼此互换。换句话讲,除非所描述的方法的正确操作需要特定的步骤或动作顺序,否则可以修改特定步骤和/或动作的顺序和/或使用而不脱离权利要求的范围。

在此介绍的技术可以体现为专用硬件(诸如电路)、用软件和/或固件适当编程的可编程电路,或专用和可编程电路的组合。因此,配置可以包括其上存储有指令的机器可读介质(也称为计算机可读介质),这些指令可用于对计算机(或其他电子装置)进行编程以执行处理。机器可读介质可以包括例如软盘、光盘、光盘只读存储器(CD-ROM)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、磁卡或光卡、闪存存储器或其他适合存储电子指令的介质/机器可读介质。机器可读介质可以是有形的和非暂时性的。

总之,本公开提供了用于LTE演进节点B中的分组处理的负载测量和负载均衡的新颖系统、方法和布置。尽管上文已经给出了本公开的一种或多种配置的详细描述,但是在不改变本公开的精神的情况下,各种替代方案、修改和等同形式对于本领域的技术人员将是显而易见的。例如,虽然上述配置是指特定的特征、功能、过程、部件、元件和/或结构,但是本公开的范围还包括具有特征、功能、过程、部件、元件和/或结构的不同组合的配置,以及不包括所有所描述的特征、功能、过程、部件、元件和/或结构的配置。因此,本公开的范围旨在涵盖落入权利要求范围内的所有此类另选方案、修改和变型以及它们的所有等同形式。因此,以上描述不应被视为限制。

示例1包括一种处理基带频带中的信号的控制器,所述控制器包括:多个处理引擎(PE);以及包括至少一个处理器或处理核心的分布器/负载均衡器,其中,至少一个处理器或处理核心被配置成:进入第一模式,在该第一模式中,将每个新UE会话分配给当前正在处理最少数量的UE会话的PE;确定最低负载PE与最高负载PE之间的处理负载差异是否在至少时间阈值内超过第一阈值;以及响应于最低负载PE与最高负载PE之间的处理负载差异在至少该时间阈值内超过第一阈值,进入第二模式,在该第二模式中,将每个新UE会话分配给最低负载PE。

示例2包括根据示例1所述的控制器,其中,至少一个处理器或处理核心还被配置成:确定最低负载PE与最高负载PE之间的处理负载差异是否下降到第一阈值以下;当最低负载PE与最高负载PE之间的处理负载差异下降到第一阈值以下时,重新进入第一模式;以及当最低负载PE与最高负载PE之间的处理负载差异保持在第一阈值以上时,保持在第二模式中。

示例3包括根据示例1-2中任一项所述的控制器,其中,至少一个处理器或处理核心还被配置成确定最低负载PE和最高负载PE。

示例4包括根据示例3所述的控制器,其中,为了确定最低负载PE和最高负载PE,至少一个处理器或处理核心还被配置成:对于控制器中的每个PE,测量由处理引擎处理的至少第一类型的分组、第二类型的分组和第三类型的分组中每一种的分组速率;按照第一类型的分组确定第二类型的分组和第三类型的分组的等效分组速率;对第一类型的分组的测量分组速率、第二类型的分组的加权等效分组速率和第三类型的分组的加权等效分组速率求和以确定等效聚合分组速率;并且基于等效聚合分组速率确定处理引擎的聚合负载百分比。

示例5包括根据示例4所述的控制器,其中,至少一个处理器或处理核心还被配置成:确定具有最低聚合负载百分比的PE是最低负载PE;并且确定具有最高聚合负载百分比的PE是最高负载PE。

示例6包括根据示例3-5中任一项所述的控制器,其中,至少一个处理器或处理核心还被配置成响应于最低负载PE与最高负载PE之间的处理负载差异在时间阈值内超过第一阈值,触发UE会话从源PE到目的地PE的重定向。

示例7包括示例3-6中任一项所述的控制器,其中,为了确定响应于最低负载PE和最高负载PE之间的处理负载差异从源PE重定向到目的地PE的合适的UE集合,所述至少一个处理器或处理核心还被配置成:对于控制器中的每个UE,测量由服务PE处理的至少第一类型的分组、第二类型的分组和第三类型的分组中的每一种的分组速率;按照第一类型的分组确定第二类型的分组和第三类型的分组的等效分组速率;对第一类型的分组的测量分组速率、第二类型的分组的加权等效分组速率和第三类型的分组的加权等效分组速率求和以确定等效聚合分组速率;以及基于相应UE贡献的等效聚合分组速率确定服务PE的聚合负载百分比;并且基于每个UE的确定的聚合负载百分比,将相应UE置于具有合适数量的区格的查找表中,其中每个区格表示特定的范围或区间。

示例8包括根据示例3-7中任一项所述的控制器,其中,所述至少一个处理器或处理核心还被配置成通过以下方式确定具有待重定向的UE会话的UE集合:确定最低负载PE与最高负载PE之间的处理负载差异;通过将处理负载差异除以二并四舍五入到最接近的整数,来确定待传输的负载量;基于处理负载差异和查找表中的区格的数量确定查找表的索引,其中查找表根据相应PE上的相应UE的处理负载范围对UE进行分组;以及当查找表在该索引处包括至少一个UE时,选择至少一个UE中的若干UE进行重定向;并且当查找表在该索引处不包括至少一个UE时,在查找表的下一个最低索引处搜索其他UE进行重定向。

示例9包括根据示例6-8中任一项所述的控制器,其中,响应于触发重定向,至少一个处理器或处理核心还被配置成将UE会话从源PE重定向到目的地PE。

示例10包括根据示例9所述的控制器,其中,为了将UE会话从源PE重定向到目的地PE,所述至少一个处理器或处理核心还被配置成:更新查找表条目,以使被重定向的UE指向目的地PE的UE重定向队列的队列ID;将UE移动就绪消息插入到源PE的主队列中;以及将与UE会话相关的所有分组放置在目的地PE的UE重定向队列中。

示例11包括根据示例10所述的控制器,其中,为了将UE会话从源PE重定向到目的地PE:响应于处理UE移动就绪消息,源PE将目的地PE的UE重定向队列的状态标志设置为真;响应于检测到目的地PE的UE重定向队列的状态标志为真,目的地PE更新查找表条目,以使被重定向的UE指向目的地PE的主队列的队列ID;并且目的地PE在处理目的地PE的主队列中的分组之前,处理目的地PE的UE重定向队列中的所有剩余分组。

示例12包括根据示例1-11中任一项所述的控制器,其中,控制器中的每个PE是处理器中的多个核心中的一个。

示例13包括根据示例1-12中任一项所述的控制器,其中,所述控制器处于实现长期演进(LTE)演进节点B(eNB)的集中式无线电接入网络(C-RAN)中,所述演进节点B还包括被配置成与多个用户设备(UE)交换射频(RF)信号的多个无线电点,其中,控制器位于物理上远离无线电点的位置。

示例14包括一种由包括多个处理引擎(PE)和分布器/负载均衡器的控制器执行的方法,该方法包括:进入第一模式,在该第一模式中,将每个新UE会话分配给当前正在处理最少数量的UE会话的PE;确定最低负载PE于最高负载PE之间的处理负载差异是否在至少时间阈值内超过第一阈值;以及响应于最低负载PE于最高负载PE之间的处理负载差异在至少该时间阈值内超过第一阈值,进入第二模式,在该第二模式中,将每个新UE会话分配给最低负载PE。

示例15包括根据示例14所述的方法,还包括:确定最低负载PE与最高负载PE之间的处理负载差异是否下降到第一阈值以下;当最低负载PE与最高负载PE之间的处理负载差异下降到第一阈值以下时,重新进入第一模式;并且当最低负载PE与最高负载PE之间的处理负载差异保持在第一阈值以上时,保持在第二模式中。

示例16包括根据示例14-15中任一项所述的方法,其中还包括确定最低负载PE和最高负载PE。

示例17包括根据示例16所述的方法,还包括:对于控制器中的每个PE,测量由处理引擎处理的至少第一类型的分组、第二类型的分组和第三类型的分组中的每一种的分组速率;按照第一类型的分组确定第二类型的分组和第三类型的分组的等效分组速率;对第一类型的分组的测量分组速率、第二类型的分组的加权等效分组速率和第三类型的分组的加权等效分组速率求和以确定等效聚合分组速率;以及基于等效聚合分组速率确定处理引擎的聚合负载百分比。

示例18包括根据示例17所述的方法,还包括:确定具有最低聚合负载百分比的PE是最低负载PE;以及确定具有最高聚合负载百分比的PE是最高负载PE。

示例19包括根据示例16-18中任一项所述的方法,还包括响应于最低负载PE与最高负载PE之间的处理负载差异在时间阈值内超过第一阈值,触发UE会话从源PE到目的地PE的重定向。

示例20包括根据示例16-19中任一项所述的方法,其中,为了确定响应于最低负载PE于最高负载PE之间的处理负载差异从源PE重定向到目的地PE的合适的UE集合,所述方法还包括:对于控制器中的每个UE,测量由服务PE处理的至少第一类型的分组、第二类型的分组和第三类型的分组中的每一种的分组速率;按照第一类型的分组确定第二类型的分组和第三类型的分组的等效分组速率;对第一类型的分组的测量分组速率、第二类型的分组的加权等效分组速率和第三类型的分组的加权等效分组速率求和以确定等效聚合分组速率;以及基于相应UE贡献的等效聚合分组速率确定服务PE的聚合负载百分比;并且基于每个UE的确定的聚合负载百分比,将相应UE置于具有合适数量的区格的查找表中,其中每个区格表示特定的范围或区间。

示例21包括根据示例16-20中任一项所述的方法,还包括通过以下方式确定用于重定向的UE会话的集合:确定最低负载PE与最高负载PE之间的处理负载差异;通过将处理负载差异除以二并四舍五入到最接近的整数,来确定待传输的负载量;基于处理负载差异和查找表中的区格的数量确定查找表的索引,其中查找表根据相应PE上的相应UE的处理负载范围对UE进行分组;以及当查找表在该索引处包括至少一个UE时,选择至少一个UE中的若干进行重定向;并且当查找表在该索引处不包括至少一个UE时,在查找表的下一个最低索引处搜索其他UE进行重定向。

示例22包括根据示例19-21中任一项所述的方法,还包括响应于触发重定向而将UE会话从源PE重定向到目的地PE。

示例23包括根据示例22所述的方法,还包括:更新查找表条目,以使被重定向的UE指向目的地PE的UE重定向队列的队列ID;将UE移动就绪消息插入到源PE的主队列中;以及将与UE会话相关的所有分组放置在目的地PE的UE重定向队列中。

示例24包括根据示例23所述的方法,还包括:响应于处理UE移动就绪消息,源PE将目的地PE的UE重定向队列的状态标志设置为真;响应于检测到目的地PE的UE重定向队列的状态标志为真,目的地PE更新查找表条目,以使被重定向的UE指向目的地PE的主队列的队列ID;并且目的地PE在处理目的地PE的主队列中的分组之前,处理目的地PE的UE重定向队列中的所有剩余分组。

示例25包括根据示例14-24中任一项所述的方法,其中,控制器中的每个PE是处理器中的多个核心中的一个。

示例26包括根据示例14-25中任一项所述的方法,其中,所述控制器处于实现长期演进(LTE)演进节点B(eNB)的集中式无线电接入网络(C-RAN)中,所述演进节点B还包括被配置成与多个用户设备(UE)交换射频(RF)信号的多个无线电点,其中,控制器位于物理上远离无线电点的位置。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号