CN113039523A - 核心蜂窝网络堆栈在云基础设施上的实现 - Google Patents
核心蜂窝网络堆栈在云基础设施上的实现 Download PDFInfo
- Publication number
- CN113039523A CN113039523A CN201980072711.0A CN201980072711A CN113039523A CN 113039523 A CN113039523 A CN 113039523A CN 201980072711 A CN201980072711 A CN 201980072711A CN 113039523 A CN113039523 A CN 113039523A
- Authority
- CN
- China
- Prior art keywords
- bearer
- network
- data plane
- packet
- plane network
- 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.)
- Pending
Links
- 230000001413 cellular effect Effects 0.000 title claims abstract description 119
- 238000000034 method Methods 0.000 claims abstract description 89
- 238000012545 processing Methods 0.000 claims description 38
- 238000004891 communication Methods 0.000 claims description 27
- 230000006854 communication Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000007774 longterm Effects 0.000 claims description 2
- 238000010926 purge Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000005538 encapsulation Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000005641 tunneling Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004941 influx Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000007177 brain activity Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1036—Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/20—Manipulation of established connections
- H04W76/25—Maintenance of established connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
描述了用于在云计算环境(例如,公共云基础设施)上操作核心蜂窝网络堆栈的技术。例如,虚拟化分组网关可以在云计算环境的虚拟机上运行,并且标准负载均衡器可以在虚拟化分组网关之间分配蜂窝网络的网络业务。可以利用包含蜂窝网络的承载的外部键值存储的本地高速缓存来建立虚拟化分组网关,并使用本地高速缓存来处理接收到的数据平面网络分组。可以使用外部键值存储在蜂窝网络内更新承载,并且虚拟化分组网关可以获取和使用更新的承载详细信息。
Description
背景技术
蜂窝网络传统上已经通过电信供应商使用定制的硬件和软件解决方案来操作。虽然可以在云基础设施内(例如,使用公共云供应商)操作蜂窝网络的某些组件,但是某些组件和技术不能直接或有效地转换为云。例如,在LTE蜂窝网络中,控制平面网络和用户平面网络被认为是分开的网络。控制平面负责在用户平面中建立、配置和拆除连接。用户平面直接携带用户数据(来自用户设备的网络分组(network packet))。服务网关/分组网关(serving gateway/packet gatewany,缩写SPGW)是用户分组所流经的组件。为了处理大量流量,可能需要许多SPGW实例。在云实现方案中,每个SPGW实例可以在其自己的虚拟机上运行。这些SPGW实例需要接收控制平面消息,从而SPGW实例可以正确处理用户平面分组。
云环境内的负载均衡器被设计为跨(例如,平均地跨)多个虚拟机分布分组。通常,除了尝试将具有相同源地址和目标地址的分组引导到同一虚拟机之外,负载均衡器几乎无法控制哪些分组到达哪个虚拟机。由于在云环境中在负载均衡器后面运行SPGW实例,因此可以将给定用户的控制平面和用户平面数据发送到不同的SPGW实例。在这种情况下,可能很难或不可能将控制平面信息发送到需要它的SPGW实例或由需要它的SPGW实例读取。
因此,存在大量的机会来改进与在云环境内实施蜂窝网络组件有关的技术。
发明内容
提供本发明内容以简化形式介绍一些概念,这些概念将在下面的详细描述中进一步描述。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
描述了用于在云计算环境(例如,公共云基础设施)上操作核心蜂窝网络堆栈的技术。例如,虚拟化分组网关可以在云计算环境的虚拟机上运行,并且标准负载均衡器可以在虚拟化分组网关之间分配蜂窝网络的网络业务。虚拟化分组网关的数量可以按比例扩展(添加新的虚拟化分组网关)或按比例缩减(删除虚拟化分组网关),并且负载均衡器相应地分配网络业务。可以使用包含蜂窝网络的承载(bearer)的外部键值存储(key-valuestore,缩写KVS)的本地高速缓存来设置虚拟化的分组网关,并使用本地高速缓存来处理接收到的数据平面网络分组。可以使用外部键值存储在蜂窝网络内更新承载,并且虚拟化分组网关可以获取和使用更新的承载详细信息。
例如,云计算环境内的虚拟化分组网关可以执行操作以处理用于蜂窝网络的数据平面网络分组。虚拟化分组网关可以接收外部键值存储的完整副本,其中外部键值存储包括蜂窝网络的所有当前承载的承载详细信息,其中承载详细信息使用蜂窝网络限定与用户设备相关联的网络流。虚拟化分组网关可以将外部键值存储的完整副本保存在本地高速缓存中。虚拟化分组网关可以从负载均衡器接收数据平面网络分组。虚拟化分组网关可以处理数据平面网络分组,其中所述处理包括识别与本地高速缓存中的数据平面网络分组相关联的承载。
作为另一示例,在云计算环境内操作的虚拟化分组网关可以接收与第一承载相关联的第一数据平面网络分组。在确定第一承载不在本地高速缓存中时,虚拟化分组网关可以从外部键值存储中取回针对第一承载的承载详细信息,并将针对第一承载的所取回的承载详细信息存储在本地高速缓存中。虚拟化分组网关可以至少部分地基于本地高速缓存中存储的针对第一承载的承载详细信息来处理第一数据平面网络分组。虚拟化分组网关可以接收指示第一承载已经被更新的网络通信。响应于接收网络通信,虚拟化分组网关可以从外部键值存储中取回第一承载的更新的承载详细信息,并将所取回的更新的承载详细信息存储在本地高速缓存中。虚拟化分组网关可以接收与第一承载相关联的第二数据平面网络分组,并且至少部分地基于存储在本地高速缓存中的第一承载的更新的承载详细信息来处理第二数据平面网络分组。
如本文中所述的,可以根据需要将多种其他特征和优点并入技术中。
附图说明
图1是描绘示例云计算环境的图,其中在所述示例云计算环境内,实施蜂窝网络的包括虚拟化分组网关的组件。
图2是描绘示例云计算环境的图,其中在所述示例云计算环境内,实施蜂窝网络的包括SPGW-U的组件。
图3是说明数据平面网络分组流和承载状态的示例状态机。
图4是用于在云计算环境中操作虚拟化分组网关以处理用于蜂窝网络的数据平面网络分组的示例方法的流程图。
图5是用于在云计算环境中操作虚拟化分组网关以处理用于蜂窝网络的数据平面网络分组的示例方法的流程图。
图6是其中可以实施一些所描述的实施例的示例计算系统的图。
图7是可以与本文中描述的技术结合使用的示例移动装置。
图8是可以与本文中描述的技术结合使用的示例云支持环境。
具体实施方式
概述
如本文中所述,可以将各种技术和解决方案应用于在云计算环境(例如,公共云基础设施)内操作核心蜂窝网络堆栈。例如,虚拟化分组网关可以在云计算环境的虚拟机上运行,并且标准负载均衡器可以在虚拟化分组网关之间分配蜂窝网络的网络业务。虚拟化分组网关的数量可以按比例扩展(添加新的虚拟化分组网关)或按比例缩减(删除虚拟化分组网关),并且负载均衡器相应地分配网络业务。
为了在云计算环境内提供蜂窝网络服务,对键值存储(例如,数据库、平面文件或另一类型的数据存储)进行维护。键值存储存储了蜂窝网络的当前承载的承载详细信息。承载详细信息限定与使用蜂窝网络的用户设备(例如,具有蜂窝网络连接性的移动电话或其他计算设备)相关联的网络流。键值存储是与蜂窝网络的诸如虚拟化分组网关的其他组件分离的数据存储。换句话说,键值存储在虚拟化分组网关的外部(也称为外部键值存储)。在一些实现方案中,键值存储保持蜂窝网络的所有当前承载的承载详细信息(例如,表示在云计算环境内运行的蜂窝网络内活动的所有当前网络流)。
在本文中描述的技术中,数据平面网络分组通过虚拟化分组网关处理。例如,多个虚拟化分组网关可以在云计算环境的虚拟机上被实例化并且运行,以处理与用户设备通信和从用户设备通信的数据平面网络分组。在一些实现方案(例如,操作LTE蜂窝网络的实现方案)中,虚拟化分组网关是服务网关(SGW)、分组网关(PGW)或服务网关/分组网关(SPGW)。处理数据平面(也称为用户平面)网络分组的服务网关/分组网关也称为SPGW-U。处理控制平面网络分组的服务网关/分组网关也称为SPGW-C。
在传统的蜂窝网络中,电信供应商操作系统的组件。这些组件可以包括以下内容。
-用户设备(UE)。连接到蜂窝网络的装置。例如,用户设备可以包括具有蜂窝通信能力的移动电话或其他计算设备。
-演进节点B(eNodeB——该组件是指用户设备经由无线通信连接(例如,蜂窝无线电)连接到的蜂窝网络基站。
-移动管理实体(MME)。该组件控制用户设备对蜂窝网络的访问。-服务网关/分组网关(SPGW)。往返于用户设备的网络分组流经SPGW。SPGW提供单个锚定点,无论用户设备移动到何处(例如,当用户设备从小区塔移动到小区塔时),单一锚点都可以用于将分组中继到用户设备。
在LTE蜂窝网络环境的范畴中,控制平面和数据平面(用户平面)被分离处理。控制平面负责在数据平面中建立、配置和拆除连接。数据平面携带去往/来自用户设备的网络分组。
在云计算环境实现方案中,可能需要许多SPGW实例来处理网络业务,并且每个SPGW实例在其自己的虚拟机(VM)中运行。这些虚拟机实例需要来自控制平面的信息,使得它们可以正确处理数据平面网络分组。
云计算环境中的负载均衡器被设计为在SPGW实例之间分配网络分组。典型的负载均衡器将基于分组报头信息(例如,来自IP报头的源IP地址和目标IP地址、来自用户数据报协议(UDP)或传输控制协议(TCP)报头信息、和/或来自其他分组报头信息)。然而,使用传统技术在云计算环境内运行SPGW实例存在问题。具体而言,当SPGW实例在负载均衡器后面运行时,给定用户的控制平面和数据平面通常将引导到不同的SPGW实例。在这种情况下,可能无法将控制平面信息发送到需要它的SPGW实例或由需要它的SPGW实例读取。一种可能的解决方案是使MME(例如,控制平面信息的源)将其控制数据广播到所有SPGW实例。然而,这种可能的解决方案效率低下(例如,需要大量的网络业务),并且可能无法扩展到小数量的SPGW。
使用本文中描述的技术,可以更有效和可靠地操作云计算环境内的蜂窝网络。例如,可以通过将键值存储的内容(例如,键值存储的全部内容)预加载到新实例化的虚拟化分组网关上来执行向外扩展。然后,可以准备虚拟化分组网关,以处理在扩展事件期间负载均衡器引导到虚拟化分组网关的任何数据平面网络分组。作为另一示例,可以在虚拟化分组网关之间移动承载。例如,可以(例如,在键值存储中)存储所有权信息,所有权信息指示哪个虚拟化分组网关当前正在处理给定承载的数据平面网络分组。如果数据平面网络分组被引导到其他虚拟化分组网关(与当前所有者不同的虚拟化分组网关),则其他虚拟化分组网关可以取得所有权(例如,将其自身注册在键值存储中,以替换先前的所有者)。这样,承载的网络流可以在虚拟化分组网关之间移动(例如,由于缩减事件或由于诸如网络拥塞或故障的某些其他原因),而不必关闭连接并开始新的网络流。作为另一示例,可以更新承载(例如,当它们处于活动状态并且不必关闭承载并设置新的承载时)。例如,控制平面管理组件(例如,处理控制平面流量的MME和/或网关)可以更新键值存储中的承载详细信息。控制平面管理组件可以向拥有更新的承载的虚拟化分组网关发信号,并且虚拟化分组网关可以获得更新的承载详细信息,并在处理针对承载的数据平面网络分组期间使用更新的承载详细信息。
在云计算环境中操作蜂窝网络
在本文中描述的技术中,蜂窝网络的组件可以在云计算环境(例如,公共云环境和/或私有云环境)内实施。例如,可以使用云环境的标准负载均衡器来在虚拟化分组网关(例如,SPGW-U)的集合(例如,集群)之间分配蜂窝网络业务(例如,数据平面网络分组)。外部键值存储可以存储蜂窝网络内的当前网络流的承载详细信息。可以通过将外部键值存储的全部内容复制到新的虚拟化分组网关的本地高速缓存中来执行虚拟化分组网关的扩展,使得新的虚拟化分组网关可以准备好以处理由负载均衡器发送给它的任何网络流。该技术还使承载能够被更新(例如,用于虚拟化分组网关接收并应用更新的承载详细信息)和移动(例如,用于在虚拟化分组网关之间移动承载)。在承载保持活动状态且无需关闭承载和设置新的承载的情况下,可以移动和/或更新承载。
图1是描绘示例云计算环境110的图,在示例云计算环境110内实施蜂窝网络(例如,虚拟蜂窝网络)的组件。例如,云计算环境110可以是公共云环境或私有云环境。云计算环境110提供蜂窝网络的组件在其上运行的计算资源(例如,服务器、虚拟机、存储资源、网络服务等)。
如图1中所示,用户设备120和122(例如,具有蜂窝网络连接性的移动电话或其他计算设备)经由蜂窝基站130(例如,蜂窝塔)连接到蜂窝网络。例如,如果蜂窝网络是长期演进(LTE)蜂窝网络,则蜂窝基站130可以是eNodeB。也可以使用诸如3G蜂窝网络或5G蜂窝网络的其他类型的蜂窝网络(例如,其可以具有不同类型的蜂窝基站130)。尽管仅示出了两个示例用户设备120和122装置,但是蜂窝网络通常可以支持更多的用户设备。类似地,蜂窝网络通常将支持位于不同地理位置的多个蜂窝基站。
如图1中所示,在云计算环境110内实施多个蜂窝网络组件。控制平面管理140组件为蜂窝网络提供控制平面服务并处理控制平面网络业务。例如,控制平面管理140组件可以为用户设备120和122设置网络流(例如,承载),以访问服务180(例如,到诸如因特网或蜂窝数据网络的公共数据网络(PDN))。根据蜂窝网络的类型,控制平面管理140组件可以包括许多不同的服务。例如,对于LTE蜂窝网络,控制平面管理140组件可以包括移动管理实体(MME)、处理控制平面网络业务的服务和/或分组网关、负载均衡器等。
键值存储170是包含针对蜂窝网络的承载的承载详细信息的数据存储(例如,集中式数据存储或分布式数据存储)。例如,当控制平面管理140组件从用户设备120接收到访问因特网(服务180中的一者)上的网站或进行语音呼叫的请求时,控制平面管理140组件建立承载(例如,这可以包括确定用户设备120是否被授权访问服务,诸如检查数据计划、计费信息等)。作为设置承载的一部分,控制平面管理140组件在键值存储170中存储针对承载的承载详细信息(例如,TEID、QoS值、诸如下载速度的网络比特率等)。承载代表特定用户设备装置的网络业务(例如,网络流)的类型。可以为不同类型的网络业务和/或不同的应用程序创建不同的承载,其包括电话呼叫、网站浏览、特殊流量(例如,流视频、特定的VoIP应用程序等)和/或不同的服务质量(QoS)。给定的用户设备装置可以具有代表不同网络流的多个当前激活的承载。在一些实现方案中,为了使用户设备装置使用蜂窝网络,必须首先在蜂窝网络内为网络流建立承载。
虚拟化分组网关160(例如,在虚拟机上运行的集群中的多个虚拟化分组网关)处理用于用户设备120和122的数据平面网络分组。例如,虚拟化分组网关160处理在用户设备120和122与服务180(例如,因特网和/或其他外部网络)之间(“去往”和“来自”)传输的数据平面网络分组。
当虚拟化分组网关160中的一个虚拟化分组网关从特定用户设备装置接收针对给定网络流(例如,语音呼叫、对特定网站的访问等)的第一数据平面网络分组时,虚拟化分组网关从键值存储170获得针对该承载的承载详细信息(例如,承载将已经通过控制平面管理140组件预先设置在键值存储中)。虚拟化分组网关可以将针对承载的承载详细信息存储在本地高速缓存中(例如,虚拟化分组网关的本地键值存储)。
在用户设备120和120与虚拟化分组网关160之间的数据平面网络分组(作为因特网协议(IP)网络分组)被封装。在一些实现方案中,根据诸如GTP-U的GPRS隧道协议(GTP)来执行封装。例如,封装提供一种管理给定用户设备装置的不同网络流的方式。隧道协议向为与给定网络流相关联的承载分配标识符(例如,隧道端点标识符(TEID)),并且单独的标识符可以用于上行链路数据(从用户设备装置流向服务180的数据)和下行链路数据(从服务180流到用户设备装置的数据)。例如,可以为其中有用户设备120正在访问特定网站的特定网络流,设置特定承载,其中承载详细信息包括两个标识符(例如,两个TEID)——一个标识符与网络流的上行链路流量相关联,一个标识符与网络流的下行链路流量相关联。
负载均衡器150在虚拟化分组网关160之间分配数据平面网络包。负载均衡器150是云计算环境110的标准负载均衡器(例如,由公共云服务供应商提供的标准负载均衡器),其根据IP报头信息来引导网络业务。由于负载均衡器150是标准负载均衡器,因此其不会基于封装的分组信息来引导网络分组(例如,其不是已配置为与诸如GTP-U协议的封装协议一起作用的专用负载均衡器)。尽管在附图中示出一个示例负载均衡器150,但是可以使用多个负载均衡器(例如,多个负载均衡器网络装置)。
因为负载均衡器150是标准负载均衡器,所以其通常将基于外部IP报头信息(例如,源IP地址和目标IP地址和/或端口编号)将给定网络流的网络分组引导到相同的虚拟化分组网关。然而,由于负载均衡器150不了解承载(例如,其不检查封装的分组或封装的报头),因此无法确定哪个虚拟化分组网关将接收给定承载的网络分组。一个可能的解决方案是,将所有承载详细信息传递给所有虚拟化分组网关。然而,这种可能的解决方案效率低下(例如,使用包括网络带宽、处理资源和存储在内的大量计算资源)。
使用本文中描述的技术,可以提供更有效的解决方案。例如,通过将键值存储170用作蜂窝网络的承载的承载详细信息的存储库,虚拟化分组网关160可以在需要时获得承载详细信息。例如,当虚拟化分组网关160中的一个虚拟化分组网关接收到与未知承载(例如,不在虚拟化分组网关的本地高速缓存中的承载)相关联的数据平面网络分组时,虚拟化分组网关可以从外部键值存储170获得针对承载的承载详细信息,并将该承载详细信息存储在虚拟化分组网关的本地高速缓存中。相对于在虚拟化分组网关160中的每个处存储所有承载详细信息的解决方案,这在计算资源(例如,网络带宽、处理资源和存储)方面提供了改进。
在虚拟化分组网关160的扩展期间,可能会发生在云计算环境内操作蜂窝网络组件的另一个潜在问题。例如,在将新的虚拟化分组网关添加到虚拟化分组网关160的扩展事件(例如,在虚拟机上实例化新的虚拟化分组网关实例的扩展事件)期间,负载均衡器150将开始按虚拟化分组网关160(例如,在虚拟化分组网关160之间均匀地划分数据平面网络流)的比例向新的虚拟网关发送数据平面网络分组。如果新的虚拟化分组网关开始接收尚未见到的承载的大量网络流,则新的虚拟化分组网关可能会过载(例如,导致网络分组被延迟或丢弃,这可能导致网络服务延迟或中断)。一个可能的解决方案是,使新的虚拟化分组网关在遇到每个新承载时(例如,在接收到与给定承载相关联的第一网络分组时)从键值存储170针对每个新承载获取承载详细信息。然而,当新的虚拟化分组网关开始操作并且负载均衡器150开始引导网络分组时,新的虚拟化分组网关在网络业务以及需要获得的相应的新承载详细信息的突然涌入的情况下,仍然会变为过载的。
使用本文中描述的技术,可以减少或消除扩展事件的这样的问题。例如,在创建新的虚拟化分组网关之后以及在虚拟化分组网关开始从负载均衡器150接收数据平面网络分组之前,可以将承载详细信息从键值存储170复制到新的虚拟化分组网关的本地高速缓存。在一些实现方案中,键值存储170的完整副本被保存到新的虚拟化分组网关的本地高速缓存。一旦键值存储170的副本已经存储在新的虚拟化分组网关处,则负载均衡器150开始将数据平面网络分组引导到新的虚拟化分组网关。因为新的虚拟化分组网关的本地高速缓存已经被承载详细信息填充(例如,预先填充),所以其从负载均衡器150接收的任何数据平面网络分组将在本地高速缓存具有相关联的承载详细信息,新的虚拟化分组网关将能够有效地处理它们,而无需从键值存储170中获得承载详细信息。这将获得可靠性(例如,减少网络服务对用户设备破坏的机会)和在网络响应方面(例如,减少等待时间)的节省。
在虚拟化分组网关160的缩减期间可能会发生类似的问题。例如,其余的虚拟化分组网关160可以接收由断开服务的虚拟化分组网关先前所服务的一部分网络流。然而,在这种情况下,通过负载均衡器150引导到给定的其余虚拟化分组网关的附加网络流不应使其余虚拟化分组网关过载。因此,其余虚拟化分组网关可以在需要时从键值存储170获得用于额外的网络流的新的承载详细信息。
当需要在虚拟化分组网关之间移动承载和/或当需要更新承载详细信息时,会出现在云计算环境内操作蜂窝网络组件的另一潜在问题。例如,在扩展事件、缩减事件期间或出于某些其他原因(例如,网络拥塞或过载的虚拟化分组网关),可能需要移动表示正在进行的网络流的承载。在一些解决方案中,承载被绑定到特定的虚拟化分组网关,并且不能被移动(例如,虚拟化分组网关的故障将导致由虚拟化分组网关服务的所有承载以及相关联的网络流的故障)。在本文中描述的技术中,承载和相关联的网络流可以在虚拟化分组网关之间移动。例如,如果负载均衡器150将承载的网络流引导到其他虚拟化分组网关,则其他虚拟化分组网关可以在接收到网络流的第一数据平面网络分组时从键值存储170获得承载详细信息,并且服务该承载。该解决方案可以在扩展事件、缩减事件期间执行,也可以在引起网络流移动至其他虚拟化分组网关的其他原因的情况下执行。
当需要更新承载时,可能会发生类似的问题。例如,由于账户状态的改变(例如,带宽限制、被访问的服务类型、计费问题等),可能需要更新承载。在一些解决方案中,承载不能在网络流期间被更新(例如,如果需要进行改变,则需要建立新的承载,这降低了效率并且需要额外的计算资源)。在本文中描述的技术中,可以更新承载。为了更新承载,键值存储170可以存储承载的所有权信息,所有权信息指示每个承载都被哪个虚拟化分组网关拥有(例如,当前负责处理承载的数据平面网络分组)。例如,当虚拟化分组网关接收到与特定承载相关联的第一数据平面网络分组时(例如,其中特定承载不在虚拟化分组网关的本地高速缓存中,和/或其中未针对特定承载的分组进行处理之前),虚拟化分组网关可以从键值存储170中获得特定承载的承载详细信息,并在键值存储170中将其自身注册为特定承载的所有者(例如,键值存储库170可以维护单独的表,并在承载和虚拟化分组网关之间建立关联)。当需要更新承载时,控制平面管理140组件可以更新键值存储170中的承载详细信息,确定哪个虚拟化分组网关是该承载的所有者,并警告虚拟化分组网关,使得虚拟化分组网关可以从键值存储170获取更新的承载详细信息。该解决方案允许在网络流期间更新承载,而无需停止并重新建立新的网络流,这节省了时间、计算资源,并且可以减少或消除网络中断。
图2是描绘示例云计算环境210的图,在示例云计算环境内实施LTE蜂窝网络(例如,虚拟LTE蜂窝网络)的包括SPGW-U在内的组件。例如,云计算环境210可以是公共云环境或私有云环境。云计算环境210提供蜂窝网络的组件在其上运行的计算资源(例如,服务器、虚拟机、存储资源、网络服务等)。关于图2描述的许多组件执行与以上关于图1描述的对应组件相同或相似的功能。
如图2中所示,用户设备220和222(例如,具有蜂窝网络连接性的移动电话或其他计算设备)经由eNodeB 230(例如,LTE蜂窝网络内的蜂窝基站)连接到蜂窝网络。也可以使用诸如3G蜂窝网络或5G蜂窝网络的其他类型的蜂窝网络。虽然仅示出了两个示例用户设备220和222装置,但是蜂窝网络通常可以支持更多的用户设备装置。类似地,蜂窝网络通常将支持位于不同地理位置的多个蜂窝基站。
如图2中所示,多个蜂窝网络组件在云计算环境210内实施。多个组件为蜂窝网络提供控制平面服务并处理控制平面网络业务,包括MME 240和服务分组网关(SPGW-C)262。例如,MME 240与SPGW-C262一起可以为用户设备220和222建立网络流(例如,承载),以访问服务290(例如,到诸如Internet或蜂窝数据网络的公共数据网络(PDN))。负载均衡器252(或在一些实现方案中的多个负载均衡器)可以在多个SPGW-C 262之间分配控制平面网络业务(例如,以处理蜂窝网络的控制平面网络业务负载)。
键值存储270是包含用于蜂窝网络的承载的承载详细信息的数据存储(例如,集中式数据存储或分布式数据存储)。例如,当MME 240从用户设备220接收到访问因特网上的网站(服务290中的一者)或进行语音呼叫的请求时,MME 240建立承载(例如,其可以包括确定用户设备220是否被授权访问服务,例如,检查数据计划、计费信息等)。例如,MME 240可以指示SPGW-C 262配置承载并将该承载的承载详细信息存储在键值存储270中。承载表示特定用户设备装置的网络业务类型(例如,网络流)。可以为不同类型的网络业务和/或不同的应用程序创建不同的承载,其包括电话呼叫、网站浏览、特殊流量(例如,流视频、特定的VoIP应用程序等)、和/或不同的服务质量(QoS)。给定的用户设备装置可以具有代表不同网络流的多个当前活动的承载。在一些实施方式中,为了使用户设备装置使用蜂窝网络,必须首先在蜂窝网络内为网络流建立承载。
SPGW-U 260(例如,在虚拟机上运行的集群中的多个SPGW-U)处理用于用户设备220和222的数据平面网络分组。例如,SPGW-U260处理数据平面网络分组,数据平面网络分组在用户设备220和222与服务290(例如,因特网和/或其他外部网络)之间(“去往”和“来自”)传输。在一些实现方案中,网络地址转换(NAT)服务280被用于SPGW-U 260和服务290(例如,因特网)之间的IP地址转换。
当SPGW-U 260中的一个SPGW-U从特定用户设备装置接收用于给定网络流(例如,语音呼叫、对特定网站的访问等)的第一数据平面网络分组时,SPGW-U从键值存储270获得承载的承载详细信息(例如,承载将已经由MME 240和/或SPGW-C 262预先设置在键值存储中)。SPGW-U可以将承载的承载详细信息存储在本地高速缓存中(例如,SPGW-U的本地键值存储)。
在用户设备220和220与SPGW-U 260之间的数据平面网络分组(作为因特网协议(IP)网络分组)被封装。在一些实现方案中,根据诸如GTP-U的GPRS隧道协议(GTP)来执行封装。例如,封装提供一种管理给定用户设备装置的不同网络流的方式。隧道协议向与给定网络流相关联的承载分配标识符(例如,隧道端点标识符(TEID)),并且单独的标识符可以用于上行链路数据(从用户设备装置流向服务290的数据)和下行链路数据(从服务290流到用户设备装置的数据)。例如,可以为其中用户设备220正在访问特定网站的特定网络流设置特定承载,其中承载详细信息包括两个标识符(例如,两个TEID),一个标识符与网络流的上行链路流量相关联,一个标识符与网络流的下行链路流量相关联。
负载均衡器250在SPGW-U 260之间分配数据平面网络分组。负载均衡器250是云计算环境210的标准负载均衡器(例如,由公共云服务供应商提供的标准负载均衡器),标准负载均衡器根据IP报头信息引导网络业务。由于负载均衡器250是标准负载均衡器,因此负载均衡器不会基于封装的分组信息来引导网络分组(例如,网络分组不是已被配置为与诸如GTP-U协议的封装协议一起作用的目标特定的负载均衡器)。尽管在附图中示出了一个示例负载均衡器250,但是可以使用多个负载均衡器(例如,多个负载均衡器网络装置)。
因为负载均衡器250是标准负载均衡器,所以其通常将基于外部IP报头信息(例如,源IP地址和目的IP地址和/或端口编号)将给定网络流的网络分组引导到相同的SPGW-U。然而,由于负载均衡器250不了解承载(例如,其不检查封装的分组或封装的报头),因此无法确定哪个SPGW-U将接收给定承载的网络分组。一个可能的解决方案是将所有承载详细信息传达给所有SPGW-U。然而,这种可能的解决方案效率低下(例如,使用包括网络带宽、处理资源和存储在内的大量计算资源)。
使用本文中描述的技术,可以提供更有效的解决方案。例如,通过使用键值存储270作为蜂窝网络的承载的承载详细信息的存储库,SPGW-U 260可以在需要时获得承载详细信息。例如,当SPGW-U 260中的一个接收与未知承载(例如,不在SPGW-U的本地高速缓存中的承载)相关联的数据平面网络分组时,SPGW-U可以从外部键值存储270获得承载的承载详细信息,并将其存储在其本地高速缓存中。与所有承载详细信息存储在SPGW-U 260中的每个SPGW-U处的解决方案相比,这在计算资源(例如,网络带宽、处理资源和存储)方面提供了改进。
在SPGW-U 262的扩展期间,可能会发生在云计算环境内操作蜂窝网络组件的另一个潜在问题。例如,在将新的SPGW-U添加到SPGW-U 262的扩展事件(例如,在虚拟机上实例化新的SPGW-U实例的扩展事件)期间,负载均衡器250将开始按SPGW-U 262的数量成比例地向新的SPGW-U发送数据平面网络分组(例如,在SPGW-U262之间均匀地划分数据平面网络流)。如果新的SPGW-U开始接收尚未存在的承载的大量网络流,则新的SPGW-U可能会过载(例如,导致网络分组被延后或丢弃,这可能导致网络服务延迟或中断)。一种可能的解决方案是使新的SPGW-U在遇到每个新的承载时(例如,在接收到与给定承载相关联的第一网络分组时)从键值存储270针对每个新的承载获取承载详细信息。然而,当新的SPGW-U开始操作并且负载均衡器250开始引导网络分组时,新的SPGW-U在网络业务以及需要获得的相应的新的承载详细信息的突然涌入的情况下仍然可能变为过载的。
使用本文中描述的技术,可以减少或消除扩展事件的这样的问题。例如,在创建新的SPGW-U之后以及在其开始从负载均衡器250接收数据平面网络分组之前,可以将承载详细信息从键值存储270复制到新的SPGW-U的本地高速缓存中。在一些实现方案中,键值存储270的完整副本被保存到新的SPGW-U的本地高速缓存。一旦键值存储270的副本已经存储在新的SPGW-U处,则负载均衡器250开始将数据平面网络分组引导到新的SPGW-U。因为新的SPGW-U的本地高速缓存已经被承载详细信息填充(例如,预先填充),所以新的SPGW-U从负载均衡器250接收的任何数据平面网络分组将在本地高速缓存中具有相关联的承载详细信息,新的SPGW-U将能够有效地处理数据平面网络分组,而无需从键值存储270中获得承载详细信息。这将使得在网络响应(例如,减少等待时间)方面实现节约并获得可靠性(例如,减少网络服务对用户设备破坏的机会)。
在SPGW-U 262的按比例缩减期间可能会发生类似的问题。例如,其余SPGW-U 262可以接收通过断开服务的SPGW-U先前服务的一部分网络流。然而,在这种情况下,通过负载均衡器250引导到给定的其余SPGW-U的附加网络流不应使其余SPGW-U过载。因此,其余SPGW-U可以在需要时从键值存储270获得用于额外的网络流的新的承载详细信息。
当需要在SPGW-U之间移动承载时和/或当需要更新承载详细信息时,可能会出现在云计算环境内操作蜂窝网络组件的另一个潜在问题。例如,表示正在进行的网络流的承载可能在扩展事件、缩减事件期间或出于某些其他原因(例如,网络拥塞或SPGW-U过载)而需要移动。在一些解决方案中,承载绑定到特定的SPGW-U,并且无法移动(例如,SPGW-U的故障将导致由SPGW-U服务的所有承载以及相关联的网络流的故障)。在本文中描述的技术中,承载和相关联的网络流可以在SPGW-U之间移动。例如,如果负载均衡器250将承载的网络流引导到其他SPGW-U,则其他SPGW-U在接收到网络流的第一数据平面网络分组时可以从键值存储270获取承载详细信息,并且服务该承载。该解决方案可以在扩展事件、缩减事件期间执行,或者由于导致网络流移动到其他SPGW-U的一些其他原因而执行。
当需要更新承载时,可能会发生类似的问题。例如,由于账户状态的改变(例如,带宽限制、被访问的服务类型、计费问题等),可能需要更新承载。在一些解决方案中,承载不能在网络流期间被更新(例如,如果需要进行改变,则需要建立新的承载,这降低了效率并且需要额外的计算资源)。在本文中描述的技术中,可以更新承载。为了更新承载,键值存储170可以存储承载的所有权信息,所有权信息指示哪个SPGW-U拥有每个承载(例如,当前负责处理承载的数据平面网络分组)。例如,当SPGW-U接收到与特定承载相关联的第一数据平面网络分组时(例如,其中特定承载不在SPGW-U的本地高速缓存中,和/或,其中未针对特定承载的分组进行处理之前),SPGW-U可以从键值存储270中获得特定承载的承载详细信息,并在键值存储170中将其自身注册为特定承载的所有者(例如,键值存储库270可以维护单独的表,并在承载和SPGW-U之间建立关联)。当需要更新承载时,MME 240和/或SPGW-C 262可以更新键值存储270中的承载详细信息,确定哪个SPGW-U是承载的所有者,并警告SPGW-U,使得SPGW-U可以从键值存储270获取更新的承载详细信息。该解决方案允许在网络流期间更新承载,而无需停止并重新建立新的网络流,这节省了时间、计算资源,并且可以减少或消除网络中断。
在示例云计算环境210中,SPGW-U 260被描述为组合解决方案,其中用于数据平面流量的服务网关和分组网关被组合成集成的或位于同一位置的服务网关/分组网关组件。然而,在一些实施方式中,服务网关和分组网关是独立运行的分开的组件。例如,各个UE、SGW和PGW可位于不同的位置可能有多种原因。原因之一是域名服务(DNS)选择。当UE附接时,演进分组核心(EPC)可以使用DNS服务器来分别选择SGW和PGW。选择算法可以为每个算法使用不同的标准;SGW可以基于位置(通常选择最接近基站的SGW),而PGW可以基于接入点名称(APN)(实际上,限定UE需要连接到的服务和网络的类型)。另一个原因是漫游。可存在以下情况:PGW位于本地网络中,而SGW位于拜访网络中。例如,这对于移动虚拟网络运营商(MVNO)是典型的。
在SGW和PGW分开(例如,位置分开,例如在不同的计算设备上运行)的实施方式中,SGW和PGW可以经由S5/S8接口进行通信。可存在两个特点;一个基于GTP隧道,另一个基于代理移动IPv6(PMIPv6)(RFC 5213)。
在使用组合的SPGW的实现方案中,不需要S5/S8接口。SPGW-U将在下行链路中从IP映射到GTP TEID,在上行链路中将TEID映射到IP。然而,在SGW和PGW分开并使用S5/S8接口的实现方案中,可以使用以下映射:
-PGW-u(基于GTP):下行链路:IP到GTP TEID,上行链路:GTP TEID到IP
-SGW-u(基于GTP):下行链路:GTP TEID到GTP TEID,上行链路:GTP TEID到GTPTEID
-PGW-u(基于PMIPv6):下行链路:IP到通用路由封装(GRE)隧道,上行链路:GRE隧道到IP
-SGW-u(基于PMIPv6):下行链路:GRE隧道到GTP TEID,上行链路:GTP TEID到GRE隧道
图3是示例状态机300,其示出了数据平面(用户平面)网络分组流和承载状态(例如,所有权、添加、删除和更新)。例如,示例状态机300可以通过虚拟化分组网关(例如,通过虚拟化分组网关160)和/或通过SPGW(例如,通过SPGW-U 260和/或通过SPGW-C262)来实现。在一些实现方案中,存在每个承载的状态机的实例。
关于示例状态机300,存在多个可能发生的事件,包括:
1.上行链路分组到达用户平面,即分组从UE朝向PDN传输。
2.下行链路分组到达用户平面,即从PDN到UE。
3.承载更新分组到达控制平面,可以来自MME或KVS。
4.承载未知分组从KVS到达控制平面。
5.承载删除分组从MME到达控制平面。
6.所有者添加确认分组从KVS到达控制平面。
7.所有者删除确认分组从KVS到达控制平面。
存在多个与示例状态机300相关的变量,变量定义如下。
Am_owner.此变量表示我们(例如,虚拟化分组网关)是否已告知KVS所有者表我们是该承载的所有者。以下值是可能的。
0 | 尚未告知KVS我们是所有者。 |
添加待定 | 已告知KVS,我们是所有者,但尚未收到确认。 |
1 | 已告知KVS我们是所有者,并已收到KVS的确认。 |
删除待定 | 已告诉KVS,我们不再是所有者,但尚未收到确认。 |
Read_route_pending.布尔值,记录SPGW是否已向KVS请求承载详细信息。该变量用于防止SPGW在等待从KVS读取承载更新时重复请求承载详细信息。
0 | 没有发送承载详细信息读取请求。 |
1 | 请求已发送。 |
Cached_route_seq.整数,记录当前存储在我们的本地高速缓存中的承载更新中存在的序列号。值-1表示本地高速缓存无效。
所描绘的以下状态是示例状态机300。
状态1:此状态表示承载是未知的,并且在本地高速缓存中不存在对应的条目。
状态2、3、4和5:这些都是在正确配置为处理用户平面时经过过的所有中间状态。
状态6:在从本地高速缓存中移除承载的认知时的中间状态。
状态7:我们处于稳定状态,同时已正确配置为处理用户平面数据。
在云计算环境内操作蜂窝网络的方法
在本文中的任何示例中,可以提供用于在云计算环境内操作虚拟蜂窝网络的方法。例如,虚拟化分组网关(例如,服务和/或分组网关)可以在云计算环境内运行的虚拟机上实施,并处理用于蜂窝网络的数据平面网络分组。
图4是用于在云计算环境中操作虚拟化分组网关以处理用于蜂窝网络的数据平面网络分组的示例方法400的流程图。例如,示例方法400可以通过虚拟化分组网关160中的一个虚拟化分组网关或通过SPGW-U 260中的一个SPGW-U执行。
在410处,接收外部键值存储的完整副本。外部键值存储包括蜂窝网络的所有当前承载的承载详细信息(例如,使用在云计算环境内实施的蜂窝网络的所有当前承载)。承载详细信息限定与使用蜂窝网络的用户设备相关联的网络流。例如,外部键值存储可以是键值存储170或键值存储270。在420处,将在410接收到的外部键值存储的完整副本保存在本地高速缓存中。
在430处,从负载均衡器接收数据平面网络分组。例如,负载均衡器可以基于因特网协议(IP)报头信息而不是基于封装的分组信息(例如,不基于隧道标识符或TEID)来引导网络分组。
在440处,由虚拟化分组网关处理数据平面网络分组。该处理包括识别与本地高速缓存中的数据平面网络分组相关联的承载。例如,虚拟化分组网关可以基于封装的网络分组报头信息(例如,TEID)从本地高速缓存中获取承载详细信息,以识别网络流(及其关联的数据平面网络分组)并根据其关联的承载进行管理(例如,设置网络比特率、QoS参数等)。
在一些实现方案中,在扩展事件期间执行示例方法400,在扩展事件中,在云计算环境内的虚拟机上实例化虚拟化分组网关。例如,在虚拟化分组网关启动并运行并且将键值存储的完整副本保存在其本地高速缓存中时,其可以指示负载均衡器(例如,从中发出信号或响应其通信)已准备好接收数据平面网络分组。作为响应,负载均衡器可以开始将网络业务引导到虚拟化分组网关。
在虚拟化分组网关启动并运行并处理数据平面网络分组之后(例如,如440所示),虚拟化分组网关可以接收与不在其本地高速缓存中的新的承载相关联的新数据平面网络分组。当发生这种情况时,虚拟化分组网关可以从外部键值存储中获取新的承载的承载详细信息,将承载详细信息存储在其本地高速缓存中,并至少部分基于新的承载的承载详细信息来处理新的数据平面网络分组。虚拟化分组网关还可以在外部键值存储中将其自身注册为新的承载的所有者。
在一些实现方案中,虚拟化分组网关跟踪它上次为虚拟化分组网关的本地高速缓存中的针对每个承载数据平面网络分组被处理的时间。例如,当虚拟化分组网关处理用于承载的分组时,其可以与承载相关联地在其本地高速缓存中记录定时信息(例如,时间戳或其他定时信息)。虚拟化分组网关可以使用记录的定时信息,以从虚拟化分组网关的本地高速缓存中清除承载。尽管示例方法400允许虚拟化分组网关利用外部键值存储的完整副本以有效方式开始操作,但是虚拟化分组网关将不使用键值存储中的许多承载(例如,负载均衡器将它们引导到其他虚拟化分组网关)。因此,如果数据平面网络分组在一段时间内未被虚拟化分组网关处理(例如,如果分组未在阈值时间段内得到处理),则虚拟化分组网关可以将分组从虚拟化分组网关的本地高速缓存中删除,这可以节省本地存储资源。
图5是用于在云计算环境中操作虚拟化分组网关以处理用于蜂窝网络的数据平面网络分组的示例方法500的流程图。例如,示例方法500可以通过虚拟化分组网关160中的一个虚拟化分组网关或通过SPGW-U 260中的一个SPGW-U执行。
在510处,通过虚拟化分组网关接收与第一承载相关联的第一数据平面网络分组。例如,可以在网络流开始时从负载均衡器接收第一数据平面网络分组。
在520处,响应于确定第一承载不在虚拟化分组网关的本地高速缓存中,从外部键值存储中取回第一承载的承载详细信息。取回的第一承载的承载详细信息被存储在虚拟化分组网关处的本地高速缓存中(例如,本地键值存储中)。例如,外部键值存储可以是键值存储170或键值存储270。
在530处,至少部分地基于本地存储的第一承载详细信息(存储在本地高速缓存中)来处理第一数据平面网络分组。
在540处,接收到指示第一承载已经被更新的通信。例如,可以从MME或从蜂窝网络的另一组件(例如,从管理控制平面的虚拟化分组网关)接收通信。该通信可以是网络控制消息。
在550处,响应于指示第一承载已经被更新的通信,第一承载的更新的承载详细信息从外部键值存储中获取,并存储在本地高速缓存中。例如,可以更新第一承载,以反映不同的下载比特率(例如,基于用户超过其每月限制)。
在560处,通过虚拟化分组网关接收与第一承载相关联的第二数据平面网络分组。第二数据平面网络分组是从负载均衡器接收的后续网络分组,其作为与第一数据平面网络分组相同的网络流的一部分。
在570处,至少部分地基于本地存储的第一承载的更新承载详细信息来处理第二数据平面网络分组。
在一些实现方案中,可以在云计算环境内实施以下组件中的一个或多个,以处理数据平面网络分组。组件可以执行以下操作和/或其他操作中的一项或多项。例如,可以经由计算机可执行指令将虚拟化分组网关配置为将针对承载的承载详细信息存储在本地键值存储中,其中承载详细信息从外部键值存储中获取,对通过虚拟化分组网关在外部键值存储中服务的承载的所有权进行注册,并至少部分地基于存储在本地键值存储中的承载详细信息来处理网络分组。可以经由计算机可执行指令将移动管理实体配置为在外部键值存储中设置承载,为外部键值存储中的承载更新承载详细信息,并将更新的承载详细信息通知虚拟化分组网关。外部键值存储可以经由计算机可执行指令被配置为存储蜂窝网络的当前承载的承载详细信息,并存储指示虚拟化分组网关和承载之间的所有权关系的所有权信息。
示例承载建立
该部分示出了如何使用本文中描述的技术在LTE蜂窝网络的特定实现方案中建立承载。为了说明差异,首先针对传统的LTE系统描述承载建立顺序,然后针对本文中描述的技术进行描述。
以下顺序说明了传统的承载建立(不使用云计算环境)和对第一用户平面数据业务的处理:
-UE/eNodeB发送MME承载建立请求(控制平面消息)。
-MME将承载建立请求发送到SPGW。
-SPGW存储来自建立请求的承载详细信息。
-SPGW响应MME,表示承载建立完成。
-然后,如果首先是上行链路数据:
-SPGW从eNodeB接收用户平面分组。
-SPGW解封装用户平面分组,并转发到目标公共数据网络(PDN)。
-SPGW从PDN接收用户平面分组。
-SPGW查找目标IP地址,并从上面存储的承载详细信息中找到与UE IP地址匹配的地址。如果分组与来自承载详细信息的流量模板(TFT)相匹配,则使用来自承载详细信息的eNodeB TEID封装分组。
-SPGW将封装的分组转发到eNodeB。
-或者,如果首先是下行链路数据:
-SPGW从目标PDN接收用户平面分组。
-SPGW查找目标IP地址,找到匹配项,然后继续进行上行链路操作。
使用本文中的技术,其中使用外部键值存储(也称为共享键值存储)在云计算环境内实施虚拟化分组网关(例如,SPGW-C和/或SPGW-U),其顺序如下:
-eNodeB发送MME承载建立请求(控制平面消息)。
-MME将承载建立请求发送到SPGW-C负载均衡器。
-例如,负载均衡器将请求转发到SPGW-C1(实例1)。
-SPGW-C1在共享键值存储中存储UE IP地址、TEID(SPGW和eNodeB值两者)以及eNodeB的IP。
-SPGW-C1响应MME,表示承载建立已完成。
-eNodeB将用户平面分组发送到SPGW-U负载均衡器。
-例如,负载均衡器将用户平面分组转发到SPGW-U2(实例2)。
-然后,如果首先是上行链路数据:
-SPGW-U2从eNodeB接收用户平面分组。
-SPGW-U2从共享键值存储中的分组中查找TEID。获取eNodeB的TEID作为响应。
-SPGW-U2将其IP地址作为此网络流的“高速缓存所有者”写入共享的键值存储。
-SPGW-U2将UE IP地址、TEID(SPGW和eNodeB值两者)以及eNodeB的IP写入本地高速缓存。
-SPGW-U2解封装用户平面分组并转发到目标PDN。
-SPGW-U2从PDN接收用户平面分组。
-SPGW-U2在其本地高速缓存中查找目标IP地址,并从上面存储的承载详细信息中发现目标IP地址与UE IP地址匹配。如果分组与来自承载详细信息的TFT匹配,则使用来自承载详细信息的eNodeB TEID封装分组。
-SPGW-U2将封装的分组转发到eNodeB。
-或者,如果首先是下行链路数据:
-SPGW-U负载均衡器从目标PDN接收用户平面分组。
-负载均衡器转发到SPGW-U2。
-SPGW-U2在本地高速缓存中查找承载详细信息的。未找到匹配项。
-SPGW-U2在共享键值存储中查找UE IP地址。获取承载详细信息以作为响应。写入本地高速缓存。
-SPGW-U2作为此流的“高速缓存所有者”写入共享的键值存储的IP地址。
-SPGW-U2将封装的分组转发到eNodeB。
-SPGW-U2从eNodeB接收用户平面分组,解封装并转发到目标PDN。
计算系统
图6描绘了其中可以实施所描述的技术的适合的计算系统600的一般示例。由于可以在各种通用或专用计算系统中实施该技术,因此计算系统600无意于暗示对使用或功能范围的任何限制。
参考图6,计算系统600包括一个或多个处理单元610、615和存储器620、625。在图6中,该基本配置630包括在虚线内。处理单元610、615执行计算机可执行指令。处理单元可以是通用中央处理单元(CPU)、专用集成电路(ASIC)中的处理器或任何其他类型的处理器。处理单元还可以包括多个处理器。在多处理系统中,多个处理单元执行计算机可执行指令,以增加处理能力。例如,图6示出了中央处理单元610以及图形处理单元或协同处理单元615。有形存储器620、625可以是可由处理单元访问的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如ROM、EEPROM、闪存等)或两者的某种组合。存储器620、625以适于由处理单元执行的计算机可执行指令的形式存储实施本文中描述的一个或多个技术的软件680。
计算系统可以具有附加特征。例如,计算系统600包括储存器640、一个或多个输入装置650、一个或多个输出装置660以及一个或多个通信连接670。诸如总线、控制器或网络的互连机制(未示出)互连计算系统600的组件。通常,操作系统软件(未示出)为在计算系统600中执行的其他软件提供操作环境,并协调计算系统600的组件的活动。
有形存储器640可以是可移动的或不可移动的,并且包括磁盘、磁带或盒带、CD-ROM、DVD或可用于存储信息并且可在计算系统600内访问的任何其他介质。存储器640存储用于实施本文中描述的一个或多个技术的软件680的指令。
输入装置650可以是诸如键盘、鼠标、笔或轨迹球的触摸输入装置、语音输入装置、扫描装置或向计算系统600提供输入的另一装置。对于视频编码,输入装置650可以是相机、视频卡、TV调谐器卡或接受模拟或数字形式的视频输入的类似装置,或者将视频样本读入计算系统600的CD-ROM或CD-RW。输出装置660可以是显示器、打印机、扬声器、CD刻录机或提供从计算系统600的输出的其他装置。
通信连接670使得能够通过通信介质与另一计算实体进行通信。通信介质传送诸如计算机可执行指令、音频或视频输入或输出或调制数据信号中的其他数据的信息。调制数据信号是这样的信号:其特征的一个或多个以将信息编码在该信号中这样的方式设置或改变。作为示例而非限制,通信介质可以使用电、光、RF或其他载体。
可以在诸如包括在程序模块中的计算机可执行指令的一般上下文中描述该技术,计算机可执行指令在目标真实或虚拟处理器上的计算系统中执行。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。在各个实施例中,程序模块的功能可以在程序模块之间组合或分割。用于程序模块的计算机可执行指令可以在本地或分布式计算系统内执行。
术语“系统”和“装置”在本文中可互换使用。除非上下文另外明确指出,否则两个术语均不暗示对计算系统或计算设备的类型的任何限制。通常,计算系统或计算设备可以是本地的或分布式的,并且可以包括专用硬件和/或通用硬件与实施本文中功能的软件的任意组合。
为了呈现方便,详细描述使用诸如“确定”和“使用”的术语来描述计算系统中的计算机操作。这些术语是通过计算机执行的操作的高级抽象,不应与人类执行的操作相混淆。与这些术语相对应的实际计算机操作取决于实现方案。
移动装置
图7是描绘示例移动装置700的系统图,示例移动装置包括在702处总体示出的各种可选硬件和软件组件。尽管为了便于说明,未示出所有连接,但是移动装置中的任何组件702都可以与任何其他组件进行通信。移动装置可以是多种计算设备中的任何一种(例如,手机、智能手机、手持计算机、个人数字助理(PDA)等),并且可以允许与诸如蜂窝网络、卫星网络或其他网络的一个或多个移动通信网络704进行无线双向通信。
例如,示例移动装置700可以是使用蜂窝网络(例如,移动通信网络704)的用户设备装置(例如,用户设备120、122、220或222)。示例移动装置700可以经由无线调制解调器760与蜂窝网络通信。
示出的移动装置700可以包括用于执行诸如信号编码、数据处理、输入/输出处理、电源控制和/或其他功能的任务的控制器或处理器710(例如,信号处理器、微处理器、ASIC或其他控制和处理逻辑电路)。操作系统712可以控制组件702的分配和使用并支持一个或多个应用程序714。应用程序可以包括常见的移动计算应用程序(例如,电子邮件应用程序、日历、联系人管理器、网站浏览器、消息传递应用程序)或任何其他计算应用程序。用于访问应用商店的功能713也可以用于获取和更新应用程序714。
所示的移动装置700可以包括存储器720。存储器720可以包括不可移除存储器722和/或可移除存储器724。不可移除存储器722可以包括RAM、ROM、闪存、硬盘或其他公知的内存存储技术。可移除存储器724可以包括在GSM通信系统中众所周知的闪存或订户身份模块(SIM)卡,或者包括诸如“智能卡”的其他公知的内存存储技术。存储器720可以用于存储用于运行操作系统712和应用程序714的数据和/或代码。示例数据可以包括网页、文本、图像、声音文件、视频数据或待经由一个或多个有线或无线网络发送给一个或多个网络服务器和/或从一个或多个网络服务器接收的其他数据集。存储器720可以用于存储诸如国际移动订户身份(IMSI)的订户标识符以及诸如国际移动设备标识符(IMEI)的设备标识符。这样的标识符可以被发送到网络服务器,以识别用户和设备。
移动装置700可以支持诸如触摸屏732、麦克风734、相机736、物理键盘738和/或轨迹球740的一个或多个输入装置730以及诸如扬声器752和显示器754的一个或多个输出装置750。其他可能的输出装置(未示出)可以包括压电或其他触觉输出装置。某些装置可以提供多于一个的输入/输出功能。例如,触摸屏732和显示器754可以被组合在单个输入/输出装置中。
输入装置730可以包括自然用户界面(NUI)。NUI是使用户能够以“自然”方式与装置进行交互而不受诸如鼠标、键盘、遥控器等输入装置施加的人为约束的任何界面技术。NUI方法的示例包括依赖于语音识别、触摸和手写笔识别、屏幕上以及与屏幕相邻的手势识别、空中手势、头部和眼睛跟踪、语音和语音、视觉、触摸、手势和机器智能的方法。NUI的其他示例包括使用加速度计/陀螺仪进行运动手势检测、面部识别、3D显示、头部、眼睛和凝视跟踪、沉浸式增强现实和虚拟现实系统,所有这些都提供更自然的界面以及用于使用电场感应电极(EEG和相关方法)感应大脑活动的技术。因此,在一个特定示例中,操作系统712或应用程序714可以包括语音识别软件,作为语音用户界面的一部分,语音用户界面允许用户经由语音命令来操作装置700。此外,装置700可以包括输入装置和软件,输入装置和软件允许经由用户的空间手势进行用户交互,诸如检测和解释手势以向游戏应用程序提供输入。
如本领域中公知的,无线调制解调器760可以耦合到天线(未示出),并且可以支持处理器710与外部装置之间的双向通信。调制解调器760一般性地示出,并且可以包括用于与移动通信网络704和/或其他基于无线电的调制解调器(例如,蓝牙764或Wi-Fi 762)进行通信的蜂窝调制解调器。无线调制解调器760通常被配置为与诸如用于单个蜂窝网络内的蜂窝网络之间或者移动装置与公共交换电话网络(PSTN)之间的数据和语音通信的GSM网络的一个或多个蜂窝网络通信。
移动装置可以进一步包括至少一个输入/输出端口780、电源782、诸如全球定位系统(GPS)接收器的卫星导航系统接收器784、加速度计786和/或可以是USB端口的物理连接器790、IEEE 1394(FireWire)端口和/或RS-232端口。所示的组件702不是必需的或者是全部包含的,因此可以删除任何组件并且可以添加其他组件。
云支持环境
图8示出了可以在其中实施所描述的实施例、方法和技术的适合的云支持环境800的一般示例。在示例环境800中,通过云810提供各种类型的服务(例如,计算服务)。例如,云810可以包括计算设备的集合,计算设备可以位于中央或分布在其上,从而经由诸如因特网的网络为各种类型的用户和装置提供基于云的服务。实施环境800可以以不同的方式用于完成计算任务。例如,一些任务(例如,处理用户输入并呈现用户界面)可以在本地计算设备(例如,连接的装置830、840、850)上执行,而其他任务(例如,存储在后续处理中使用的数据)可以在云810中执行。
在示例环境800中,云810为具有各种屏幕功能的连接的装置830、840、850提供服务。连接的装置830表示具有计算机屏幕835(例如,中型屏幕)的装置。例如,连接的装置830可以是诸如台式计算机、膝上型计算机、笔记本计算机、上网本等的个人计算机。连接的装置840表示具有移动装置屏幕845(例如,小尺寸屏幕)的装置。例如,连接的装置840可以是移动电话、智能电话、个人数字助理、平板计算机等。连接的装置850表示具有大屏幕855的装置。例如,连接的装置850可以是电视屏幕(例如,智能电视)或连接到电视的另一装置(例如,机顶盒或游戏机)或类似物。连接的装置830、840、850中的一个或多个可以包括触摸屏功能。触摸屏可以接受不同方式的输入。例如,当物体(例如,指尖或触控笔)扭曲或中断在表面上流动的电流时,电容式触摸屏会检测到触摸输入。作为另一示例,当来自光学传感器的光束被中断时,触摸屏可以使用光学传感器来检测触摸输入。对于某些触摸屏检测到的输入,不需要与屏幕表面进行物理接触。也可以在示例环境800中使用没有屏幕能力的装置。例如,云810可以为一个或多个没有显示器的计算机(例如,服务器计算机)提供服务。
服务可以由云810通过服务供应商820或通过其他在线服务供应商(未示出)提供。例如,可以针对特定连接的装置(例如,连接的装置830、840、850)的屏幕尺寸、显示能力和/或触摸屏能力来定制云服务。
在示例环境800中,云810至少部分地使用服务供应商820将本文中的技术和解决方案提供给各种连接的装置830、840、850。例如,服务供应商820可以提供用于各种基于云的服务的集中式解决方案。服务供应商820可以管理用户和/或装置(例如,连接的装置830、840、850和/或它们各自的用户)的服务订阅。
示例实现方案
尽管为了方便呈现以特定的顺序描述了公开的方法中的一些的操作,但是应该理解,除非以下阐述的特定语言要求特定的顺序,否则这种描述方式包括重新布置。例如,在某些情况下,顺序描述的操作可以重新排列或同时执行。此外,为了简单起见,附图可能未示出可以将所公开的方法与其他方法结合使用的各种方式。
任何公开的方法可以被实施为存储在一个或多个计算机可读存储介质上并在计算设备(即,包括智能电话或包含计算硬件的其他移动装置的任何可用的计算设备)上执行的计算机可执行指令或计算机程序产品。计算机可读存储介质是可以在计算环境内访问的有形介质(诸如DVD或CD、易失性存储器(诸如DRAM或SRAM)或非易失性存储器(诸如闪存或硬盘驱动器)的一个或多个光盘介质)。作为示例并且参考图6,计算机可读存储介质包括存储器620和625以及存储器640。作为示例并且参考图7,计算机可读存储介质包括内存和存储器720、722、724。术语“计算机可读存储介质”不包括信号和载波。另外,术语“计算机可读存储介质”不包括诸如670、760、762和764的通信连接。
用于实施所公开的技术的任何计算机可执行指令以及在所公开的实施例的实施期间创建和使用的任何数据都可以存储在一个或多个计算机可读存储介质上。计算机可执行指令可以是例如专用软件应用程序或经由网站浏览器或其他软件应用程序(诸如远程计算应用程序)访问或下载的软件应用程序的一部分。这样的软件可以例如在单个本地计算机(例如,任何适合的商用计算机)上或在使用一个或多个网络计算机的网络环境中(例如,经由Internet、广域网、局域网、客户端服务器网络(诸如云计算网络)或其他这样的网络)。
为了清楚起见,仅描述了基于软件的实现方案的特定选择方面。省略了本领域公知的其他详细信息。例如,应当理解,所公开的技术不限于任何特定的计算机语言或程序。例如,所公开的技术可以通过用C++、Java、Perl或任何其他适合的编程语言编写的软件来实施。同样,所公开的技术不限于任何特定的计算机或硬件类型。适合的计算机和硬件的特定详细信息是公知的,并且不需要在本公开中详细阐述。
此外,任何基于软件的实施例(例如,包括用于使计算机执行所公开的方法中的任何一个的计算机可执行指令)可以通过适合的通信手段上载、下载或远程访问。这样的适合的通信方式包括例如因特网、万维网、内联网、软件应用程序、电缆(包括光缆)、磁通信、电磁通信(包括RF、微波和红外通信)、电子通信或其他这样的通信方式。
所公开的方法、设备和系统不应以任何方式限制解释。相反,本公开仅针对单独的并且以彼此的各种组合和子组合的形式针对各种公开的实施例的所有新颖的和非显而易见的特征和方面。所公开的方法、设备和系统不限于任何特定方面或特征或其组合,所公开的实施例也不要求存在任何一个或多个特定优点或解决问题。
来自任何示例的技术可以与在其他示例中的任何一个或多个中描述的技术结合。鉴于可以应用所公开技术的原理的许多可能的实施例,应当认识到,示出的实施例是所公开技术的示例,并且不应被视为对所公开技术的范围的限制。
Claims (15)
1.一个或多个计算设备,包括:
处理器;和
存储器;
所述一个或多个计算设备,经由计算机可执行指令被配置为执行用于在云计算环境中操作虚拟化分组网关以处理针对蜂窝网络的数据平面网络分组的操作,所述操作包括:
接收外部键值存储的完整副本,其中所述外部键值存储包括针对所述蜂窝网络的所有当前承载的承载详细信息,其中所述承载详细信息限定与使用所述蜂窝网络的用户设备相关联的网络流;
将所述外部键值存储的所述完整副本保存在本地高速缓存中;
从负载均衡器接收数据平面网络分组;以及
由所述虚拟化分组网关处理所述数据平面网络分组,其中所述处理包括标识与所述本地高速缓存中的所述数据平面网络分组相关联的承载。
2.根据权利要求1所述的一个或多个计算设备,其中所述操作在扩展事件期间被执行,在所述扩展事件中,所述虚拟化分组网关在所述云计算环境内被实例化。
3.根据权利要求1所述的一个或多个计算设备,其中所述虚拟化分组网关是用于数据平面网络分组的服务网关/分组网关(SPGW-U),所述SPGW-U在运行于所述云计算环境中的虚拟机上进行操作。
4.根据权利要求3所述的一个或多个计算设备,其中所述SPGW-U作为电信供应商的长期演进(LTE)蜂窝网络的一部分进行操作。
5.根据权利要求1所述的一个或多个计算设备,所述操作还包括:
从所述负载均衡器接收新的数据平面网络分组,所述新的数据平面网络分组与不存在于所述本地高速缓存中的新的承载相关联;
响应于接收到所述新的数据平面网络分组:
从所述外部键值存储中获取针对所述新的承载的承载详细信息;
将针对所述新的承载的所述承载详细信息存储在所述本地高速缓存中;以及
至少部分地基于针对所述新的承载的所述承载详细信息来处理所述新的数据平面网络分组。
6.根据权利要求5所述的一个或多个计算设备,所述操作还包括:
响应于接收到所述新的数据平面网络分组:
在所述外部键值存储中将所述虚拟化分组网关注册为所述新的承载的所有者。
7.根据权利要求1所述的一个或多个计算设备,其中所述负载均衡器基于因特网协议(IP)报头和用户数据报协议(UDP)或传输控制协议(TCP)端口编号来引导网络分组,而不是基于封装的分组信息来引导网络分组。
8.根据权利要求1所述的一个或多个计算设备,针对所述本地高速缓存中的一个或多个承载中的每个承载,所述操作还包括:
在所述本地高速缓存中为所述承载标记针对所述承载数据平面网络分组被最后处理的时间的指示。
9.根据权利要求8所述的一个或多个计算设备,所述操作还包括:
基于数据平面网络分组被最后处理的时间的所述指示从所述本地高速缓存中清除承载。
10.一种由计算设备实现的用于在云计算环境中操作虚拟化分组网关以处理针对蜂窝网络的数据平面网络分组的方法,所述方法包括:
在所述虚拟化分组网关在所述云计算环境内被实例化的扩展事件期间,由所述虚拟化分组网关:
接收外部键值存储的完整副本,其中所述外部键值存储包括针对所述蜂窝网络的所有当前承载的承载详细信息,其中所述承载详细信息限定与使用所述蜂窝网络的用户设备相关联的网络流;
将所述外部键值存储的所述完整副本保存在本地高速缓存中;
从负载均衡器接收数据平面网络分组;以及
由所述虚拟化分组网关处理所述数据平面网络分组,其中所述处理包括标识与所述本地高速缓存中的所述数据平面网络分组相关联的承载。
11.根据权利要求10所述的方法,还包括:
从所述负载均衡器接收新的数据平面网络分组,所述新的数据平面网络分组与不存在于所述本地高速缓存中的新的承载相关联;
响应于接收到所述新的数据平面网络分组:
从所述外部键值存储中获取针对所述新的承载的承载详细信息;
将针对所述新的承载的所述承载详细信息存储在所述本地高速缓存中;以及
至少部分地基于针对所述新的承载的所述承载详细信息来处理所述新的数据平面网络分组。
12.根据权利要求11所述的方法,还包括:
响应于接收到所述新的数据平面网络分组:
在所述外部键值存储中将所述虚拟化分组网关注册为所述新的承载的所有者。
13.根据权利要求10所述的方法,其中所述虚拟化分组网关是用于数据平面网络分组的服务网关/分组网关(SPGW-U),所述SPGW-U在运行于所述云计算环境中的虚拟机上进行操作,并且其中所述负载均衡器基于因特网协议(IP)报头信息来定向引导网络业务,而不是基于封装的分组信息来定向引导网络业务。
14.一种由计算设备实现的用于在云计算环境中操作虚拟化分组网关以处理针对蜂窝网络的数据平面网络分组的方法,所述方法包括:
由所述虚拟化分组网关:
接收与第一承载相关联的第一数据平面网络分组;
在确定所述第一承载不在本地高速缓存中时,从外部键值存储中取回针对所述第一承载的承载详细信息,并且将所取回的针对所述第一承载的所述承载详细信息存储在所述本地高速缓存中;
至少部分地基于存储在所述本地高速缓存中的针对所述第一承载的所述承载详细信息,处理所述第一数据平面网络分组;
接收网络通信,所述网络通信指示所述第一承载已被更新;
响应于接收到所述网络通信,从所述外部键值存储中取回针对所述第一承载的已更新的承载详细信息,并且将所取回的已更新的承载详细信息存储在所述本地高速缓存中;
接收与所述第一承载相关联的第二数据平面网络分组;以及
至少部分地基于存储在所述本地高速缓存中的针对所述第一承载的已更新的承载详细信息来处理所述第二数据平面网络分组。
15.根据权利要求14所述的方法,还包括:
在所述外部键值存储中将所述虚拟化分组网关注册为所述第一承载的所有者。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/180,908 | 2018-11-05 | ||
US16/180,908 US10624148B1 (en) | 2018-11-05 | 2018-11-05 | Implementation of core cellular networking stack on cloud infrastructure |
PCT/US2019/058422 WO2020096802A1 (en) | 2018-11-05 | 2019-10-29 | Implementation of core cellular networking stack on cloud infrastructure |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113039523A true CN113039523A (zh) | 2021-06-25 |
Family
ID=68583535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980072711.0A Pending CN113039523A (zh) | 2018-11-05 | 2019-10-29 | 核心蜂窝网络堆栈在云基础设施上的实现 |
Country Status (13)
Country | Link |
---|---|
US (1) | US10624148B1 (zh) |
EP (1) | EP3853722B1 (zh) |
KR (1) | KR20210083265A (zh) |
CN (1) | CN113039523A (zh) |
AU (1) | AU2019375864B2 (zh) |
BR (1) | BR112021008216A2 (zh) |
CA (1) | CA3115984A1 (zh) |
IL (1) | IL282750B1 (zh) |
MX (1) | MX2021005182A (zh) |
PH (1) | PH12021551059A1 (zh) |
SG (1) | SG11202104011SA (zh) |
WO (1) | WO2020096802A1 (zh) |
ZA (1) | ZA202102320B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11470017B2 (en) * | 2019-07-30 | 2022-10-11 | At&T Intellectual Property I, L.P. | Immersive reality component management via a reduced competition core network component |
US11895193B2 (en) * | 2020-07-20 | 2024-02-06 | Juniper Networks, Inc. | Data center resource monitoring with managed message load balancing with reordering consideration |
CN116017581B (zh) * | 2022-12-14 | 2024-06-21 | 深圳千通科技有限公司 | 5g流量分流方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140019602A1 (en) * | 2012-07-12 | 2014-01-16 | Microsoft Corporation | Load balancing for single-address tenants |
CN104581990A (zh) * | 2013-10-23 | 2015-04-29 | 思科技术公司 | 虚拟演进分组核心中的节点选择 |
US20150124622A1 (en) * | 2013-11-01 | 2015-05-07 | Movik Networks, Inc. | Multi-Interface, Multi-Layer State-full Load Balancer For RAN-Analytics Deployments In Multi-Chassis, Cloud And Virtual Server Environments |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606140B2 (en) | 2003-08-28 | 2009-10-20 | Alcatel Lucent | Distributed and disjoint forwarding and routing system and method |
EP2724563B1 (en) * | 2011-06-23 | 2015-02-25 | Telefonaktiebolaget LM Ericsson (PUBL) | Caching over an interface between a radio access network and a core network |
US9282038B2 (en) * | 2012-03-15 | 2016-03-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Policy control enforcement at a packet gateway |
US10063443B2 (en) | 2012-05-29 | 2018-08-28 | Openet Telecom Ltd. | System and method for managing VoLTE session continuity information using logical scalable units |
US9668161B2 (en) | 2012-07-09 | 2017-05-30 | Cisco Technology, Inc. | System and method associated with a service flow router |
JPWO2015122177A1 (ja) * | 2014-02-12 | 2017-03-30 | 日本電気株式会社 | 情報処理装置、通信方法、ネットワーク制御装置、ネットワーク制御方法、およびプログラム |
US9288148B1 (en) | 2014-10-30 | 2016-03-15 | International Business Machines Corporation | Hierarchical network, service and application function virtual machine partitioning across differentially sensitive data centers |
US10911529B2 (en) | 2015-11-06 | 2021-02-02 | Ribbon Communications Operating Company, Inc. | Independent groups of virtual network function components |
JP7027348B2 (ja) | 2016-02-25 | 2022-03-01 | インテル・コーポレーション | モバイルエッジにおけるコンピューティングのためのプラットフォーム |
US10374829B2 (en) * | 2017-01-13 | 2019-08-06 | Microsoft Technology Licensing, Llc | Telecommunications network with data centre deployment |
US10715585B2 (en) | 2017-03-10 | 2020-07-14 | Microsoft Technology Licensing, Llc | Packet processor in virtual filtering platform |
-
2018
- 2018-11-05 US US16/180,908 patent/US10624148B1/en active Active
-
2019
- 2019-10-29 BR BR112021008216-6A patent/BR112021008216A2/pt unknown
- 2019-10-29 CN CN201980072711.0A patent/CN113039523A/zh active Pending
- 2019-10-29 WO PCT/US2019/058422 patent/WO2020096802A1/en unknown
- 2019-10-29 SG SG11202104011SA patent/SG11202104011SA/en unknown
- 2019-10-29 KR KR1020217012314A patent/KR20210083265A/ko unknown
- 2019-10-29 CA CA3115984A patent/CA3115984A1/en active Pending
- 2019-10-29 MX MX2021005182A patent/MX2021005182A/es unknown
- 2019-10-29 EP EP19805473.6A patent/EP3853722B1/en active Active
- 2019-10-29 AU AU2019375864A patent/AU2019375864B2/en active Active
- 2019-10-29 IL IL282750A patent/IL282750B1/en unknown
-
2021
- 2021-04-08 ZA ZA2021/02320A patent/ZA202102320B/en unknown
- 2021-05-05 PH PH12021551059A patent/PH12021551059A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140019602A1 (en) * | 2012-07-12 | 2014-01-16 | Microsoft Corporation | Load balancing for single-address tenants |
CN104581990A (zh) * | 2013-10-23 | 2015-04-29 | 思科技术公司 | 虚拟演进分组核心中的节点选择 |
US20150124622A1 (en) * | 2013-11-01 | 2015-05-07 | Movik Networks, Inc. | Multi-Interface, Multi-Layer State-full Load Balancer For RAN-Analytics Deployments In Multi-Chassis, Cloud And Virtual Server Environments |
Non-Patent Citations (2)
Title |
---|
A. J. STARING等: "Cloud computing models and their application in LTE based cellular systems", 《2013 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS WORKSHOPS (ICC)》, 31 October 2013 (2013-10-31) * |
应宇锋等: "MPLS VPN技术在WLAN接入分组域中的应用与研究", 《软件》, 11 April 2013 (2013-04-11) * |
Also Published As
Publication number | Publication date |
---|---|
SG11202104011SA (en) | 2021-05-28 |
US20200146091A1 (en) | 2020-05-07 |
ZA202102320B (en) | 2022-06-29 |
KR20210083265A (ko) | 2021-07-06 |
AU2019375864B2 (en) | 2024-05-02 |
IL282750A (en) | 2021-06-30 |
EP3853722A1 (en) | 2021-07-28 |
JP2022506447A (ja) | 2022-01-17 |
PH12021551059A1 (en) | 2021-12-06 |
IL282750B1 (en) | 2024-05-01 |
MX2021005182A (es) | 2021-07-15 |
US10624148B1 (en) | 2020-04-14 |
WO2020096802A1 (en) | 2020-05-14 |
AU2019375864A1 (en) | 2021-05-13 |
CA3115984A1 (en) | 2020-05-14 |
BR112021008216A2 (pt) | 2021-08-03 |
EP3853722B1 (en) | 2023-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10972575B2 (en) | Method and system for supporting edge computing | |
US10587544B2 (en) | Message processing method, processing server, terminal, and storage medium | |
CN107577533B (zh) | 资源配置方法及相关产品 | |
RU2671966C1 (ru) | Система связи, базовая станция, способ связи и энергонезависимый компьютерно-читаемый носитель, хранящий программу | |
KR102513998B1 (ko) | 통신 방법 및 장치, 엔티티 및 컴퓨터 판독가능 저장 매체 | |
US20120184258A1 (en) | Hierarchical Device type Recognition, Caching Control & Enhanced CDN communication in a Wireless Mobile Network | |
AU2019375864B2 (en) | Implementation of core cellular networking stack on cloud infrastructure | |
WO2019228344A1 (zh) | 资源配置方法、装置、终端及存储介质 | |
CN114025399B (zh) | 低轨卫星切换控制方法、核心网设备、装置和存储介质 | |
CN107547745B (zh) | 资源配置方法及相关产品 | |
KR102266089B1 (ko) | Mec 시스템 및 그 제어방법 | |
Contreras et al. | Software-defined mobility management: Architecture proposal and future directions | |
CN108076139B (zh) | 用于云流送服务的方法和设备 | |
CN109314893A (zh) | 一种切换方法及装置 | |
CN110753362B (zh) | 基站的优化方法、终端注册方法、装置、基站及存储介质 | |
JP7512274B2 (ja) | クラウドインフラストラクチャ上のコアセルラネットワーキングスタックの実装 | |
JP7040763B2 (ja) | ゲートウェイ装置、方法、プログラム、及び記録媒体 | |
RU2801634C2 (ru) | Реализация базового сотового сетевого стека в облачной инфраструктуре | |
US11985731B2 (en) | Systems and methods for exposing user equipment identity | |
EP3364694A1 (en) | Network element selection method and network element selector | |
KR102052801B1 (ko) | oneM2M 기반 데이터 관제 API 구성 방법 | |
CN112969199A (zh) | 一种数据采集方法和设备 | |
KR102120869B1 (ko) | 액세스 노드에 의한 애플리케이션 호스팅 방법 및 장치 | |
KR101319832B1 (ko) | 모바일 컨텐츠 제공 방법 및 이를 위한 로컬 캐싱 장치 | |
JP6554430B2 (ja) | 在圏情報管理方法および通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40048959 Country of ref document: HK |