背景技术:
移动网络网关是用于分组核心中的和演进分组核心epc中的数百万个会话的聚合点。通用分组无线业务gprs网关支持节点ggsn、分组核心中的网络元件、epc中的服务网关s-gw和分组数据网络pdn网关p-gw负责为用户设备ue提供移动网关服务,所述用户设备ue诸如平板电脑、移动电话、膝上型电脑或其他移动计算设备等。
通常,移动网关负责订户管理、会话管理、承载管理、记账、路由和转发、服务质量qos等。在传统的使用中,单个网关网络元件必须能够处理数百万个ue会话和承载数百gbps吞吐量。长期演进lte与现代手机引入不断增加的用于移动网关的用户数据和信令事件的量。
针对信令事务支持和用户数据转发能力的不断增加的需求使得移动网关需要更多的硬件以便满足针对现代网络的需要。在容量需要不断增加时,还存在在虚拟化环境中引入移动网关的压力。从硬件利用观点来看,虚拟化移动网关将不会同样地密集。然而,与嵌入式或专用解决方案相比,虚拟化移动网关将需要更多的单元来实现相同的容量和性能。
利用虚拟化网关解决方案,能引入新的移动网关虚拟机vm。新的vm可能被产生网络元件本身。相邻的元件需要考虑(例如向内扩展(scalein))使用中的新vm。第三代合作伙伴计划3gpp具有处理网络元件向外扩展(scaleout)或向内扩展操作的一些机制。
技术实现要素:
提供本发明内容以采用简化的形式介绍概念的选择,其在下面在详细描述中进一步描述。本发明内容不意图标识所要求保护的主题的关键特征或必要特征,也不意图用于限制所要求保护的主题的范围。
在一个示例中,讨论了移动网络装置,包括:至少一个处理器和存储程序指令的至少一个存储器,所述程序指令当被至少一个处理器执行时使得所述装置:接收用于请求数据连接的创建请求。基于所述创建请求,执行静态负载平衡。基于所述静态负载平衡,执行与动态负载平衡相关的高速缓存,并执行动态负载平衡。
在另一示例中,已经讨论了方法和计算机程序产品以及移动网络装置的特征。
通过参考结合附图考虑的以下详细描述,将更容易领会到许多伴随的特征,因为它们变得更好理解。
附图说明
从根据附图阅读的以下详细描述,将更好地理解本说明书,其中:
图1图示了移动架构模型的示例;
图2图示了根据说明性示例的网关云;
图3图示了根据说明性示例的负载平衡;
图4图示了根据说明性示例的负载平衡器可扩展性;和
图5是网关装置的一个说明性示例的框图。
相同的附图标记被用于在附图中指定相同的部件。
具体实施方式
以下结合附图提供的详细描述意图作为本示例的描述,并不意图表示可以构造或利用本示例的唯一形式。然而,相同或等同的功能和序列可以通过不同的示例来实现。
示例的参考和缩写:
dns域名系统
epc演进分组核心
ecmp等价多径
gbps千兆(1x10^9)位每秒
ggsn通用分组无线业务gprs网关支持节点
gw网关
gwc网关云
ie信息元素
imsi国际移动用户识别码
lb负载平衡器
lte长期演进
nfv网络功能虚拟化
nfvo网络功能虚拟化编排器
nfv-mano网络功能虚拟化管理和编排
p-gw分组数据网络pdn网关
qos服务质量
s-gw服务网关
ue用户设备
vm虚拟机
vnf虚拟化网络功能。
图1图示了3gpp移动架构模型的示例。尽管本示例可以在本文描述和说明为以ggsn、s-gw和p-gw网关类型实现,但这些仅是网关装置的示例而不是限制。如本领域技术人员将理解的,本示例适于各种不同类型的网关装置中的应用。此外,本示例适用于所有提及的网关类型,并且因此随后在文档中的术语“移动网络装置”涵盖所有网关类型。关于具体移动网关环境的相关示例和附图也适用于其他架构。
在该示例中,用于传入会话的负载平衡可以是静态的和动态的。静态负载平衡可以基于静态信息。例如,网络的特征,其独立于负载或可用资源而保持静态。静态信息的示例可以是国际移动用户识别码imsi。动态负载平衡可以基于可用资源。例如,可用资源可以取决于连接到网络或网络能力的ue的量等。
当通过向外扩展新的gwvm来增加移动网关资源时,新的gwvm不具有订户或负载;而现有的网络节点(例如操作gwvm)是高度负载的。例如,现有的网络节点首先触发向外扩展。为了获益于产生新的gwvm,新的gwvm被配置为作为用于传入ue的最少负载的vm进行操作。
此外,在产生新的gwvm之后,负载平衡功能被配置为将单个订户(例如由imsi定义)的所有会话定位到在s-gw中(并且优选地也尽可能在p-gw中)的相同网关节点,由于所请求的服务。
示例意图将动态、可扩展和接入协议独立的负载平衡器lbvm带到网关云gwc。该示例定义了负载平衡方法。该示例还定义了如何在lb内向外扩展或向内扩展vm。lb被配置为选择用于新pdn连接的最少的负载的gwvm。lb被配置为隐藏网关向外扩展或向内扩展操作不让周围网络发现。lb可以经由单个浮动地址在外部可见。lb可以独立地向外扩展或向内扩展。lb在其自身的向外扩展或向内扩展操作期间可以完全保持起作用的。
示例涉及静态负载平衡。根据该示例,lb被配置为静态地选择lbvm。从各种可用的lbvm中选择某个lbvm。静态选择基于静态信息执行。从创建请求接收静态信息。可以从ue接收创建请求。例如,可以使用imsi作为静态信息。创建请求被转发到对应的lbvm,其被配置为提供用于进一步处理的集中地方。
示例涉及动态负载平衡。所选择的lbvm还被配置为执行动态负载平衡。lb还被配置为动态地选择gwvm,例如,最少负载的gwvm。从各种可用的gwvm中选择某个gwvm。所选择的lbvm也被配置为执行高速缓存,例如检查高速缓存以得到先前的动态负载平衡决定,并且还将新的决定存储到内部高速缓存。高速缓存的决定被用于具有多个pdn连接的协议重传和切换以检索相同的负载平衡决定。因此,如果连接细节相同或相似,则可以存储并随后使用lbvm和gwvm的先前存储的选择。
图1图示了关于网络实体的进一步标准化信令接口lte-uu、s1-mme、s1-u、s10、s3、s11、s6a、s4、s12、s5、gx、sgi、rx。
图2示出了网关云gwc的示例。在1处,ue请求pdn连接。ue从ue附接到的无线电装置请求pdn连接。在2处,选择适当位置中的mme来服务于ue。在3处,mme执行dns查询。dns查询被用于获得为ue提供接入点的s-gw和p-gw的ip地址。dns查询结果可能只包括网关的浮动地址。在4处,mme发送创建请求。mme向lb发送创建请求。mme可以经由浮动接口向lb发送创建请求。在5处,进行接收的lbvm执行静态负载平衡。执行静态负载平衡以找出用于创建请求的适当lbvm,例如可以选择与静态信息(例如基于imsi)最对应的lbvm。在6处,所选择的lbvm执行动态负载平衡。所选择的lbvm执行动态负载平衡,以进一步选择最少负载的gwvm。例如,可以选择针对通信具有最大容量或最佳性能的gwvm。在7处,s-gw将创建请求转发给由mme所选择的p-gw。s-gw和p-gw包括相应的gwvm。p-gws5/s8地址也可以是浮动地址。然而,在该示例中,p-gwgwvm不经由lb进行负载平衡,以便简化该示例。
图2图示了关于网络实体的进一步标准化信令接口lte-uu、s1-mme、s11-lb、s11、s1-u、s5-u、s5-c。
gw的负载平衡的示例在图3中描绘。负载平衡方法在图3中示出。该方法基于利用在lb内高速缓存的阶段性负载平衡。
在图3的创建req处,接收创建请求。在302处,处理静态负载平衡。在lbvm之间执行静态负载平衡。执行步骤302以便针对特定ue具有用于动态负载平衡和用于高速缓存的单个集中点。需要静态负载平衡,因为没有任何保证路由器总是为所有消息选择相同的路径,例如等价多径ecmp。基于从创建消息获得的静态信息(例如imsi)来执行静态负载平衡。通过这种方式,与相同的ue相关的信令(比如重传或切换)可以由相同的静态选择的lbvm处理。
接下来,选择实际的网关节点。在303处选择gwvm。基于动态负载信息选择gwvm。从gwvm接收动态负载信息。首先检查是否存在高速缓存匹配。高速缓存有助于确保类似的连接基于存储的决定来获得gwvm。例如,高速缓存有助于为ue的所有会话保证相同的负载平衡决定。在304处,如果不存在用于请求的高速缓存匹配,则在303处执行动态负载平衡。如果在307处存在高速缓存匹配,则在308处和在cachematch创建req(重传)(如图3中)处将该请求转发到从高速缓存找到的gwvm。静态负载平衡和在高速缓存中高速缓存决定防止了针对集中式或分布式数据库的需要。
在图3中,在304处,确定不存在高速缓存匹配。现在在303处执行动态负载平衡。在305处利用该决定来更新高速缓存。在示例图3中,在305处和在创建req(重传)处示出创建请求的重传。重传可以去向任何lbvm。在staticlb:创建req处,执行静态负载平衡。在307处,找到高速缓存匹配。不存在针对动态负载平衡的需要,因为该决定已经在303处完成。因此,该决定的细节可以直接在308处和在cachematch创建req(重传)处利用。
图4图示了负载平衡器可扩展性的示例。在该示例中,步骤创建req1、staticlb创建req1、304、305和dynamiclb:创建req1可以与针对图3的示例所讨论的类似地进行。然而,静态负载平衡可能导致问题,其中新的lbvm不能被立即向外扩展或向内扩展。静态lb算法的改变破坏了针对正在进行的请求和切换的重传支持。为了保证最佳的可能服务,应当存在宽限期400,在可以改变静态lb方法之前。宽限期400被配置为保证以受控的方式改变静态负载平衡方法。宽限期400可能在所有lb扩展操作中需要,例如向外扩展或向内扩展。
根据示例,当新的lbvm被产生(例如添加、移除到或自lb)时,启动宽限期400。在示例中,lbvm3被产生到网络。宽限期400的长度可以是可配置的。例如,长度可以大于或等于用于创建请求的接入侧中的gtpn3/t3所定义的时间。通过具有相同的时间,可以保证在启动宽限期之前刚发送的用于创建请求的所有重传可以被递送到正确的lbvm(图4中未示出)。
图4的示例被图示用于lb向外扩展操作。在图4的示例中,新的lbvm3被产生到网络。相同的过程通常也适用于lb向内扩展操作,例如当lbvm被消除时。在宽限期400已经是活动时发起的(例如图4中的步骤创建req1(重传)和创建req2)新的创建请求应当利用旧的和新的静态方法处理,图4中的步骤staticlbold和staticlbnew。需要旧方法(步骤staticlbold)将消息转发到在步骤401中检查高速缓存的lbvm。当存在高速缓存匹配时,可以直接在图4中的cachematch:创建req1(重传)处选择gwvm1。当在402处不存在高速缓存匹配时,请求是新的,并且应当在图4中的staticlbnew处利用新的静态方法进行静态平衡。在这种情况下,在403处执行关于动态负载平衡的高速缓存匹配检查,指示没有匹配。动态负载平衡在如图4中的dynamiclb创建req2处执行,并且决定在404处更新到高速缓存。
图4还图示了宽限期400之外的创建请求。创建请求在创建req2处被处理,并且在staticlb创建req2处进行针对其的静态负载平衡。现在关于动态负载平衡的高速缓存匹配在405处找到,并且在图4中的cachematch创建req2(重传)处直接利用gwvm2执行动态负载平衡。
lb功能可以被配置为作为独立网络元件进行操作。lb可能能够在多供应商环境中工作,并且所有接入接口由3gpp规定。相同的lb可以被用于运营商自身的公共陆地移动网络plmn内的本地接口,例如s11/s4/s5/gn。相同的lb也可以被用于plmn间接口,例如s8/gp,以提供负载平衡漫游连接。
以下示例涉及当在接入网络和网关之间带来附加网络元件时的gtp规范相关的问题。
负载信息的分布的示例。为了基于gwvm的负载进行负载平衡决定,lb需要来自所有gwvm的负载信息。例如,3gpprelease12规定负载信息ie要在任何gtpv2消息中使用。lb可以从响应消息中获取该信息。目前,3gpp还未定义用于gtpv1的类似功能。然而,lb可以通过使用用于负载信息分布的新消息而是协议独立的。
根据示例,响应消息的源地址应与请求消息中的目的地地址相同。因为网关根本不具有浮动地址,响应消息应经由lb发送,以便在响应中具有正确的地址。这需要lb充当代理,其需要朝向网关分配序列号,并将其再次切换到原始以得到朝向接入侧的响应。gw可以在响应消息中递送其自身的负载信息。rel12gtpv2规范已经定义了可以利用的用于s-gw和p-gw的功能。
根据示例,恢复(recovery)ie的处理可以如下。创建请求中的恢复ie不耦合到消息的源地址。作为代替,它耦合到消息内部的控制平面隧道的地址。网关针对该地址启动路径管理(例如回应(echo)),并还针对它检查恢复ie。因此,lb可以将恢复ie透明地递送给网关。
此外,lb可能能够在lbvm之间分布从gwvm所接收的负载信息。
根据示例,向lb通知关于gwvm的存在,例如以用于利用gwvm的向外扩展或向内扩展操作。
这是外部可见的功能,并且为了具有多供应商lb网络元件,功能可以基于标准。可以存在实现这一点的许多方式,并且仅为了说明,公开了一个示例。
lb可以具有用于gwvm接入ip地址的本地配置。当新的gwvm被产生到云时,云编排器可以将新产生的gwvm的ip地址应用于lb配置,例如lbvm。在网络功能虚拟化管理和编排nfv-mano架构框架中,网络功能虚拟化编排器nvfo经由虚拟化网络功能管理器vnfm将配置应用于vm,例如虚拟化网络功能vnf。当gwvm被移除时,gvvm接入ip地址从lb配置中移除。
gwvm可以具有关于lb接入接口的本地配置。当新的gwvm被产生到云时,gwvm可以开始周期性地报告其自身的负载,并且lb学习新的gwvm。该选项是适用的,如果将存在针对负载报告规定的新消息的话,例如如上面讨论的。在负载报告基于当前gtp消息的情况下,可选地,gwvm可以向lb接入接口发送回应请求消息。这可能违反规定的回应标准。基于停止的周期性负载报告而确定gwvm的移除。
在示例中,ue可以采用智能电话的形式,并且如所讨论的,可以等同地使用其他移动设备,诸如平板计算机、上网本计算机、膝上型计算机、台式计算机、具有处理器能力的电视机、个人数字助理(pda)、连接到视频游戏控制台或机顶盒的触摸屏设备、或具有移动网络连接的任何其他计算设备。
图5图示了可以被实现为任何形式的计算和/或电子设备的移动网络装置的示例组件,例如如图5、图4、图3和图2中的gwc。图5的移动网络装置可以充当包括lbvm和gwvm的至少部分的网关。移动网络装置包括一个或多个处理器502,其可以是微处理器、控制器或用于处理计算机可执行指令以控制装置的操作的任何其他合适类型的处理器。可以在装置处提供包括操作系统506的平台软件或任何其他合适的平台软件,以使得应用软件508能够在设备上执行。
可以使用可由装置访问的任何计算机可读介质来提供计算机可执行指令。计算机可读介质可以包括例如计算机存储介质,诸如存储器504和通信介质。诸如存储器504的计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的易失性和非易失性的、可移动和不可移动的介质。计算机存储介质包括但不限于ram、rom、eprom、eeprom、闪速存储器或其他存储器技术、cd-rom、数字通用盘(dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或可以用于存储供计算设备访问的信息的任何其他非传输介质。相比之下,通信介质可以体现计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,诸如载波或其他传输机制。如本文所定义的,计算机存储介质不包括通信介质。因此,计算机存储介质不应被解释为传播信号本身。传播信号可能存在于计算机存储介质中,但传播信号本身不是计算机存储介质的示例。尽管计算机存储介质(存储器504)被示出在装置内,但是将理解的是,存储可以远程地分布或定位并且经由网络或其他通信链路(例如使用通信接口512)访问。
替代地或此外,本文所描述的功能可以至少部分地由一个或多个硬件逻辑组件执行。例如但不限于,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(fpga)、程序特定集成电路(asic)、程序特定标准产品(assp)、片上系统系统(soc)、复杂可编程逻辑器件(cpld)、图形处理单元(gpu)。
本文中使用术语“计算机”、“基于计算的设备”、“装置”或“移动网络装置”来指代具有处理能力使得其可以执行指令的任何设备。本领域技术人员将认识到,这样的处理能力被并入到许多不同的设备中,并且因此术语“计算机”和“基于计算的设备”均包括pc、服务器、移动电话(包括智能电话)、平板计算机、机顶盒、媒体播放器、游戏控制台、个人数字助理和许多其他设备。
这确认软件可以是有价值的、可单独交易的商品。它意图包含运行在“不灵活”或标准硬件上或控制“不灵活”或标准硬件以执行所期望的功能的软件。它还意图包含“描述”或定义硬件的配置的软件,诸如hdl(硬件描述语言)软件,如被用于设计硅芯片或用于配置通用可编程芯片以执行期望功能。该软件可以适于在并行处理器或串行处理器上执行,使得方法步骤可以以任何合适的次序执行或同时执行。
本领域技术人员将认识到,用于存储程序指令的存储设备可以跨网络分布。例如,远程计算机可以存储被描述为软件的过程的示例。本地或终端计算机可以访问远程计算机并下载部分或全部的软件来运行程序。替代地,本地计算机可以根据需要下载软件的片段,或者在本地终端处执行一些软件指令并在远程计算机(或计算机网络)处执行一些。
本文给出的任何范围或设备值可以被扩展或变更,而不失去所寻求的效果。此外,除非明确不允许,否则任何示例可以被组合到另一个示例。
尽管主题已经以特定于结构特征和/或动作的语言描述,但是应当理解,所附权利要求中定义的主题不一定限于上述的具体特征或动作。更确切地,上述具体特征和动作被公开为实现权利要求的示例,并且其他等同特征和动作意图在权利要求的范围内。
将理解,上述的益处和优点可以涉及一个示例或可以涉及若干示例。这些示例不限于解决任何或所有的所陈述问题的那些或者具有任何或所有的所陈述益处和优点的那些。还将理解,对“一个”项目的引用是指这些项目中的一个或多个。
本文描述的方法的步骤可以以任何合适的次序执行,或者在适当的情况下同时执行。此外,在不脱离本文所描述的主题的精神和范围的情况下,可以从任何方法中删除单独的块。上述任何示例的方面可以与所描述的任何其他示例的方面组合以形成另外的示例而不失去所寻求的效果。
术语“包括”在本文中用于意指包括所标识的方法、块或元件,但是这样的块或元件不包括排他列表,并且方法或装置可以包含附加的块或元件。
将理解,以上描述仅以示例的方式给出,并且本领域技术人员可以进行各种修改。以上说明书、示例和数据提供了示例性实施例的结构和使用的完整描述。尽管上面已经以某种程度的特殊性或者参考一个或多个单独的实施例描述了各种实施例,但是本领域技术人员可以在不脱离本说明书的精神或范围的情况下对所公开的实施例进行大量的变更。