CN108476177B - 支持用于处理功能可扩展性的数据平面的装置及相关方法 - Google Patents

支持用于处理功能可扩展性的数据平面的装置及相关方法 Download PDF

Info

Publication number
CN108476177B
CN108476177B CN201680076860.0A CN201680076860A CN108476177B CN 108476177 B CN108476177 B CN 108476177B CN 201680076860 A CN201680076860 A CN 201680076860A CN 108476177 B CN108476177 B CN 108476177B
Authority
CN
China
Prior art keywords
data
packet
flow
unit
per
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680076860.0A
Other languages
English (en)
Other versions
CN108476177A (zh
Inventor
R·巴蒂亚
F·郝
T·拉克斯曼
H·维思瓦纳瑟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Alcatel Lucent USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent USA Inc filed Critical Alcatel Lucent USA Inc
Publication of CN108476177A publication Critical patent/CN108476177A/zh
Application granted granted Critical
Publication of CN108476177B publication Critical patent/CN108476177B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/626Queue scheduling characterised by scheduling criteria for service slots or service orders channel conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9036Common buffer combined with individual queues

Abstract

本公开概括地公开一种被配置用于处理功能可扩展性的数据平面。支持可扩展性的处理功能可以包括计费功能、监控功能、安全功能等。

Description

支持用于处理功能可扩展性的数据平面的装置及相关方法
技术领域
本公开一般涉及无线通信网络,并且尤其但非排它地,涉及支持无线通信网络中的功能的可扩展性。
背景技术
第三代(3G)和第四代(4G)无线网络目前支持大量终端设备和大量相关联的终端用户流量。随着新型通信技术和范例的出现,第五代(5G)无线网络及其以后预计会支持越来越多的终端设备和越来越多的相关联的终端用户流量。例如,随着诸如物联网(IoT)和机器对机器(M2M)通信的新通信技术和范例越来越普及,5G无线网络预计会支持大量终端设备以及相关联的终端用户流量的增加。
发明内容
本公开概括地公开了用于提供被配置用于处理功能可扩展性的数据平面的机制。
在至少一些实施例中,一种装置,被配置为支持由通信网络中的转发单元和控制单元所支持的处理功能的数据平面部分。所述装置包括第一存储单元,其被配置为保存被配置为存储用于一组数据分组的分组数据的分组缓冲数据结构,其中,所述分组缓冲数据结构包括被配置为存储分组数据的分组队列和被配置为按照每个流来存储分组数据的分组聚合缓冲器。所述装置包括第二存储单元,其被配置为存储用于转发单元对其支持分组转发的一组数据流的流数据。所述装置包括与第一存储单元和第二存储单元通信连接的处理器单元。处理器单元被配置为从转发单元的硬件单元接收第一分组的第一分组报头和第二分组的第二分组报头。处理器单元被配置为确定与第一分组相关联的第一分组数据。处理器单元被配置为基于确定分组队列低于阈值,在分组缓冲数据结构的分组队列中存储第一分组数据,作为用于第一分组的单独的分组数据。处理器单元被配置为确定与第二分组相关联的第二分组数据。处理器单元被配置为基于确定分组队列超过所述阈值,在分组缓冲数据结构的分组聚合缓冲器中存储第二分组数据。
在至少一些实施例中,一种装置被配置为支持由通信网络中的转发单元和控制单元所支持的处理功能的数据平面部分。所述装置包括第一存储单元,其被配置为保存被配置为存储用于一组数据分组的分组数据的分组缓冲数据结构,其中,所述分组缓冲数据结构包括被配置为存储分组数据的分组队列和被配置为按照每个流来存储分组数据的分组聚合缓冲器。所述装置包括第二存储单元,其被配置为存储用于转发单元对其支持分组转发的一组数据流的流数据。所述装备包括与第一存储单元和第二存储单元通信连接的处理器单元。处理器单元被配置为从第一存储器单元的分组队列中提取包括分组数据的分组数据条目,其中,所述分组数据包括用于数据流中的一个数据流的单独的分组数据或用于数据流中的一个数据流的聚合分组数据。处理器单元被配置为基于分组数据条目的分组数据,确定用于所述一个数据流的流数据。处理器单元被配置为在第二存储器单元中存储用于所述一个数据流的流数据。处理器单元被配置为向控制单元传播用于所述一个数据流的流数据。
在至少一些实施例中,一种装置被配置为支持由通信网络中的转发单元和控制单元支持的处理功能的数据平面部分。所述装置包括存储单元,其被配置为保存第一数据结构和第二数据结构。第一数据结构被配置为存储用于一组数据分组的分组数据。第一数据结构包括被配置为存储分组数据的分组队列和被配置为按照每个流来存储分组数据的分组聚合缓冲器。第二数据结构被配置为存储用于转发单元对其支持分组转发的一组数据流的流数据。所述装置包括与存储单元通信连接的处理器单元。处理器单元被配置为从转发单元的硬件单元接收分组的分组报头,其中,所述分组与数据流相关联。处理器单元被配置为确定与分组相关联的分组数据。处理器单元被配置为基于确定分组队列的大小未超过阈值,将分组数据存储在第一数据结构的分组队列中,而不是存储在第一数据结构的分组聚合缓冲器中。处理器单元被配置为从第一数据结构的分组队列中提取分组数据。处理器单元被配置为基于分组数据,确定用于数据流的流数据。处理器单元被配置为在第二数据结构中存储用于数据流的流数据。处理器单元被配置为向控制单元传播用于数据流的流数据。
附图说明
通过结合附图考虑以下详细描述,可以容易地理解本文的教导,其中:
图1示出包括被配置为支持功能可扩展性的数据平面的示例性无线通信系统;
图2示出用于无线通信系统的示例性分布式架构,包括控制单元并且包括提供或支持用于处理功能可扩展性的数据平面的转发单元;
图3示出用于处理功能可扩展性的数据平面的实施例,其中,数据平面由转发单元提供;
图4示出用于处理功能可扩展性的数据平面的实施例,其中,数据平面由转发单元和与转发单元相关联的附属单元提供;
图5示出用于在图3或图4的数据平面中使用的数据平面可扩展性单元的实施例;
图6示出由数据平面可扩展性单元在生成并存储用于由数据平面可扩展性单元处理的分组数据中使用的方法的实施例;
图7示出由数据平面可扩展性单元在处理分组数据以更新由数据平面可扩展性单元存储的流数据中使用的方法的实施例;
图8示出支持用于无线通信网络的计费功能的分布式部署的无线通信网络的实施例;
图9示出用于图8的无线通信网络的计费功能的分布式部署中的基于每个用户字节计数的计费的消息流的实施例;
图10示出当用户在无线接入节点之间移动时,用于图8的示例性无线通信网络中的用户的下行链路流量的分布式计费过程的实施例;
图11示出当用户在无线接入节点之间移动时,用于图8的示例性无线通信网络中的用户的上行链路流量的分布式计费过程的实施例;
图12示出适用于在执行在本文中描述的各种功能中使用的计算机的高级框图。
为了便于理解,在可能的情况下,已使用相同的参考标号来指示附图公共的相同元件。
具体实施方式
本公开概括地公开了被配置为支持处理功能可扩展性的数据平面。处理功能可扩展性可以被提供用于通信网络的处理功能。通信网络的处理功能可以在通信网络内使用处理功能的数据平面部分和处理功能的控制平面部分来实现,其中,处理功能的数据平面部分和处理功能的控制平面部分可以协作以为通信网络提供处理功能。如上所述,处理功能的数据平面部分被配置为支持通信网络内的处理功能的可扩展性。可以支持处理功能可扩展性的处理功能可以包括计费功能、监控功能、安全功能等。应当理解,虽然主要在无线通信网络的上下文内描述,但是被配置用于处理功能可扩展性的数据平面的各种实施例可以用于各种其它类型的通信网络或环境中。
图1示出了包括被配置为支持功能可扩展性的数据平面的示例性无线通信系统。
无线通信系统100可以基于任何适合的无线系统技术。例如,无线通信系统100可以是第三代(3G)无线系统(例如,通用移动电信系统(UMTS)或其它3G无线系统)、第四代(4G)无线系统(例如,长期演进(LTE)或其它4G无线系统)、第五代(5G)无线系统等。
无线通信系统100包括多个无线设备(WD)110-1至110-X(统称为WD 110)、无线通信网络(WCN)120和通信网络(CN)130。
WD 110包括被配置为无线接入WCN 120并且经由WCN 120进行通信的无线设备。例如,WD 110可以包括终端用户设备(例如,智能电话、平板计算机、膝上型计算机等)。例如,WD 110可以包括可以被部署用于各种IoT应用的物联网(IoT)设备(例如,传感器、监控器、致动器、控制器等)。例如,IoT应用可以包括消费者产品(例如,健康和健身产品、游戏等)、智能家庭应用(例如,控制照明、温度、电器、通信系统、安全设备、娱乐设备等的设备)、环境监控应用(例如,协助环境保护的传感器、用于监控野生动物活动的监控器、用于地震和海啸预警系统的传感器等)、基础设施管理应用(例如,用于监控城乡基础设施的监控器和传感器)、能源管理应用(例如,用于智能电网技术和其它类型的能源管理的传感器和控制器)、制造应用(例如,用于提供自动化控制、工厂优化、健康和安全管理等的传感器)、商业建筑物自动化应用(例如,控制照明、温度、电器、通信系统、安全设备等的设备)、医疗应用(例如,用于患者跟踪的可穿戴医疗设备、健康监控等)等。WD 110可以包括可以接入WCN120并且经由WCN 120进行通信的各种其它类型的无线设备。
WCN 120被配置为支持WD 110与CN 130之间的通信。WCN 120包括一组无线接入节点(WAN)121-1至121-N(统称为WAN 121)、锚节点(AN)122和控制器123。如图1中所示,WAN121和AN 122被配置为经由数据通信路径进行通信,尽管为了清楚起见而省略了数据通信路径,但应当理解数据通信路径可以包括各种网络元件(例如,交换机、路由器等)、通信链路等及其各种组合。如在图1中进一步所示,控制器123被配置为经由信令路径与WAN 121和AN 122通信,尽管为了清楚起见而省略了信令路径,但是应当理解信令路径可以包括各种网络元件(例如,交换机、路由器等)、通信链接等及其各种组合。应当理解,WCN 120可以包括各种其它元件(为了清楚的目的而被省略)并且可以支持各种其它类型的通信。WCN 120被配置为支持与支持由WD 110经由WCN 120进行的通信相关联的处理功能,诸如计费功能、监控功能、安全功能等及其各种组合。
WAN 121被配置为操作为用于WD 110对WCN 120的无线接入点。WAN 121可被配置为支持WD 110借以附着到WCN 120的网络附着过程。WAN 121可被配置为支持WD 110与控制器123之间的通信,以使WD 110能够附着到WCN 120。WAN 121可被配置为支持WD 110的无线通信,包括来自WD 110的无线上行链路传输和去往WD 110的无线下行链路传输。WAN 121可被配置为支持WAN 121与AN 122(并且因此与CN 130)之间的回程通信。WAN 121可被配置为提供各种其它功能。例如,WAN 121可以包括3G UMTS节点B、4G LTE演进型节点B(eNodeB)、5G基站收发台(BTS)、小型小区无线接入点(例如,毫微微小区、微微小区、微小区等)等。本领域技术人员应当理解由无线通信网络的无线接入节点(诸如WCN 120的WAN 121)通常支持的功能。WAN 121可被配置为支持由WCN 120支持的处理功能的数据平面部分(例如,在支持WCN 120的计费功能方面提供数据平面处理功能、在支持WCN 120的监控功能方面提供数据平面处理功能、在支持WCN 120的安全功能方面提供数据平面处理功能等及其各种组合)。
AN 122被配置为操作为用于WD 110经由WCN 120通信的移动性锚点和网络层锚点(例如,IP锚点)。AN 122可被配置为操作为WCN 120与CN 130之间的网关,以支持WCN 120与CN 130之间的分组的通信。对于从WD 110到CN 130的上游通信,AN 122被配置为将所接收的分组定向到CN 130。对于从CN 130到WD 110的下游通信,AN 122被配置为从CN 130接收预定要传送到给定的WD 110的分组,识别给定的WD 110当前经由其而附着的WAN 121,并且将分组转发到给定的WD 110当前经由其而附着的WAN 121以用于传送到给定的WD 110。例如,在WCN120是3G UMTS网络的情况下,AN 122可以是网关通用分组无线服务(GPRS)支持节点(GGSN)、组合的GGSN和服务GPRS支持节点(SGSN)等。例如,在WCN 120是4G LTE网络的情况下,AN 122可以是分组数据网络(PDN)网关(PGW)、组合的PGW和服务网关(SGW)等。例如,在WCN 120是5G无线网络的情况下,AN 122可以是5G交换机(例如,支持通常由LTE PGW或PGW/SGW组合所支持的至少一些功能)或其它适合类型的5G锚定设备。本领域技术人员应当理解通常由无线通信网络的锚节点(诸如,WCN 120的AN 122)支持的功能。AN 122可被配置为支持由WCN 120支持的处理功能的数据平面部分(例如,在支持WCN 120的计费功能方面提供数据平面处理功能、在支持WCN 120的监控功能方面提供数据平面处理功能、在支持WCN 120的安全功能方面提供数据平面处理功能等及其各种组合)。
控制器123被配置为向WCN 120提供各种控制功能。控制器123被配置为与WAN 121和AN 122进行通信,以用于在支持用于WCN 120的处理功能方面提供控制功能。例如,控制器123可以在支持诸如网络附着(例如,认证和授权)、监控、安全、计费等及其各种组合的处理功能方面提供控制功能。应注意,控制器123可以基于与WAN 121和AN 122的交互(例如,基于从这些元件中的至少一些接收的信息、通过向这些元件中的至少一些提供信息等及其各种组合)来支持至少一些这样的处理功能。例如,在WCN 120是3G UMTS网络的情况下,控制器123可以包括归属订户服务器(HSS)功能、访问者位置寄存器(VLR)功能等中的一个或多个。例如,在WCN 120是4G LTE网络的情况下,控制器123可以包括移动性管理实体(MME)功能、分组计费和规则功能(PCRF)功能等中的一个或多个。例如,在WCN 120是5G无线网络的情况下,控制器123可以包括MME功能或其它类似的移动性管理功能、PCRF功能或其它类似的计费和规则功能等中的一个或多个。控制器123可被配置为在WCN 120内提供各种其它控制功能。控制器123可被配置为支持由WCN120支持的处理功能的控制平面部分(例如,在支持WCN 120的计费功能方面提供控制平面处理功能,在支持WCN 120的监控功能方面提供控制平面处理功能,在支持WCN 120的安全功能方面提供控制平面处理功能等及其各种组合)。
WCN 120可以使用各种类型的技术以各种方式来实现。WCN 120可以使用各种通信和控制能力或技术来实现。WCN 120可以基于WCN 120的无线技术的类型,使用底层信令和控制能力来实现(例如,3G UMTS网络的底层信令和控制能力、4G LTE网络的底层信令和控制能力、5G无线网络的底层信令和控制能力等)。WCN 120可以使用分布式架构来实现,其中,使用由一个或多个相关联的控制单元(CE)控制的一个或多个转发单元(FE)来分离数据平面和控制平面。在至少一些这样的实施例中,例如,WAN 121和AN 122可以是FE,而控制器123可以是CE。在至少一些这样的实施例中,例如,WCN 120可以使用软件定义网络(SDN)来实现,在这种情况下,控制器123被配置为操作为SDN控制器,并且WCN 120的其它元件(即WAN 121、AN 122以及可选地WCN 120的其它元件,这些其它元件为了清楚起见而被省略)被配置为操作为SDN网络设备。在使用SDN来实现WCN 120的至少一些实施例中,可以使用OpenFlow(或任何其它适合的通信协议)来实现基于SDN的通信。在至少一些实施例中,例如在虚拟化环境内(例如,在数据中心环境或其它适合类型的环境内)实现WCN 120的元件的情况下,可以使用网络功能虚拟化(NFV)来实现WCN 120。WCN 120可以使用各种其它类型的技术来实现。
CN 130可以包括WD 110可经由其进行通信的任何通信网络。例如,CN 130可以包括一个或多个公共数据网络(例如,因特网)、一个或多个专用数据网络(例如,一个或多个网络运营商网络、一个或多个服务提供商网络、一个或多个企业网络、一个或多个云网络等中的一个或多个)等及其各种组合。
应当理解,虽然在本文中主要被示出为具有以特定配置而布置的特定元件,但是无线通信系统100可以具有可以以各种其它配置而布置的各种其它元件。
图2示出了用于无线通信系统的示例性分布式架构,包括控制单元并且包括提供或支持用于处理功能可扩展性的数据平面的转发单元。
如图2中所示,分布式架构200包括控制单元(CE)210和转发单元(FE)220,其中,CE210和FE 220经由通信路径230而通信连接。
CE 210和FE 220可以与无线通信系统(例如,图1的无线通信系统100)的元件相对应,并且可以协作以提供由无线通信系统支持的各种处理功能。例如,CE 210可以与图1的WCN 120的控制器123相对应,而FE 220可以与WCN 120的数据平面中的任何元件(例如,WAN121、AN 122等)相对应。例如,如本文所讨论的,CE 210和FE 220可以协作以提供处理功能,诸如监控、安全、计费等及其各种组合。应当理解,尽管仅示出了单个CE 210和单个FE 220(为了清楚起见),但是可以使用多个CE、多个FE等及其各种组合。
CE 210被配置为向其中部署了CE 210的无线通信网络提供控制平面功能(例如,3G UMTS网络中的HSS和VLR功能、4G LTE网络或5G无线网络中的MME和PCRF功能等)。CE 210被配置为向无线通信网络所支持的处理功能(例如,计费、监控、安全等)提供控制平面功能。
FE 220被配置为向其中部署了FE 220的无线通信网络提供数据平面功能(例如,在3G UMTS网络中的GGSN和SGSN功能、4G LTE网络或5G无线网络中的PGW和SGW功能等)。如在下面进一步讨论的,FE 220被配置为提供或支持用于由无线通信网络所支持的处理功能(例如,计费、监控、安全等)的数据平面功能。对于由无线通信网络所支持的处理功能,由FE220支持的数据平面功能可被配置为支持对应的由CE 210支持的用于处理功能的控制平面功能(例如,提供特定类型的信息,其可以是CE 210在提供由CE 210支持的用于处理功能的控制平面功能时所需或有用的)。FE 220可被配置为以支持为无线通信网络而支持的处理功能的可扩展性的方式,提供或支持用于为无线通信网络而支持的处理功能的数据平面功能。
FE 220包括一组FE端口221-1至221-N(统称为FE端口221)、硬件单元222和处理器单元229。与硬件单元222通信连接的FE端口221支持由FE 220在无线通信网络的数据平面中接收和发送数据分组。硬件单元222和处理器单元229可以协作以支持由FE 220在无线通信网络的数据平面中接收和发送数据分组。
硬件单元222被配置为支持在无线通信网络的数据平面中的数据分组的通信。硬件单元222包括分组解析单元223和分组处理单元224。FE 220经由FE端口221之一接收数据分组,并且将数据分组提供给分组解析单元223。分组解析单元223解析数据分组以识别数据分组的数据流。分组解析单元223可以基于数据分组的报头字段的任何适合的组合(例如,基于4元组、5元组等)来识别数据分组所属的数据流。分组解析单元223将数据分组提供给分组处理单元224。分组处理单元224接收数据分组并且基于所识别的数据分组的数据流来处理数据分组。分组处理单元224保存或读取按照每个流保存流处理信息(例如,分组处理规则、分组转发规则等及其各种组合)的流表。分组处理单元224可以基于与所识别的数据分组的数据流相关联的流表条目来确定经由特定FE端口221的分组的转发。分组解析单元223和分组处理单元224可以与处理器单元229交互以分别提供分组解析和处理功能。分组处理单元224将数据分组提供给FE端口221之一以用于从FE 220进行传输。硬件单元222可以是适合于提供FE 220的分组解析单元223和分组处理单元224的任何类型的硬件单元(例如,专用集成电路(ASIC)或其它适合类型的硬件单元)。应当理解,FE 220的硬件单元222可以在支持由FE 220在无线通信网络的数据平面中接收和发送数据分组方面提供各种其它功能。
处理器单元229被配置为支持无线通信网络的数据平面中的数据分组的通信。处理器单元229被配置为提供对由硬件单元222执行的分组转发的编程控制。处理器单元229可被配置为基于与CE 210的交互来提供对由硬件单元222执行的分组转发的编程控制。例如,在硬件单元222没有由硬件单元222接收的数据分组的数据流的流表条目的情况下,处理器单元229可以代表FE 220向CE 210请求数据分组的流表条目,从CE 210接收数据分组的流表条目,并在硬件单元222上安装流表条目以由硬件单元222在转发数据流的数据分组和其它数据分组中使用。处理器单元229可以是适合于支持FE 220的硬件单元222的任何类型的处理单元(例如,中央处理单元(CPU)或其它适合类型的处理单元)。应当理解,FE 220的处理器单元229可以在支持由FE 220在无线通信网络的数据平面中接收和发送数据分组方面提供各种其它功能。
如本文所讨论的,FE 220被配置为提供或支持用于为无线通信网络而支持的处理功能(例如,计费、监控、安全等)的数据平面功能。在至少一些实施例中,如在下面关于图3进一步所示出和讨论的,FE 220的处理器单元229被配置为基于由处理器单元229从硬件单元222接收的分组报头来提供数据平面功能(即,FE 220提供用于为无线通信网络而支持的处理功能的数据平面功能)。在至少一些实施例中,如在下面关于图4进一步所示出和讨论的,与FE 220相关联的附属单元(为了清楚起见从图2中省略)被配置为基于由附属单元从硬件单元222接收的分组报头来支持数据平面功能(即,FE 220支持用于为无线通信网络而支持的处理功能的数据平面功能)。在任一情况下,FE 220都被配置为支持数据分组的分组报头的传播,以用于在提供或支持用于为无线通信网络而支持的处理功能的数据平面功能中使用。
如上所讨论的,FE 220的硬件单元222被配置为支持数据分组的分组报头的传播,以用于在提供或支持用于为无线通信网络而支持的处理功能的数据平面功能中使用。如图2中所示,硬件单元222的分组解析单元223可被配置为从数据分组中提取分组报头并传播所述分组报头以用于传送到提供用于为无线通信网络而支持的处理功能的数据平面功能的元件,诸如传送到如图3中的FE 220的处理器单元229或者如图4中的与FE 220相关联的附属单元。
如上所讨论的,FE 220的硬件单元222被配置为支持数据分组的分组报头的传播,以用于在提供或支持用于为无线通信网络而支持的处理功能的数据平面功能中使用。在至少一些实施例中,分组的分组报头可以以其原始形式从硬件单元222进行传播。在至少一些实施例中,分组的分组报头可以在被传播之前由硬件单元222进行压缩。分组报头的压缩可以显著减少从硬件单元222传送到提供用于为无线通信网络而支持的处理功能的数据平面功能的元件(例如,处理器单元229或附属单元)的数据量。可以使用任何适合的压缩技术(例如,鲁棒报头压缩(ROHC)、无状态基于字典的压缩等)来执行分组报头压缩。例如,硬件单元222可以使用ROHC来压缩分组报头。应注意,虽然ROHC可以将IP数据报头从四十个字节(对于IPv4)减少到一到三个字节,但实现ROHC通常需要在硬件中保存按流状态信息(这对于所有大小的流,即使是对于诸如大约100K或更小的相对很小的流,仍可能是很大的)。例如,硬件单元222可以使用无状态基于字典的压缩来压缩分组报头。在无状态基于字典的压缩中,硬件单元222建立并(与正在提供用于为无线通信网络而支持的处理功能的数据平面功能,并因此正在接收分组的分组报头的元件)共享用于压缩的报头字段值的字典(例如,将报头字段的值映射到大小更小的字典值),硬件单元222通过用对应的大小更小的字典值来替换报头分组的报头字段值,基于报头字段值的字典来压缩分组报头,并且接收压缩分组报头的元件使用报头字段值的字典来通过用对应的报头字段值来替换压缩后的分组报头的大小更小的字典值,从压缩后的分组报头重建原始分组报头。在无状态基于字典的压缩中,报头字段值的字典中的最大条目数可被限制以适应硬件单元中的可用空间,并且报头字段值的字典可以在新的流到达系统中时动态地更新。应当理解,可以使用其它分组报头压缩技术。
如上所讨论的,FE 220的硬件单元222被配置为支持数据分组的分组报头的传播,以用于在提供或支持用于为无线通信网络而支持的处理功能的数据平面功能中使用。硬件单元222可以使用任何适合的通信信道或路径传播分组报头,以用于传送到提供用于为无线通信网络而支持的处理功能的数据平面功能的元件,所述通信信道或路径可以根据是在FE 220上还是通过与FE 220相关联的附属单元来提供用于处理功能的数据平面功能而变化。例如,硬件单元222可以使用专用FE端口(例如,FE端口221中的一个或多个)、通信总线(例如,外围组件互连(PCI)总线、PCI Express(PCIe)总线等)等及其各种组合来传播分组报头。硬件单元222可被配置为将分组报头流传输到提供用于为无线通信网络而支持的处理功能的数据平面功能的元件。
如上所讨论的,硬件单元222被配置为支持数据分组的分组报头到正在提供用于为无线通信网络而支持的处理功能的数据平面功能的元件的传播。这可以避免FE 220在转发分组的过程中跟踪与提供为无线通信网络而支持的这种处理功能相关联的各种类型的流数据(例如,统计数据、状态信息等)的需要。这还可以避免FE 220仅仅为了支持用于无线通信网络的处理功能而向流表添加附加的流表条目(例如,用于每个单独的流的单独的流表条目)的需要,这可能相当低效。例如,通常,可以在FE硬件内(例如,在三态内容寻址存储器(TCAM)或静态随机存取存储器(SRAM)中)只保存有限数量的流表条目。与传统的L2/L3交换机相比,这对于SDN使能的交换机可能尤其如此,因为目前,SDN使能的交换机通常不能在TCAM中超过10K条目,因为SDN允许在远大于传统的L2/L3交换机的分组字段数量上的分组匹配。因此,在现有的SDN交换机中,即使支持具有用于每个流的TCAM流条目的相对很少数量的流也可能具有挑战性。此外,应注意,在流表大小更大的情况下,FE硬件(例如,TCAM/SRAM)的成本和功耗迅速增加。
应当理解,FE 220可以包括被配置为提供或支持用于为无线通信网络而支持的处理功能(例如,计费、监控、安全等)的数据平面功能的各种其它能力。
应当理解,CE 210和FE 220可被配置为在无线通信网络内提供各种其它功能。
图3示出了用于处理功能可扩展性的数据平面的实施例,其中,数据平面由转发单元提供。如图3中所示,用于处理功能可扩展性的数据平面在FE 300内提供。FE 300可被用作图2的FE 220。FE 300包括硬件单元310和数据平面可扩展性单元320。硬件单元310可被配置为以与图2的FE 220的硬件单元222类似的方式操作。数据平面可扩展性单元320包括处理器单元322和存储器单元324。处理器单元322可以是图2的FE 220的处理器单元229的修改版本(如图3中所示出),或者可以是被配置为与图2的FE 220的处理器单元229进行通信的附加处理器单元(为了清楚起见,从图3中省略了该实施例)。处理器单元322和存储器单元324协作,以支持为无线通信网络而支持的处理功能(例如,计费、监控、安全等)的可扩展性的方式(例如,计费功能的可扩展性、监控功能的可扩展性、安全功能的可扩展性等及其各种组合),来提供用于为无线通信网络而支持的处理功能的数据平面(例如,数据平面功能)。处理器单元322从硬件单元310(例如,从诸如图2的分组解析单元223的分组解析单元)接收数据分组报头。处理器单元322基于分组报头来执行数据平面处理功能,以支持为无线通信网络而支持的处理功能(例如,在支持计费方面的数据平面处理、在支持监控方面的数据平面处理、在支持安全方面的数据平面处理等)。处理器单元322向CE(例如,图2的CE210)传播来自由处理器单元322执行的数据平面处理的处理结果。处理器单元322可以包括任何适合类型的处理器单元(例如,CPU或其它适合的处理器单元)。存储器单元324可以包括任何适合类型的基于存储器的存储单元(例如,随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)等)。参考图5示出和描述了数据平面可扩展性单元320的示例性实施例。
图4示出了用于处理功能可扩展性的数据平面的实施例,其中,数据平面由转发单元和与转发单元相关联的附属单元提供。如图4中所示,用于处理功能可扩展性的数据平面由包括FE 420和附属单元(AE)430的系统400提供。FE 420可被用作图2的FE 220。FE 420包括硬件单元422和处理器单元429,它们可以分别以与图2的FE 220的硬件单元222和处理器单元229类似的方式进行配置。AE 430包括数据平面可扩展性单元431,其被配置为提供用于处理功能可扩展性的数据平面。数据平面可扩展性单元431包括处理器单元432和存储器单元434。处理器单元432和存储器单元434协作,以支持为无线通信网络而支持的处理功能的可扩展性的方式(例如,计费功能的可扩展性、监控功能的可扩展性、安全功能的可扩展性等及其各种组合),来提供用于为无线通信网络而支持的处理功能(例如,计费、监控、安全等)的数据平面(例如,数据平面功能)。处理器单元432从FE 420(例如,从硬件单元422)接收数据分组报头。处理器单元432可以经由FE 420的FE端口(例如,诸如FE端口221)或经由FE 420与AE 430之间的任何其它适合的通信信道从FE 420接收分组报头。处理器单元432基于分组报头来执行数据平面处理功能,以支持为无线通信网络而支持的处理功能(例如,在支持计费方面的数据平面处理、在支持监控方面的数据平面处理、在支持安全方面的数据平面处理等)。处理器单元432向CE(例如,图2的CE 210)传播来自由处理器单元432执行的数据平面处理的处理结果。处理器单元432可以将处理结果不经过FE 420而直接传播到CE,或者经由FE 420间接传播到CE。处理器单元432可以通过(例如,经由FE 420的FE端口(例如,FE端口221))将处理结果提供给FE 420的处理器单元429(FE 420的处理器单元429然后向CE传播处理结果),经由FE 420间接向CE传播处理结果。AE 430可以是服务器或其它适合类型的设备。处理器单元432可以包括任何适合类型的处理器单元(例如,CPU或其它适合的处理器单元)。存储器单元434可以包括任何适合类型的基于存储器的存储单元(例如,RAM、DRAM、SDRAM等)。参考图5示出和描述了数据平面可扩展性单元431的示例性实施例。
图5示出了在图3或图4的数据平面中使用的数据平面可扩展性单元的实施例。数据平面可扩展性单元500可被用作图3的数据平面可扩展性单元320或图4的数据平面可扩展性单元431。
图5的数据平面可扩展性单元500包括处理器核510、缓存单元520和存储器单元530。应注意,可以以各种方式来提供数据平面可扩展性单元500的各种组件之间的通信(例如,使用一个或多个通信总线经由缓存单元520在处理器核510与存储器单元530之间进行通信等),并且因此为了清楚起见而从图5中省略。
处理器核510被配置为支持数据平面可扩展性单元500的各种处理功能。处理器核510被配置为支持散列功能512和分组处理功能514。处理器核510可被配置为支持各种其它处理功能(为了清楚起见从图5中省略)。
缓存单元520被配置为存储由处理器核510接收的用于分组报头的分组的分组数据。如在下面进一步讨论的,在等待由处理器核510进行处理时,由缓存单元520所存储的分组数据被存储以用于更新由存储器单元530所存储的流数据。缓存单元520被配置为支持分组队列522和分组聚合缓冲器524。分组队列522和分组聚合缓冲器524被配置为存储与分组相关联的分组数据,并且可被称为分组缓冲器或分组缓冲数据结构。分组队列522被配置为存储用于单独的分组的单独的分组数据,而分组聚合缓冲器524被配置为按照每个流来存储用于分组群组的聚合分组数据。分组队列522和分组聚合缓冲器524可以使用分组数据结构来存储分组数据,分组数据结构可以被插入缓存单元520内(说明性地,插入分组队列522或分组聚合缓冲器524内),作为分组数据条目。分组数据结构包括流标识符元素和分组数据元素。流标识符元素标识与分组数据相关联的流。流标识符元素可以包括存储定义与分组数据相关联的流的一组分组报头字段的一个或多个字段。分组数据元素可以包括存储流的分组数据的一个或多个字段(同样地,分组队列522的分组数据条目的单独的数据分组的单独的分组数据,以及分组聚合缓冲器524的分组数据条目的聚合分组数据的聚合分组数据)。分组数据元素的分组数据可以包括统计数据(例如,分组计数、字节计数、比特位计数)、状态信息(例如,流的TCP状态(例如,仅SYN、SYN-ACK发送、或完全建立))等及其各种组合。对于由数据平面可扩展性单元500支持的不同类型的处理功能(例如,计费相关数据(例如,分组计数、字节计数、比特位计数等)、监控相关数据、安全相关数据等),分组数据元素的分组数据可以变化。缓存单元520可以包括层1(L1)缓存、层2(L2)缓存、L1/L2缓存等。
存储器单元530被配置为存储流数据。流数据包括基于由处理器核510对缓存单元520的分组数据进行的处理(例如,基于由缓存单元520保存的分组数据的处理来更新流的按流流数据)而产生的数据。存储器单元530被配置为按照每个流来存储数据流的流数据。存储器单元530被配置为使用可插入存储器单元530内作为流数据条目的流数据结构来存储分组流的流数据。存储器单元530用于存储流数据的流数据结构可以与缓存单元520用于存储分组数据的分组数据结构相类似。流数据结构包括流标识符元素和流数据元素。流标识符元素可以包括存储定义与流数据相关联的流的一组分组报头字段的一个或多个字段。流数据元素可以包括存储流的流数据的一个或多个字段。流数据元素的流数据可以包括统计数据(例如,分组计数、字节计数、比特位计数)、状态信息(例如,流的TCP状态(例如,仅SYN、SYN-ACK发送或完全建立))等及其各种组合。对于由数据平面可扩展性单元500支持的不同类型的处理功能(例如,计费相关数据(例如,分组计数、字节计数、比特位计数等)、监控相关数据、安全相关数据等),流数据元素的流数据可以变化。存储器单元530可以是随机存取存储器(RAM)、动态RAM(DRAM)或其它适合类型的存储器。
处理器核510被配置为支持分组处理功能。
处理器核510从与数据平面可扩展性单元500相关联的FE的硬件单元接收分组报头(在此,为了清楚起见已经省略了该硬件单元)。
对于所接收的数据分组的分组报头,处理器核510使用散列功能512,基于数据分组的流标识符(例如,基于4元组,5元组等)对所接收的分组报头进行散列。散列功能512可被配置为使用任何适合的散列技术。
在对分组报头进行散列之后,处理器核510将分组报头分配给被用于聚合和存储数据分组所属的流的流数据的存储器单元530的按流数据桶(bucket),并识别被用于聚合和存储数据分组所属的流的流数据的存储器单元530的按流数据桶的存储器地址。
在对分组报头进行散列之后,处理器核510确定用于数据分组的分组数据,并将用于数据分组的分组数据插入缓存单元520中。只要在分组队列522中存在用于分组数据的空间,处理器核510就将用于数据分组的分组数据插入分组队列522中,否则处理器核510将用于数据分组的分组数据插入分组聚合缓冲器524中。关于分组队列522中是否存在用于分组数据的空间的确定可以基于确定分组队列522是否满足或超过阈值(例如,按照所存储的数据总量的大小阈值、分组数据条目的数量等)。
处理器核510将用于数据分组的分组数据插入分组队列522中,作为分别包括用于数据分组的单独的分组数据的单独的分组数据条目。分组队列522存储用于单独的数据分组的单独的分组数据,对此,处理器核510已经接收分组报头,但是处理器核510尚未处理数据分组的分组报头以用于更新数据分组所属的相应的流的流数据。处理器核510使用由分组队列522和分组聚合缓冲器524所支持的分组数据结构,将用于数据分组的分组数据插入分组队列522中,作为分组数据条目。如上所讨论的,分组数据结构包括流标识符元素(标识与分组数据相关联的流)和分组数据元素(包括用于数据分组的单独的分组数据)。
处理器核510将用于数据分组的分组数据插入分组聚合缓冲器524中,作为分别包括用于流的数据分组群组的聚合分组数据的按流分组数据条目。分组聚合缓冲器524存储用于分组流的数据分组群组的聚合分组数据,对此,处理器核510已经接收分组报头,但是处理器核510尚未处理数据分组的分组报头以用于更新与数据分组群组相关联的相应的流的流数据(例如,使用提供分组聚合缓冲器524的第一分组数据条目的第一分组数据结构来存储用于第一流的数据分组的聚合分组数据,使用提供分组聚合缓冲器524的第二分组数据条目的第二分组数据结构来存储用于第二流的数据分组的聚合分组数据等)。通过识别与数据分组相关联的流,确定分组数据条目是否已经存在于用于该流的分组聚合缓冲器524中(例如,基于流的流标识符来搜索分组聚合缓冲器524),并且基于关于分组数据条目是否已经存在于用于该流的分组聚合缓冲器524中的确定结果来更新聚合缓冲器524以包括数据分组的分组数据,处理器核510将用于数据分组的分组数据插入分组聚合缓冲器524中。如果分组数据条目尚未存在于用于该流的分组聚合缓冲器524中,则处理器核510在用于该流的分组聚合缓冲器524中创建新分组数据条目,并将数据分组的分组数据存储在新分组数据条目中(例如,使用由分组聚合缓冲器524支持的分组数据结构,其包括流标识符元素(标识与数据分组相关联的流)和分组数据元素(包括用于数据分组的单独的分组数据))。如果用于该流的分组聚合缓冲器524中已经存在分组数据条目,则处理器核510基于数据分组的分组数据来更新分组聚合缓冲器524中的已有分组数据条目(例如,通过聚合分组聚合缓冲器524中的数据分组的分组统计数据和已有分组数据条目的已有分组统计数据,通过将数据分组的附加流状态信息添加到分组聚合缓冲器524中的已有分组数据条目的已有流状态信息中等)。例如,在流的聚合分组统计数据正在跟踪针对该流接收的总字节数并且该流的第一分组包括100字节而当前接收的该流的分组包括200字节的情况下,分组聚合缓冲器524中的已有分组数据条目被更新以包括指示对于为其在分组聚合缓冲器524中保存分组数据的数据分组,对于该流已经接收总共300字节的聚合分组统计数据。如果用于该流的分组聚合缓冲器524中已经存在分组数据条目,则通过(1)从分组聚合缓冲器524读取与数据分组相关联的流的已有流数据(例如,基于流的流标识符),(2)基于数据分组的分组数据,更新流的已有分组数据以形成用于流的聚合分组数据,以及(3)将用于流的聚合分组数据写入分组聚合缓冲器524中,处理器核510可以基于数据分组来更新用于该流的分组聚合缓冲器524中的已有分组数据条目。
处理器核510将用于分组的分组数据插入缓存单元520中,以使得分组队列522可以具有用于相同的流的多个分组数据条目/结构(因为被定向到分组队列522的分组被单独地处理),而分组聚合缓冲器524包括用于每个流的单个分组数据条目/结构(因为对于被定向到分组聚合缓冲器524的分组报头,处理器核510按照每个流来执行分组数据聚合)。
处理器核510可被配置为将聚合分组数据移出分组聚合缓冲器524并移入分组队列522中(因为,如在下面进一步讨论的,存储器单元530的流数据的更新可以基于分组队列522中的分组数据条目的处理来执行)。处理器核510可以基于各种条件将聚合分组数据移出分组聚合缓冲器524并移入分组队列522中。处理器核510可以基于确定条件满足给定的流而将给定的流的聚合分组数据移出分组聚合缓冲器524并移入分组队列522中。例如,在进行计费的情况下,用于流的条件可以是用于流的当前信用计数满足阈值(例如,接近于“零”或快到期、已经达到“零”或已到期等)。处理器核510可以基于流的优先级而将流的聚合分组数据移出分组聚合缓冲器524并移入分组队列522中。通过将分组聚合缓冲器524的流标记为紧急(例如,满足条件的每个流都被标记为紧急),将紧急的流相对于彼此按优先顺序排列(例如,通过将相应的等级值分配给紧急的流),以及基于紧急的流相对于彼此的优先次序而将紧急的流的聚合分组数据移出分组聚合缓冲器524并移入分组队列522中(例如,在流的聚合分组数据被移动时,选择最高优先级的紧急的流作为要为其移动聚合分组数据的紧急的流),处理器核510可以将流的聚合分组数据移出分组聚合缓冲器524并移入分组队列522中。换句话说,与没有被标记为紧急的流相比,紧急的流获得加速处理。处理器核510可以基于一个或多个因素按优先顺序排列紧急的流。在进行计费的情况下,例如,被标记为紧急的流可被分配与流的剩余信用数量成比例的等级(例如,更低的信用与更高的等级相对应并且因此与更高的紧急性相对应)。在进行监控的情况下,例如,被标记为紧急的流可被分配与其大小成比例的等级。在安全性的情况下,例如,被标记为紧急的流可被分配与流的始发时间(例如,接收流的SYN分组的时间,如果它是半开放的TCP流)成比例的等级。在至少一些实施例中,可以使用一个或多个其它因素来确定哪些流被标记为紧急或者相对于彼此按优先顺序排列紧急的流(例如,分组聚合缓冲器524中针对流所累积的聚合分组数据量、与流相关联的服务级别或优先级等及其各种组合)。处理器核510可以将给定的流的聚合分组数据移出分组聚合缓冲器524,并且基于确定在分组队列522内有足够的空间变得可用而将其移入分组队列522中。通过从分组聚合缓冲器524中移除分组数据结构并将分组数据结构插入分组队列522中,处理器核510可以将给定的流的聚合分组数据移出分组聚合缓冲器524并移入分组队列522中。
处理器核510处理缓存单元520的分组数据以用于更新存储器单元530的流数据。处理器核510处理分组队列522的分组数据以用于更新存储器单元530的流数据。通过以先进先出(FIFO)的方式或以任何其它适合的方式来处理分组队列522的分组数据条目,处理器核510可以处理分组队列522的分组数据以用于更新存储器单元530的流数据。应当理解,分组队列522的给定分组数据条目可以包括用于单独的分组的分组数据(其中,分组数据被直接插入分组队列522中)或用于分组群组的聚合分组数据(其中,分组数据在被从分组聚合缓冲器524传送到分组队列522之前在分组聚合缓冲器524内被聚合)。处理器核510可以使用分组处理功能514来处理分组队列522的分组数据条目,其中,对于可由转发单元支持的不同类型的处理功能,由分组处理功能514所支持(并且因此由处理器核510提供)的功能可以变化。通过(1)从存储器单元530读取与分组数据条目相关联的流的已有流数据(例如,基于在进行散列时计算的存储器单元530的散列地址),(2)基于正在被处理的分组队列522的分组数据条目的分组数据,更新该流的已有流数据以形成该流的更新流数据,以及(3)将该流的更新流数据写入存储器单元530中(例如,基于在进行散列时计算的存储器单元530的散列地址),处理器核510可处理与该流相关联的分组队列522的分组数据条目,以用于更新在用于该流的存储器单元530内保存的流数据。
处理器核510可以基于流的已有流数据和正在被处理的分组数据条目的分组数据,执行各种类型的处理以用于确定该流的更新流数据,这可对于由数据平面可扩展性单元500正在提供的不同类型的处理功能而变化。例如,在数据平面可扩展性单元500正在提供计费功能的情况下,用于确定流的更新流数据的处理可以包括更新用于流的分组计数或字节计数以供在附加的计费计算中使用,其可在确定用于与流相关联的客户的计费信息中执行。例如,在数据平面可扩展性单元500正在提供监控功能的情况下,用于确定流的更新流数据的处理可以包括计算平均带宽。例如,在数据平面可扩展性单元500正在提供安全功能的情况下,用于确定流的更新流数据的处理可以包括计算流的TCP状态(例如,仅SYN,SYN-ACK发送或完全建立)。应当理解,对于可被支持的各种其它类型的处理功能,可以保存各种其它类型的流数据(例如,统计数据、状态信息等)。
处理器核510可结合用于确定流的更新流数据而执行的处理来执行各种附加类型的处理,这可对于由数据平面可扩展性单元500提供的不同类型的处理功能而变化。例如,在数据平面可扩展性单元500正在提供计费功能的情况下,附加的处理可以包括分析更新的流统计数据(例如,分组计数、字节计数等)以确定是否执行附加的处理(例如,基于确定对于流阈值被满足或超出、基于确定被分配给流的信用已经被使用等)。例如,在数据平面可扩展性单元500提供计费功能的情况下,附加的处理可以包括和与处理器核510相关联的FE的硬件单元进行通信(例如,用于设置或修改与处理器核510相关联的FE的硬件单元中的流表条目(例如,在没有附加信用的情况下设置用于阻止流的阻止规则,设置用于修改用于流的QoS的QoS修改规则等)。例如,在数据平面可扩展性单元500正在提供计费功能的情况下,附加的处理可以包括和与处理器核510相关联的CE进行通信(例如,用于获取和返回信用分配,用于报告流统计数据(例如,周期性地,响应于来自CE的请求等)等)。例如,在数据平面可扩展性单元500正在提供计费功能的情况下,附加的处理可以包括报告功能(例如,以与按流粒度一样低的粒度在上行链路和下行链路上分别报告字节、分组和使用时长)、准许/节流功能(例如,允许/节流流到高达字节阈值(用于在线计费),允许流到指定时长或允许流到达到一天中的指定时间等)、支持基于信用的计费功能或类似的或相关联的功能(例如,阻止没有信用的流、降低用于超过其信用的流的QoS,在使用超过当前数据桶时修改计费率(例如,超额)、在阈值交叉时请求附加的信用等)等及其各种组合。例如,在数据平面可扩展性单元500正在提供监控功能的情况下,附加的处理可以包括向CE报告大的流。例如,在数据平面可扩展性单元500正在提供安全功能的情况下,附加的处理可以包括向CE报告未完全建立的半开放的TCP会话的数量。应当理解,对于可被支持的各种其它类型的处理功能,可以执行各种其它类型的附加处理。
应当理解,虽然主要针对其中基于分组队列522中的分组数据条目的处理来执行存储器单元530的流数据的更新(并且,因此分组聚合缓冲器524的分组数据条目被移入分组队列522中)的实施例来描述,但在至少一些实施例中,存储器单元530的流数据的更新可以基于分组队列522中的分组数据条目的处理和分组聚合缓冲器524中的分组数据条目的处理来执行(即,不将分组聚合缓冲器524的分组数据条目移入分组队列522中)。在至少一些这样的实施例中,处理器核510可被配置为对分组队列522中的分组数据条目的处理和分组聚合缓冲器524中的分组数据条目的处理进行按优先顺序排列处理,以用于更新存储器单元530的流数据。
应当理解,虽然在本文中主要针对其中数据平面可扩展性单元500使用缓冲存储器来保存包括分组队列522和分组聚合缓冲器524的分组缓冲数据结构的实施例来描述,但在至少一些实施例中,分组缓冲数据结构的至少一部分(例如,分组队列522、分组聚合缓冲器524,或者分组队列522和分组聚合缓冲器524两者)可被保存在其它类型的基于缓存的存储单元中(例如,其它类型的缓冲存储器(例如,L3缓冲存储器)、主存储器(例如,RAM、DRAM等)等及其各种组合中)。然而,如在下面进一步讨论的,可以存在与L1/L2缓冲存储器的使用而不是其它类型的缓冲存储器或主存储器的使用相关联的各种优点或潜在优点,以保存包括分组队列522和分组聚合缓冲器524的分组缓冲数据结构。例如,与使用DRAM来确定聚合流数据相比,将L1/L2缓存用于分组队列522和分组聚合缓冲器524导致更有效的处理以用于确定聚合流数据,因为从L1/L2缓冲器存取分组数据的延迟预计比从DRAM存取聚合流数据的延迟低大约5-10倍。因此,在至少一些实施例中,为分组队列522和分组聚合缓冲器524分配的存储器可以保持足够小,以尽可能地使得分组队列522和分组聚合缓冲器524在处理器的更快的L1/L2缓存中保持缓存,并且因此与许多其它类型的存储器(例如,L3缓冲器、DRAM等)相比,可以以相对低的延迟进行存取。在至少一些实施例中,为分组队列522和分组聚合缓冲器524分配的缓存单元520的存储器可被静态分配。在至少一些实施例中,分组聚合缓冲器524可以动态增长(例如,在未处理的分组溢出或处于溢出危险的情况下,静态分配的存储器)。应注意:(1)只要确定数据平面可扩展性单元500的尺寸以确保平均分组处理速率高于平均分组到达速率,则当到达分组的分组数据正在等待用于更新相关联的流数据的处理时,相对小的分组队列522(例如,100个分组、150个分组等)可足以存储用于到达分组的分组数据;以及(2)由于流量突发仍可能导致分组队列522在短时间段内溢出,分组聚合缓冲器524可以通过如上所述地暂时聚合分组数据来处理任何这样的溢出,直到聚合的分组数据可以用于更新存储器单元530中的流数据为止。因此,分组聚合缓冲器524(例如,在更快的缓冲存储器中,诸如在处理器的L1/L2缓冲存储器中)的缓存使每个分组的处理/聚合速率能够高得多,从而提供必需的加速以处理流量突发。缓存分组缓冲数据结构的各种益处或潜在益处可从以下示例中进一步理解。
作为示例,在使用L1/L2缓存来实现缓存单元520并且使用DRAM来实现存储器单元530的情况下,可以示出,在更新存储器单元530中的流数据之前使用分组聚合缓冲器524部分聚合分组数据比响应于每个数据分组而更新存储器单元530中的流数据更有效。例如,在流包括20个分组的情况下,代替经由分组队列522对DRAM中的流的流数据执行20个单独的更新,使用分组聚合缓冲器524来执行前10个分组的分组数据的第一部分聚合,并基于第一部分聚合来更新DRAM中的流的流数据,然后使用分组聚合缓冲器524来执行后10个分组的分组数据的第二部分聚合,并基于第二部分聚合来更新DRAM中流的流数据更有效。这大大提高了处理速度,使FE能够处理临时分组突发而不会丢包。
作为示例,在使用L1/L2缓存来实现缓存单元520并且使用DRAM来实现存储器单元530的情况下,可以示出,具有单个DRAM存储条的单个处理器核可以支持以10Gbps线路速率的计费,其中具有100K并发流的峰值。在这个示例中,假设平均分组大小为250字节而平均分组报头大小为50字节。这给出了PCI总线上所需的每秒5M的分组处理速率和2Gbps的带宽,以将分组从ASIC流传输到CPU(应当注意,PCIe 3.0具有6Gbps的每通道的吞吐量)。如上所讨论的,更新按流数据需要2次DRAM存取,并且因此需要每秒10M次的DRAM存取。假设DRAM存取为50ns,从而允许每秒20M次的DRAM存取。因此,当在线路速率低于10Gbps的情况下在转发单元(例如,BTS交换机或其它类型的元件)中执行计费处理时,以线路速率的处理对于单个处理器核和DRAM应当是可行的。
应当理解,虽然在本文中主要针对其中数据平面可扩展性单元500使用单个处理器(例如,单核CPU)和单个相关联的存储器单元(例如,单个DRAM)的实施例来描述,但是数据平面可扩展性单元500可被配置为使用多个处理器(例如,多核CPU、多个CPU等及其各种组合)、多个存储器单元(例如,分别与多个处理器相关联的多个专用DRAM存储器模块)等及其各种组合。这可允许数据平面可扩展性单元500以更高的线路速率来支持处理功能。通过对分组报头字段值进行散列并且使用基于散列的负载平衡,数据平面可扩展性单元500可以在多个处理器之间分发分组报头,因为散列被预计确保相同的流的所有分组都被定向到相同的处理器/DRAM。应注意,具有足够数量的处理器和相关联的DRAM存储器模块可以确保可以以线路速率来进行处理,即使在预计具有相对高的处理速率的网络元件处(例如,可以支持100Gbps或更高的处理速率的移动网关)。应当理解,虽然在本文中主要针对其中数据平面可扩展性单元500使用单个缓存单元(说明性地,缓存单元520)的实施例来描述,但是数据平面可扩展性单元500可被配置为使用多个缓存单元。应当理解,在本文中示出和描述的各种存储单元(例如,缓存单元520、存储器单元530等)在本文中可以更一般地被称为存储单元。应当理解,在本文中示出和描述的各种存储单元(例如,缓存单元520、存储器单元530等)可以使用单个存储单元、多个存储单元等来提供。
图6示出了由数据平面可扩展性单元在生成并存储用于由数据平面可扩展性单元处理的分组数据中使用的方法的实施例。应当理解,虽然主要被示出为连续地执行,但是方法600的至少一部分步骤可以同时执行或以与图6中所示不同的顺序来执行。在步骤601,方法600开始。在步骤610,接收分组报头。分组报头可以是未压缩的分组报头,或者可以是压缩的分组报头(在这种情况下,在执行进一步的处理之前压缩的分组报头被解压缩)。在步骤620,处理分组报头以提供用于分组的分组数据。分组数据可以包括分组所属的流的流标识符和分组的分组数据。在步骤630,作出关于数据平面可扩展性单元的分组队列是否超过阈值的确定(例如,按照所存储的数据总量、分组数据条目的数量的大小阈值等)。如果数据平面可扩展性单元的分组队列没有超过阈值,则方法600进行到步骤640,在步骤640,使用分组队列的分组数据条目,将分组数据插入分组队列中,作为用于分组的单独的分组数据。如果数据平面可扩展性单元的分组队列超过阈值,则方法600进行到步骤650,在步骤650,使用分组聚合缓冲器的分组数据条目,将分组数据插入数据平面可扩展性单元的分组聚合缓冲器中(例如,作为新分组数据条目或者经由已有分组数据条目的更新),作为用于与分组相关联的数据流的聚合分组数据。分组数据然后在数据平面可扩展性单元内可用,以用于后续处理以更新由数据平面可扩展性单元保存的流数据,其实施例关于图7来描述。方法600从步骤640和步骤650进行到步骤699,在步骤699,方法600结束。方法600的步骤可以通过参考图5来进一步理解。
图7示出了由数据平面可扩展性单元在处理分组数据以更新由数据平面可扩展性单元存储的流数据中使用的方法的实施例。应当理解,虽然主要被示出为连续地执行,但方法700的至少一部分步骤可以同时执行或以与图7中所示不同的顺序来执行。
在步骤701,方法700开始。
在步骤710,作出分组队列是否为空的确定。如果分组队列为空,则方法700保持在步骤710(直到在分组队列中存在可用于进行处理的分组数据为止)。如果分组队列不为空(其包括可用于进行处理的至少一个分组数据条目),则方法700进行到步骤720。
在步骤720,从分组队列中提取分组数据条目。分组数据条目包括分组数据,其包括与分组数据相关联的流的流标识符和分组数据。分组数据条目可以包括用于流的单个数据分组的单独的分组数据(例如,最初插入分组队列中的分组数据条目)或用于流的一组数据分组的聚合分组数据(例如,被从分组聚合缓冲器移入分组队列中的分组数据条目)。分组数据条目被提取以用于处理分组数据条目的分组数据,以更新与分组数据条目相关联的流的流数据。例如,可以提取分组队列前面的分组数据条目以进行处理。
在步骤730,识别与分组数据条目相关联的流。与分组数据条目相关联的流可以基于分组数据条目的分组数据的流标识符进行识别。
在步骤740,作出存储器单元是否包括用于与分组数据条目相关联的流的流数据条目的确定。可以通过使用分组数据条目的流标识符搜索存储器单元来作出确定。
如果确定存储器单元不包括用于与分组数据条目相关联的流的流数据条目,则方法700进行到步骤750。在步骤750,在存储器单元内为与分组数据条目相关联的流创建流数据条目。在步骤755(可选步骤),可以在将分组数据条目的分组数据写入流数据条目之前,基于分组数据条目来执行附加的处理。在步骤760,分组数据条目的分组数据被写入在用于与分组数据条目相关联的流的存储器单元内创建的流数据条目中。方法700从步骤760返回到步骤710。
如果确定存储器单元确实包括用于与分组数据条目相关联的流的已有流数据条目,则方法700进行到步骤770。在步骤770,从用于与分组数据条目相关联的流的已有流数据条目中提取流的流数据。这可以包括提取已有流数据条目或者只提取已有流数据条目的流数据部分。在步骤780,基于分组数据条目的分组数据来更新已有流数据条目的流数据以形成更新流数据。在步骤785(可选步骤),可以在更新流数据被写回到流数据条目中之前,基于更新流数据来执行附加的处理。在步骤790,更新流数据被写回到用于与分组数据条目相关联的流的流数据条目中。方法700从步骤790返回到步骤710。
应当理解,方法700的步骤可以通过参考图5来进一步理解。
如本文所讨论的,可以在无线通信网络内支持各种类型的处理功能。例如,可以在无线通信网络内支持的处理功能可以包括计费功能、监控功能、安全功能等及其各种组合。在无线通信网络内支持的处理功能可以包括数据平面部分和控制平面部分,其中的每一个都可以以各种方式来实现。例如,无线通信网络的处理功能的数据平面部分可以在FE的硬件内实现。例如,如关于图1至图7所示出和描述的,无线通信网络的处理功能的数据平面部分可以使用数据平面可扩展性单元来实现(例如,FE的CPU的修改版本、与FE相关联的附属单元等及其各种组合)。通常,可以以各种方式(例如,使用集中式或分布式部署)来实现无线通信网络中的处理功能的部署,包括处理功能的数据平面和控制平面部分的部署。应当理解,处理功能的数据平面和控制平面部分的分离(并且具体地,用于处理功能的数据平面部分的数据平面可扩展性单元的实施例的使用)可以在无线通信网络中的处理功能的部署中提供更大的灵活性。可以以各种方式来实现处理功能的分布式部署,包括处理功能的数据平面部分的分布式部署(同样地,用于处理功能的数据平面部分的数据平面可扩展性单元的实施例的使用可以在这方面提供更大的灵活性)。通过考虑无线通信网络中的特定处理功能的分布式部署,可以进一步理解无线通信网络中的处理功能的数据平面部分的分布式部署。因此,无线通信网络中的处理功能的数据平面部分的分布式部署在本文中主要在用于无线通信网络的计费功能的上下文内进行描述;然而,应当理解,计费功能的数据平面部分的分布式部署的实施例可以用于或适用于提供可以在无线通信网络内实现的各种其它类型的处理功能的数据平面部分的分布式部署(例如,监控、安全等)。应当注意,计费功能的数据平面部分的分布式部署(以及因此,其它类型的功能)可以或可以不使用如关于图1至图7所示出和描述的处理功能的数据平面部分的数据平面可扩展性单元的实施例。
如本文所讨论的,可以以各种方式来实现在无线通信网络中的处理功能的部署,包括处理功能的数据平面和控制平面的部署。通常,处理功能的数据平面部分可以以集中式或分布式的方式来实现。例如,在4G无线网络中,用于计费功能的数据平面通常驻留在移动网关(MGW)/移动锚点(MA)中,虽然现有的4G无线网络通常具有用于计费功能的数据平面与控制平面之间的有限分离,因为锚定分配通常是静态的(例如,用户的所有流量通常遍历归属锚点,使得所有的计费逻辑可以在单个FE(即,用户的归属锚点)中执行)。相比之下,为了处理5G无线网络可能进行处理所需的流量的所预计的爆炸式增长,5G无线网络中的MA可被部署得更靠近终端无线设备。结果将会是更分散的架构,其中,可以按照按流粒度来分配MA(以使得给定用户的流量可以使用多个MA)。因此,计费数据平面也可以更分散,以使得计费数据平面功能可以分布在多个FE上(例如,分布在多个MA、多个BTS的单个MA和多个BTS交换机等及其各种组合上)。示例性实施例在图8中示出。
图8示出了支持用于无线通信网络的计费功能的分布式部署的无线通信网络的实施例。
无线通信网络800包括控制器810、移动网关(MGW)/移动锚点(MA)820和多个BTS单元830-1至830-X(统称为BTS单元830)。BTS单元830-1至830-X分别包括为相应的各组UE提供无线接入点的BTS 832-1至832-X(统称为BTS 832)。BTS单元830-1至830-X分别包括BTS交换机834-1至834-X(统称为BTS交换机834),其被配置为促进BTS 832与MGW/MA 820之间的通信。
控制器810可被配置为操作为用于无线通信网络800的计费功能的控制单元(CE)(说明性地,控制器810包括计费控制平面功能812),而MGW/MA 820和BTS交换机834可被配置为操作为用于无线通信网络800的计费功能的转发单元(FE)(说明性地,MGW/MA 820包括计费数据平面功能822,而BTS交换机834-1至834-X包括相应的计费数据平面功能835-1至835-X(统称为计费数据平面功能835)。计费控制平面功能812以及计费数据平面功能822和835可协作以支持无线通信网络800的终端用户的计费(说明性地,控制器810被配置为与MGW/MA 820和BTS交换机834中的每一个进行通信)。计费数据平面功能822和835可被实现为关于图1至图7所示出和描述的数据平面可扩展性功能。
控制器810可被配置为确保,在这样的分布式计费模型中,当在用户正在使用的所有FE上进行聚合时(说明性地,与用户经由其进行通信的BTS 832相关联的BTS交换机834),用户的总数据使用不超过用于用户的可用信用。在一个实施例中,控制器810可以动态地划分用户的可用信用,并将用户的所划分的信用分配给用户要使用的不同的FE。控制器810可以根据来自用户的无线设备(说明性地,一个或多个UE)的数据活动,将用户的所划分的信用分配给用户要使用的不同的FE。FE然后可以独立地执行用于用户的处理逻辑。针对基于每个用户字节计数的计费的示例性消息流程针对图9示出和描述。
图9示出了用于图8的无线通信网络的计费功能的分布式部署中的基于每个用户字节计数的计费的消息流的实施例。图9的消息流900示出了在提供用于计费功能的控制平面的CE与提供用于计费功能的数据平面的FE之间的交互。例如,图9的消息流900可以在图8的无线通信网络800的上下文内使用(例如,其中图9的CE是图8的控制器810,而图9的FE是图8的BTS交换机834之一)。
如消息流900中所示,在用户连接过程期间,FE向CE发送(911)请求消息,其中,FE请求用于用户的信用,CE将用户的可用信用的一部分分配(912)给用于用户的FE,并且CE向FE发送(913)响应消息,其中,CE指示由CE分配给FE的用户的信用数量(说明性地,FE被授权使用用户的信用X1)。
如消息流900中所示,在分组处理过程中,FE处理用户的分组(921)。在接收到用户的分组时,FE更新用户可用的剩余信用的数量(例如,通过从用户可用的剩余信用的数量中减去所接收的分组的字节数)。FE然后可以执行与信用管理相关的各种检查。FE可以确定用户可用的剩余信用的数量是否为“零”,并且可以基于确定用户可用的剩余信用的数量为“零”,设置指示用户的未来分组将被FE丢弃(例如,如在下面进一步讨论的,直到CE授权由FE使用该用户的附加信用)的规则。FE可以确定用户可用的剩余信用的数量是否低于阈值,并且基于确定用户可用的剩余信用的数量低于阈值来发起新请求消息,其中,FE请求用于用户的附加信用。如在下面进一步讨论的,授权FE使用用户的附加可用信用的方式可以与在用户连接时授权FE使用用户的初始可用信用的方式(如上所讨论的)相类似。
如消息流900中所示,在附加信用分配过程期间,FE向CE发送(931)请求消息,其中,FE请求用于用户的附加信用,CE将用户的可用信用的一部分分配(932)给用于用户的FE,CE向FE发送(933)响应消息,其中,CE指示由CE分配给FE的用户的附加信用的数量(说明性地,FE被授权使用用户的信用X2),并且FE更新(934)可用信用的数量以包括由CE分配给FE的用户的附加信用。
如消息流900中所示,在遍历FE的用户流完成之后,FE向CE发送(941)返回未使用信用消息,其中,FE指示被分配给用于用户的FE但未被用于用户的FE使用的未使用信用的数量(并且因此,由FE向CE进行返回,以使得它们可用于由CE为将来的用户进行分配)。
应当理解,虽然主要在单个FE的上下文内进行描述,但CE可以以类似的方式与一个或多个其它FE进行交互,这些FE也支持用户的流以在用户可以经由其进行通信的多个FE上管理用户的信用。
图10示出了当用户在无线接入节点之间移动时,用于图8的示例性无线通信网络中的用户的下行链路流量的分布式计费过程的实施例。
如图10中所示,其中描述了过程1000的无线通信网络包括关于图8示出和描述的无线通信网络800的一部分。也即是说,图10中示出的无线通信网络包括控制器810、MGW/MA820以及第一BTS单元830-1(包括BTS 832-1和BTS交换机834-1)和第二BTS单元830-2(包括BTS 832-2和BTS交换机834-2)。过程1000是用于对用户的下行链路流量进行分布式计费的过程,并且因此示出了单个UE。UE最初与BTS 832-1相关联,然后移动为与BTS 832-2相关联。
如图10所示,过程1000包括由无线通信网络的节点执行的步骤,还包括无线通信网络的节点之间的信令。UE最初与BTS 832-1相关联,因此,用于UE的下行链路流量最初从MGW/MA 820隧道传输到BTS 832-1,并且支持用于用户的下行链路流量计费的数据平面功能在BTS交换机834-1上执行。在步骤1010,UE从与BTS 832-1相关联移动为与BTS 832-2相关联。在步骤1020,用于用户的下行链路流量经由BTS 832-1从MGW/MA 820隧道传输到BTS832-2,并且支持用于用户的下行链路流量的计费的数据平面功能继续在BTS交换机834-1上执行。经由BTS 832-1间接将用户的下行链路流量隧道传输到BTS 832-2被示出为隧道传输的下行链路流量1001。在步骤1030,BTS 832-2向控制器810通知UE现在与BTS 832-2相关联。在步骤1040,控制器810更新MGW/MA 820以将用户的下行链路流量直接隧道传输到BTS832-2(而不是将用户的下行链路流量隧道传输到BTS 832-1并依靠BTS 832-1将用户的下行链路流量隧道传输到BTS 832-2)。将用户的下行链路流量直接隧道传输到BTS 832-2被示出为隧道传输的下行链路流量1002。在步骤1050,如果BTS交换机834-2尚未接收到用于用户的信用的分配(例如,在处理用于用户的上行链路分组时),则BTS交换机834-2向控制器810为用户请求用于用户的信用。在步骤1060,用于用户的计费责任从BTS交换机834-1改变为BTS交换机834-2。BTS交换机834-1终止用于用户的下行链路计费处理(例如,基于来自控制器810或来自BTS交换机834-2的请求等,在由于用户的用户流量没有活动而超时之后)。BTS交换机834-1可以向控制器810通知被分配给BTS交换机834-1但未被BTS交换机834-1使用的用户的任何剩余信用。BTS交换机834-2发起用于用户的下行链路计费处理。
图11示出了当用户在无线接入节点之间移动时,用于图8的示例性无线通信网络中的用户的上行链路流量的分布式计费过程的实施例。
如图11中所示,其中描述了过程1100的无线通信网络包括关于图8示出和描述的无线通信网络800的一部分。也即是说,图11中示出的无线通信网络包括控制器810、MGW/MA820以及第一BTS单元830-1(包括BTS 832-1和BTS交换机834-1)和第二BTS单元830-2(包括BTS 832-2和BTS交换机834-2)。过程1100是用于对用户的上行链路流量进行分布式计费的过程,并且因此示出了单个UE。UE最初与BTS 832-1相关联,然后移动到BTS 832-2。
如图11中所示,过程1100包括由无线通信网络的节点执行的步骤,还包括无线通信网络的节点之间的信令。UE最初与BTS 832-1相关联,因此,用于UE的上行链路流量最初从BTS 832-1隧道传输到MGW/MA 820,并且支持对用户的上行链路流量计费的数据平面功能在BTS交换机834-1上执行。在步骤1110,UE从与BTS 832-1相关联移动为与BTS 832-2相关联。因此,用于用户的上行链路流量从BTS 832-2而不是从BTS 832-1被隧道传输到MGW/MA 820。将用户的上行链路流量从BTS 832-1隧道传输到MGW/MA 820被示出为隧道传输的上行链路流量1101。在步骤1120,如果BTS交换机834-2尚未接收到用户的信用的分配(例如,在处理用于用户的下行链路分组时),则BTS交换机834-2在接收来自UE的第一上行链路分组时,向控制器810为用户请求用于用户的信用。在步骤1130,BTS交换机834-2发起用于用户的上行链路计费处理。
应当理解,虽然在本文中主要针对其中分布式计费是基于每个用户执行的实施例来描述(例如,如图8至图11中所示出和描述的),但在至少一些实施例中,分布式计费可以是以各种其它粒度级别来提供的。例如,在本文中示出的分布式计费的实施例可以适用于支持用于用户群组的计费。例如,在本文中示出的分布式计费的实施例可以适用于支持用于其中多个用户共享单个计划的家庭计划的计费,并且因此所有家庭成员将被集体计费。例如,在本文中示出的分布式计费的实施例可以适用于支持用于M2M计划的计费,其中,企业的所有IoT设备的全部数据使用可以被集体计费。应当理解,在本文中示出的分布式计费的各种实施例可适用于支持各种其它粒度级别的计费。
应当理解,虽然在本文中主要针对可扩展数据平面的实施例来描述,其中,处理功能基于在或低于传输层(例如,开放系统互连模型的层4(L4)或TCP/IP模型的L4)的分组信息来执行,但是可扩展数据平面的实施例可以用于或适用于支持对高于传输层的信息(例如,实时传输协议(RTP)报头信息、超文本传输协议(HTTP)等及其各种组合)进行操作的处理功能。应当理解,可以使用高于传输层的这种信息来支持在本文中所讨论的一个或多个处理功能(例如,高于传输层的信息可以在提供各种类型的监控或安全功能中特别有用)或各种其它可以在通信网络内提供的功能。
应当理解,虽然在本文中主要针对其中可扩展数据平面被用于支持特定类型的无线通信网络(即,蜂窝网络)中的处理功能的可扩展数据平面的实施例,但是可扩展数据平面的实施例可用于支持各种其它类型的无线通信网络中的处理功能。
应当理解,虽然在本文中主要针对其中可扩展数据平面被用于支持特定类型的通信网络(即,无线通信网络)中的处理功能的可扩展数据平面的实施例,但可扩展数据平面的实施例可用于支持各种其它类型的通信网络(例如,有线通信网络等)中的处理功能。
图12示出了适用于在执行在本文中描述的各种功能中使用的计算机的高级框图。
计算机1200包括处理器1202例如,中央处理单元(CPU)、具有一组处理器核的处理器、处理器的处理器核等)和存储器1204(例如,随机存取存储器(RAM)、只读存储器(ROM)等)。处理器1202和存储器1204通信连接。
计算机1200还可以包括协作单元1205。协作单元1205可以是硬件设备。协作单元1205可以是可被加载到存储器1204中并由处理器1202执行以以实现在本文中讨论的功能的过程(在这种情况下,例如,协作单元1205(包括关联的数据结构)可以存储在诸如存储设备或其它存储元件(例如,磁驱动器、光学驱动器等)的计算机可读存储介质上)。
计算机1200还可以包括一个或多个输入/输出设备1206。输入/输出设备1206可以包括用户输入设备(例如,键盘、小键盘、鼠标、麦克风、摄像头等)和用户输出设备(例如显示器、扬声器等)中的一个或多个、一个或多个网络通信设备或元件(例如,输入端口、输出端口、接收机、发射机、收发机等)、一个或多个存储设备(例如,磁带驱动器、软盘驱动器、硬盘驱动器、光盘驱动器等)等及其各种组合。
应当理解,图12的计算机1200可以表示适用于实现在本文中描述的功能元件、在本文中描述的功能元件的部分等以及其各种组合的一般架构和功能。例如,计算机1200可以提供适用于实现WD 110、WAN 121、AN 122、控制器123、CE 210、FE 220、FE 300、AE 430、数据平面可扩展性单元500或在本文中示出和描述的各种其它元件的一般架构和功能。
应当理解,在本文中示出和描述的功能可以采用软件来实现(例如,经由软件在一个或多个处理器上实现以用于在通用计算机上执行(例如,经由一个或多个处理器执行)以实现专用计算机等)和/或可以采用硬件来实现(例如,使用通用计算机、一个或多个专用集成电路(ASIC)和/或任何其它硬件等同物)。
应当理解,在本文中作为软件方法讨论的步骤中的至少一些可以在硬件内实现,例如,作为与处理器协作以执行各种方法步骤的电路。在本文中描述的功能/元件的部分可被实现为计算机程序产品,其中,计算机指令在由计算机处理时,调适计算机的操作,以使得在本文中描述的方法和/或技术被调用或以其它方式提供。用于调用本发明方法的指令可以存储在固定或可移除介质(例如,非暂时性计算机可读介质)中,经由广播或其它信号承载介质中的数据流来传输,和/或存储在根据指令操作的计算设备内的存储器内。
应当理解,除非另行说明(例如,使用“或其它”或者“或替代”),否则在本文中使用的术语“或”是指非排它性的“或”。
各种实施例的各方面在权利要求中具体说明。各种实施例的各方面也在以下编号的款项中具体说明:
条款1.一种被配置为支持由通信网络中的转发单元和控制单元所支持的处理功能的数据平面部分的装置,所述装置包括:
第一存储单元,其被配置为保存被配置为存储用于一组数据分组的分组数据的分组缓冲数据结构,其中,所述分组缓冲数据结构包括被配置为存储分组数据的分组队列和被配置为按照每个流来存储分组数据的分组聚合缓冲器;
第二存储单元,其被配置为存储用于所述转发单元对其支持分组转发的一组数据流的流数据;以及
处理器单元,其与所述第一存储单元和所述第二存储单元通信连接,所述处理器单元被配置为:
从所述转发单元的硬件单元接收第一分组的第一分组报头和第二分组的第二分组报头;
确定与所述第一分组相关联的第一分组数据;
基于确定所述分组队列低于阈值,在所述分组缓冲数据结构的所述分组队列中存储所述第一分组数据,作为用于所述第一分组的单独的分组数据;
确定与所述第二分组相关联的第二分组数据;以及
基于确定所述分组队列超过所述阈值,在所述分组缓冲数据结构的所述分组聚合缓冲器中存储所述第二分组数据。
条款2.根据条款1所述的装置,其中,所述处理器单元被配置为:
使用与所述处理功能相关联的处理逻辑,基于所述第一分组报头的处理,确定与所述第一分组相关联的所述第一分组数据。
条款3.根据条款1所述的装置,其中,其中,为了在所述分组队列中存储与所述第一分组相关联的所述第一分组数据,所述处理器单元被配置为:
插入与所述第一分组相关联的所述第一分组数据,作为所述分组队列的分组数据条目,其中,所述分组数据条目包括标识所述第一分组的数据流的流标识符和与所述第一分组相关联的所述第一分组数据。
条款4.根据条款1所述的装置,其中,为了在所述分组聚合缓冲器中存储与所述第二分组相关联的所述第二分组数据,所述处理器单元被配置为:
确定与所述第二分组相关联的数据流;
确定所述分组聚合缓冲器是否包括所述数据流的条目;以及
基于确定所述分组聚合缓冲器不包括所述数据流的条目,插入与所述第二分组相关联的所述第二分组数据,作为所述分组聚合缓冲器的分组数据条目,其中,所述分组数据条目包括标识所述数据流的流标识符和与所述第二分组相关联的所述第二分组数据。
条款5.根据条款1所述的装置,其中,为了在所述分组聚合缓冲器中存储与所述第二分组相关联的所述第二分组数据,所述处理器单元被配置为:
确定与所述第二分组相关联的数据流;
确定所述分组聚合缓冲器是否包括所述数据流的条目;以及
基于确定所述分组聚合缓冲器包括所述数据流的条目,基于与所述第二分组相关联的所述第二分组数据来更新所述数据流的所述条目。
条款6.根据条款5所述的装置,其中,为了基于与所述第二分组相关联的所述第二分组数据来更新所述数据流的所述条目,所述处理器单元被配置为:
从所述数据流的所述条目中提取与所述数据流相关联的聚合分组数据;
基于与所述第二分组相关联的所述第二分组数据,更新与所述数据流相关联的所述聚合分组数据,以由此形成与所述数据流相关联的更新聚合分组数据;以及
将与所述数据流相关联的所述更新聚合分组数据写入与所述数据流相关联的所述条目中。
条款7.根据条款1所述的装置,其中,所述处理器单元被配置为使用聚合分组数据条目,在所述分组聚合缓冲器中存储与所述第二分组相关联的所述第二分组数据,其中,所述处理器单元被配置为:
将所述聚合分组数据条目从所述分组聚合缓冲器移入所述分组队列中。
条款8.根据条款7所述的装置,其中,所述处理器单元被配置为:
基于条件,将所述聚合分组数据条目从所述分组聚合缓冲器移入所述分组队列中。
条款9.根据条款8所述的装置,其中,所述条件包括确定所述聚合分组数据条目被标记为紧急或确定与所述聚合分组数据条目相关联的阈值被满足中的至少一个。
条款10.根据条款1所述的装置,其中,其中,所述处理器单元被配置为:
从所述分组队列中提取包括第一分组数据的分组数据条目,其中,所述第一分组数据与数据流相关联;
基于与所述第一分组相关联的所述第一分组数据,确定用于所述数据流的更新流数据;
在所述第二存储器中存储用于所述数据流的所述更新流数据;以及
向所述控制单元传播用于所述数据流的所述更新流数据。
条款11.根据条款1所述的装置,其中,所述第一存储器单元包括缓冲存储器,所述第二存储器单元包括主存储器。
条款12.根据条款1所述的设备,其中,所述装置被配置为被放置在所述转发单元上,或者被配置为被放置在与所述转发单元通信连接的附属单元上。
条款13.一种被配置为支持由通信网络中的转发单元和控制单元所支持的处理功能的数据平面部分的装置,所述装置包括:
第一存储单元,其被配置为保存被配置为存储用于一组数据分组的分组数据的分组缓冲数据结构,其中,所述分组缓冲数据结构包括被配置为存储分组数据的分组队列和被配置为按照每个流来存储分组数据的分组聚合缓冲器;
第二存储单元,其被配置为存储用于所述转发单元对其支持分组转发的一组数据流的流数据;以及
处理器单元,其与所述第一存储单元和所述第二存储单元通信连接,所述处理器单元被配置为:
从所述第一存储器单元的分组队列中提取包括分组数据的分组数据条目,其中,所述分组数据包括用于所述数据流中的一个数据流的单独的分组数据或用于所述数据流中的一个数据流的聚合分组数据;
基于所述分组数据条目的所述分组数据,确定用于所述一个数据流的流数据;
在所述第二存储器单元中存储用于所述一个数据流的所述流数据;以及
向所述控制单元传播用于所述一个数据流的所述流数据。
条款14.根据条款13所述的装置,其中,为了基于所述分组数据条目的所述分组数据来确定用于所述一个数据流的所述流数据,所述处理器单元被配置为:
从所述第二存储器单元的流数据条目中提取与所述一个数据流相关联的已有流数据;以及
基于所述分组数据条目的所述分组数据,更新与所述一个数据流相关联的已有流数据,以由此确定用于所述一个数据流的所述流数据。
条款15.根据条款14所述的装置,其中,为了在所述第二存储器单元中存储用于所述一个数据流的所述流数据,所述处理器单元被配置为:
将用于所述一个数据流的所述流数据写入所述第二存储器单元的所述流数据条目中。
条款16.根据条款13所述的装置,其中,所述处理器单元被配置为:
基于用于所述一个数据流的所述流数据,执行附加处理。
条款17.根据条款16所述的装置,其中,所述附加处理包括:更新与所述一个数据流相关联的流转发表条目以用于以下中的至少一个:阻止所述一个数据流、节流所述一个数据流、或改变所述一个数据流的服务质量级别。
条款18.根据条款13所述的装置,其中,所述处理器单元被配置为:
从所述控制单元接收用于由所述处理器单元在数据流处理中执行的流处理指令。
条款19.根据条款18所述的装置,其中,所述流程处理指令包括用于所述一个数据流的用户的数据信用分配,其中,所述流处理指令被配置为使所述处理器单元能够节流或阻止所述用户的所述一个数据流。
条款20.根据条款13所述的装置,其中,所述第一存储器单元包括缓冲存储器,所述第二存储器单元包括主存储器。
条款21.根据条款13所述的装置,其中,所述装置被配置为被放置在所述转发单元上,或者被配置为被放置在与所述转发单元通信连接的附属单元上。
条款22.一种被配置为支持由通信网络中的转发单元和控制单元所支持的处理功能的数据平面部分的装置,所述装置包括:
存储单元,其被配置为保存第一数据结构和第二数据结构,所述第一数据结构被配置为存储用于一组数据分组的分组数据,所述第一数据结构包括被配置为存储分组数据的分组队列和被配置为按照每个流来存储分组数据的分组聚合缓冲器,所述第二数据结构被配置为存储用于转发单元对其支持分组转发的一组数据流的流数据;以及
处理器单元,其与所述存储单元通信连接,所述处理器单元被配置为:
从所述转发单元的硬件单元接收分组的分组报头,其中,所述分组与数据流相关联;
确定与所述分组相关联的分组数据;
基于确定所述分组队列的大小未超过阈值,将所述分组数据存储在所述第一数据结构的所述分组队列中,而不是存储在所述第一数据结构的所述分组聚合缓冲器中;
从所述第一数据结构的所述分组队列中提取所述分组数据;
基于所述分组数据,确定用于所述数据流的流数据;
在所述第二数据结构中存储用于所述数据流的所述流数据;以及
向所述控制单元传播用于所述数据流的所述流数据。
应当理解,尽管结合在本文中给出的教导的各种实施例已经在本文中进行详细地示出和描述,但是,本领域的技术人员可以容易地设计出仍然包含这些教导的许多其它变形的实施例。

Claims (10)

1.一种装置,包括:
存储单元,其被配置为保存被配置为存储用于一组数据流的一组数据分组的分组数据的分组缓冲数据结构,其中,所述分组缓冲数据结构包括被配置为存储与所述一组数据流的数据分组相关联的分组数据的分组队列和被配置为按照每个流来存储与所述一组数据流的数据分组相关联的分组数据的分组聚合缓冲器;以及
处理器单元,其与所述存储单元通信连接,所述处理器单元被配置为:
接收第一数据分组的第一分组报头和第二数据分组的第二分组报头;
基于所述第一分组报头的处理,确定与所述第一数据分组相关联的第一分组数据;
基于确定所述分组队列不满足阈值,在所述分组队列中存储所述第一分组数据,作为用于所述第一数据分组的单独的分组数据;
基于所述第二分组报头的处理,确定与所述第二数据分组相关联的第二分组数据;以及
基于确定所述分组队列满足所述阈值,使用与和所述第二数据分组相关联的所述数据流中的一个数据流相关联的按流分组数据条目,在所述分组聚合缓冲器中存储所述第二分组数据,作为用于与所述第二数据分组相关联的所述一个数据流的聚合分组数据。
2.根据权利要求1所述的装置,其中,为了在所述分组队列中存储与所述第一数据分组相关联的所述第一分组数据,所述处理器单元被配置为:
使用所述分组队列的分组数据条目,将与所述第一数据分组相关联的所述第一分组数据插入所述分组队列内,其中,所述分组数据条目包括标识所述第一数据分组的数据流的流标识符和与所述第一数据分组相关联的所述第一分组数据。
3.根据权利要求1所述的装置,其中,为了在所述分组聚合缓冲器中存储与所述第二数据分组相关联的所述第二分组数据,所述处理器单元被配置为:
确定与所述第二数据分组相关联的所述一个数据流;
确定所述分组聚合缓冲器是否包括与所述第二数据分组相关联的所述一个数据流的所述按流分组数据条目;以及
基于确定所述分组聚合缓冲器不包括与所述第二数据分组相关联的所述一个数据流的所述按流分组数据条目,使用所述一个数据流的所述按流分组数据条目,将与所述第二数据分组相关联的所述第二分组数据插入所述分组聚合缓冲器中,其中,所述按流分组数据条目包括标识与所述第二数据分组相关联的所述一个数据流的流标识符,并且包括与所述第二数据分组相关联的所述第二分组数据。
4.根据权利要求1所述的装置,其中,为了在所述分组聚合缓冲器中存储与所述第二数据分组相关联的所述第二分组数据,所述处理器单元被配置为:
确定与所述第二数据分组相关联的所述一个数据流;
确定所述分组聚合缓冲器是否包括与所述第二数据分组相关联的所述一个数据流的所述按流分组数据条目;以及
基于确定所述分组聚合缓冲器包括与所述第二数据分组相关联的所述一个数据流的所述按流分组数据条目,基于与所述第二数据分组相关联的所述第二分组数据来更新与所述第二数据分组相关联的所述一个数据流的所述按流分组数据条目。
5.根据权利要求4所述的装置,其中,为了基于与所述第二数据分组相关联的所述第二分组数据来更新与所述第二数据分组相关联的所述一个数据流的所述按流分组数据条目,所述处理器单元被配置为:
从与所述第二数据分组相关联的所述一个数据流的所述按流分组数据条目中提取与和所述第二数据分组相关联的所述一个数据流相关联的聚合分组数据;
基于与所述第二数据分组相关联的所述第二分组数据,更新与和所述第二数据分组相关联的所述一个数据流相关联的所述聚合分组数据,以由此形成与和所述第二数据分组相关联的所述一个数据流相关联的更新聚合分组数据;以及
将与和所述第二数据分组相关联的所述一个数据流相关联的所述更新聚合分组数据写入与和所述第二数据分组相关联的所述一个数据流相关联的所述按流分组数据条目中。
6.根据权利要求1所述的装置,其中,所述处理器单元被配置为:
将所述按流分组数据条目从所述分组聚合缓冲器移入所述分组队列中。
7.根据权利要求6所述的装置,其中,所述处理器单元被配置为:
基于条件,将所述按流分组数据条目从所述分组聚合缓冲器移入所述分组队列中。
8.根据权利要求1所述的装置,其中,所述处理器单元被配置为:
将与所述第二数据分组相关联的所述一个数据流的所述聚合分组数据从所述分组聚合缓冲器移入所述分组队列中。
9.一种装置,包括:
第一存储单元,其被配置为保存被配置为存储用于一组数据流的一组数据分组的分组数据的分组缓冲数据结构,其中,所述分组缓冲数据结构包括被配置为存储与所述一组数据流的数据分组相关联的分组数据的分组队列和被配置为使用所述数据流的各个按流分组数据条目,按照每个流来存储与所述一组数据流的数据分组相关联的相应的分组数据的分组聚合缓冲器;
第二存储单元,其被配置为存储用于所述一组数据流的流数据;以及
处理器单元,其与所述第一存储单元和所述第二存储单元通信连接,所述处理器单元被配置为:
从所述第一存储单元的分组队列中提取包括单独的分组数据条目和按流分组数据条目,所述单独的分组数据条目包括用于所述数据流中的一个数据流的所述数据分组中的一个数据分组的单独的分组数据,所述按流分组数据条目包括用于所述一个数据流的聚合分组数据;
基于所述单独的分组数据条目的所述单独的分组数据以及基于所述按流分组数据条目的所述聚合分组数据,确定用于所述一个数据流的流数据;
在所述第二存储单元中存储用于所述一个数据流的所述流数据;以及
向通信网络中的控制单元发送用于所述一个数据流的所述流数据。
10.一种装置,包括:
存储单元,其被配置为保存被配置为存储用于一组数据流的数据分组的分组数据的分组缓冲数据结构,其中,所述分组缓冲数据结构包括被配置为存储与所述一组数据流的数据分组相关联的分组数据的分组队列和被配置为使用所述数据流的各个按流分组数据条目,按照每个流来存储与所述一组数据流的数据分组相关联的分组数据的分组聚合缓冲器;以及
处理器单元,其与所述存储单元通信连接,并且被配置为:
接收与所述数据流中的一个数据流相关联的数据分组的分组报头;
基于所述分组报头的处理,确定与所述数据分组相关联的分组数据;
基于确定所述分组队列满足阈值,使用所述一个数据流的按流分组数据条目,将与所述数据分组相关联的所述分组数据存储在所述分组聚合缓冲器中,作为用于所述一个数据流的聚合分组数据;以及
基于条件,将用于所述一个数据流的所述聚合分组数据从所述分组聚合缓冲器移入所述分组队列中。
CN201680076860.0A 2015-12-31 2016-12-20 支持用于处理功能可扩展性的数据平面的装置及相关方法 Active CN108476177B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/985,652 2015-12-31
US14/985,652 US9906460B2 (en) 2015-12-31 2015-12-31 Data plane for processing function scalability
PCT/US2016/067876 WO2017116870A1 (en) 2015-12-31 2016-12-20 Data plane for processing function scalability

Publications (2)

Publication Number Publication Date
CN108476177A CN108476177A (zh) 2018-08-31
CN108476177B true CN108476177B (zh) 2021-08-24

Family

ID=57777726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680076860.0A Active CN108476177B (zh) 2015-12-31 2016-12-20 支持用于处理功能可扩展性的数据平面的装置及相关方法

Country Status (5)

Country Link
US (2) US9906460B2 (zh)
EP (1) EP3398303A1 (zh)
JP (1) JP2019500818A (zh)
CN (1) CN108476177B (zh)
WO (1) WO2017116870A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3024624A1 (fr) * 2014-07-29 2016-02-05 Orange Procede et dispositif d'optimisation du comptage et de l'usage de donnees par un terminal mobile
US10212093B2 (en) * 2016-04-08 2019-02-19 Nokia Technologies Oy Method and apparatus for U-plane sub-service flow mapping
US9888278B2 (en) * 2016-07-07 2018-02-06 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth and ABR video QoE management based on OTT video providers and devices
WO2018183542A1 (en) 2017-03-29 2018-10-04 Fungible, Inc. Non-blocking any-to-any data center network with packet spraying over multiple alternate data paths
CN110710172A (zh) 2017-03-29 2020-01-17 芬基波尔有限责任公司 在接入节点组内多路复用分组喷射的无阻塞的任意到任意数据中心网络
WO2018183526A1 (en) 2017-03-29 2018-10-04 Fungible, Inc. Non-blocking, full-mesh data center network having optical permutors
CN117971715A (zh) 2017-04-10 2024-05-03 微软技术许可有限责任公司 多处理器系统中的中继一致存储器管理
WO2019014265A1 (en) 2017-07-10 2019-01-17 Fungible, Inc. DATA PROCESSING UNIT FOR CALCULATION NODES AND STORAGE NODES
US10725825B2 (en) * 2017-07-10 2020-07-28 Fungible, Inc. Data processing unit for stream processing
US10965586B2 (en) 2017-09-29 2021-03-30 Fungible, Inc. Resilient network communication using selective multipath packet flow spraying
WO2019068013A1 (en) 2017-09-29 2019-04-04 Fungible, Inc. FABRIC CONTROL PROTOCOL FOR DATA CENTER NETWORKS WITH PACKAGING OF PACKETS ON MULTIPLE ALTERNATIVE DATA PATHWAYS
WO2019104090A1 (en) 2017-11-21 2019-05-31 Fungible, Inc. Work unit stack data structures in multiple core processor system for stream data processing
WO2019152063A1 (en) 2018-02-02 2019-08-08 Fungible, Inc. Efficient work unit processing in a multicore system
US11395174B2 (en) * 2018-10-19 2022-07-19 Anterix Inc. Systems and methods for optimized LTE private networks
US11095566B2 (en) * 2018-10-22 2021-08-17 Hewlett Packard Enterprise Development Lp Embedded device interaction restrictions
US10929175B2 (en) 2018-11-21 2021-02-23 Fungible, Inc. Service chaining hardware accelerators within a data stream processing integrated circuit
US11580044B2 (en) 2020-08-31 2023-02-14 Micron Technology, Inc. Network credit return mechanisms
US11588745B2 (en) * 2020-08-31 2023-02-21 Micron Technology, Inc. Early credit return for credit-based flow control
US11362939B2 (en) 2020-08-31 2022-06-14 Micron Technology, Inc. Flow control for a multiple flow control unit interface
US20230043202A1 (en) * 2021-08-05 2023-02-09 International Business Machines Corporation Query and update of processor boost information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1643872A (zh) * 2002-04-30 2005-07-20 思科技术公司 缓存流数据
CN103392314A (zh) * 2010-12-29 2013-11-13 思杰系统有限公司 用于可扩展的n核统计信息聚合的系统和方法
CN104301066A (zh) * 2013-07-19 2015-01-21 华为技术有限公司 数据包传输方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5166930A (en) 1990-12-17 1992-11-24 At&T Bell Laboratories Data channel scheduling discipline arrangement and method
KR101262689B1 (ko) * 2008-07-30 2013-05-15 알카텔-루센트 유에스에이 인코포레이티드 네트워크 도메인들 사이에서 전송되는 세션들에 대한 온라인 차징
US8250197B2 (en) 2008-10-28 2012-08-21 Vmware, Inc. Quality of service management
WO2012038829A2 (en) * 2010-09-23 2012-03-29 Marvell Israel (M.I.S.L.) Ltd. Low latency first-in-first-out (fifo) buffer
WO2013100829A1 (en) * 2011-12-27 2013-07-04 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for controlling charging in a communication network
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
KR20160014382A (ko) * 2014-07-29 2016-02-11 삼성전자주식회사 무선 통신 시스템에서 앵커 게이트웨이를 변경하기 위한 장치 및 방법
CN108353258B (zh) * 2015-09-23 2021-07-20 瑞典爱立信有限公司 使用聚合无线电接入的无线通信网络中用于计费区分的方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1643872A (zh) * 2002-04-30 2005-07-20 思科技术公司 缓存流数据
CN103392314A (zh) * 2010-12-29 2013-11-13 思杰系统有限公司 用于可扩展的n核统计信息聚合的系统和方法
CN104301066A (zh) * 2013-07-19 2015-01-21 华为技术有限公司 数据包传输方法及装置

Also Published As

Publication number Publication date
US20180115494A1 (en) 2018-04-26
US9906460B2 (en) 2018-02-27
EP3398303A1 (en) 2018-11-07
US20170195245A1 (en) 2017-07-06
US10841233B2 (en) 2020-11-17
WO2017116870A1 (en) 2017-07-06
CN108476177A (zh) 2018-08-31
JP2019500818A (ja) 2019-01-10

Similar Documents

Publication Publication Date Title
CN108476177B (zh) 支持用于处理功能可扩展性的数据平面的装置及相关方法
US10772081B2 (en) Airtime-based packet scheduling for wireless networks
US9386128B2 (en) Delay based active queue management for uplink traffic in user equipment
US9432873B2 (en) Differentiation of traffic flows for uplink transmission
CN103023806B (zh) 共享缓存式以太网交换机的缓存资源控制方法及装置
US10362632B2 (en) Architecture for radio access network and evolved packet core
Nasimi et al. Edge-assisted congestion control mechanism for 5G network using software-defined networking
JP2016504810A (ja) コンテンツベースの過負荷保護
JP6638091B2 (ja) 機能分離のコアネットワークでの下りリンクパケットの伝送方法
CN103281257A (zh) 一种协议报文处理方法和设备
Gowda et al. Delay analysis of mixed fronthaul and backhaul traffic under strict priority queueing discipline in a 5G packet transport network
US8989008B2 (en) Wirespeed TCP packet window field modification for networks having radio segments
CN112005528B (zh) 一种数据交换方法、数据交换节点及数据中心网络
KR20150039642A (ko) Lte 시스템에서의 ddn 제어를 위한 장치, 방법, 및 기록 매체
Klymash et al. Data Buffering Multilevel Model at a Multiservice Traffic Service Node
Adalian et al. Load balancing in LTE core networks using SDN
US10187317B1 (en) Methods for traffic rate control and devices thereof
JP2016046669A (ja) パケット処理装置、プログラム及び方法
CN109792405B (zh) 用于传输节点中共享缓冲器分配的方法和设备
US8811173B2 (en) Method of managing user traffic to prevent aggressive users from abusing network resources
KR20230157194A (ko) 스위치를 이용하는 트래픽 처리를 위한 장치 및 방법
US20180191628A1 (en) Scheduling granularity based on application type
Zhou et al. Managing background traffic in cellular networks
WO2020108020A1 (zh) 拥塞控制的处理方法、报文转发装置及报文接收装置
US9071460B1 (en) Methods and apparatus for mapping data packets to a multi-packets cell

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
GR01 Patent grant
GR01 Patent grant