CN109587086A - 分组序列批处理 - Google Patents
分组序列批处理 Download PDFInfo
- Publication number
- CN109587086A CN109587086A CN201810985941.3A CN201810985941A CN109587086A CN 109587086 A CN109587086 A CN 109587086A CN 201810985941 A CN201810985941 A CN 201810985941A CN 109587086 A CN109587086 A CN 109587086A
- Authority
- CN
- China
- Prior art keywords
- public
- batch
- grouping
- network
- logic
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 47
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 230000001737 promoting effect Effects 0.000 claims 2
- 238000000034 method Methods 0.000 description 40
- 230000006870 function Effects 0.000 description 37
- 230000008569 process Effects 0.000 description 13
- 230000008707 rearrangement Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000001427 coherent effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000004744 fabric Substances 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 229910052802 copper Inorganic materials 0.000 description 3
- 239000010949 copper Substances 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000012536 storage buffer Substances 0.000 description 2
- GEIYZNFNTVEVJJ-KQYNXXCUSA-N 9-[(2r,3r,4s,5r)-5-(dihydroxyphosphinothioyloxymethyl)-3,4-dihydroxyoxolan-2-yl]-3h-purin-6-one Chemical compound O[C@@H]1[C@H](O)[C@@H](COP(O)(O)=S)O[C@H]1N1C(NC=NC2=O)=C2N=C1 GEIYZNFNTVEVJJ-KQYNXXCUSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000011469 building brick Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000004100 electronic packaging Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3063—Pipelined operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9084—Reactions to storage capacity overflow
- H04L49/9089—Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
- H04L49/9094—Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0485—Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种装置,包括:硬件平台;在硬件平台上执行的逻辑,该逻辑被配置为:接收包括第一多个分组的批次;识别批次的公共属性;根据公共属性对批处理执行批处理;生成针对批次的提示,该提示包含有关批次的信息以便于对批次的处理;并将批次与提示一起转发到主机平台网络接口。
Description
技术领域
本公开一般涉及通信领域,并且更具体地但非排他地,涉及用于分组序列批处理的系统和方法。
背景技术
第三代合作伙伴计划(3GPP)是一种传播无线电信标准并促进其采用的组织。3GPP已经提供了有用的标准,例如全球移动通信系统(GSM)、用于GSM演进的增强数据速率(EDGE)、码分多址(CDMA)、通用移动电信系统(UMTS)和长期演进(LTE)。
这些标准中的某些标准提供诸如NodeB、演进节点B(eNodeB)、毫微微小区、家庭eNodeB(HeNB)或类似物之类的基站,用于在定义的UMTS陆地无线电接入(UTRA)绝对射频号码(UARFCN)上操作一个或多个载波。
附图说明
当结合附图阅读时,从以下详细描述中可以最好地理解本公开。需要强调的是,根据工业中的标准实践,各种特征不一定按比例绘制,并且仅用于说明目的。在明确地或隐含地示出比例的情况下,它仅提供一个说明性示例。在其他实施例中,为了清楚起见,可以任意增加或减少各种特征的尺寸。
图1是根据本说明书的一个或多个示例的云服务提供商的数据中心的网络级图。
图2是根据本说明书的一个或多个示例的移动网络的框图。
图3是根据本说明书的一个或多个示例的示例网络的框图。
图4是根据本说明书的一个或多个示例的网络接口卡(NIC)的框图。
图5是示出了根据本说明书的一个或多个示例的分组预处理的使用情况的框图。
图6是根据本说明书的一个或多个示例的执行分组处理(包括分组预处理)的方法的流程图。
具体实施方式
以下公开内容提供了用于实现本公开的不同特征的许多不同实施例或示例。以下描述组件和布置的具体示例以简化本公开。当然,这些仅仅是示例,而不是限制性的。此外,本公开可以在各种示例中重复附图标记和/或字母。该重复是为了简单和清楚的目的,并且其本身并不表示所讨论的各种实施例和/或配置之间的关系。不同的实施例可以具有不同的优点,并且任何实施例都不一定需要特定的优点。
在普通网络工作流程中,序列中的多个分组或其他数据单元进入硬件平台中的边缘路由器,并且边缘路由器对每个分组执行一些分组处理流水线。考虑网络服务提供商的示例。有线电缆数据服务接口规范(DOCSIS)调制解调器可以位于小型数据中心的边缘,该小型数据中心向最终用户或客户端提供因特网访问。当分组进入时,DOCSIS调制解调器将分组处理流水线应用于分组,例如过滤、分类、执行查找、启动安全序列或其他功能。然后根据访问控制列表、路由表或其他机制适当地处理和转发分组。示例性分组消费过程可以包括消费分组处理阶段,包括从队列中移除每个分组并在做出决定之前读取当前分组报头数据。
因为查找基于每个分组发生,所以可以通过识别或检测分组序列(例如共享公共属性的运行或突发)来实现某些效率增益。作为非限制性示例,公共属性可以是公共目的地、源介质访问控制(MAC)、源互联网协议(IP)、虚拟局域网(VLAN)、Q-in-Q标签、IP流、隧道、第2.5层报头、分组长度、优先级、报头、协议类型、安全关联、数据报传输层安全性(DTLS)、传输层安全性(TLS)、介质访问控制安全性(MACsec)和分组有效负载数据。结合图6更详细地讨论公共属性的实施例。
共享这些公共属性的这些序列可以有用地预处理成批次,而不是在批次中的每个单独的分组上执行分组处理流水线,分组处理流水线可以整个地应用于整个批次。因此,如果该批次具有例如1024个分组,而不是执行1024次单独的查找,则针对整个批次执行单个查找。
分组预处理器可以识别分组的批次,并且经由主机平台接口向消费设备提供批次或序列的提示或指示。如在整个说明书中所使用的,“提示”可以包括关于批次的任何上下文信息或元数据,其使得处理器能够做出关于如何将处理流水线应用于批次或以其他方式处理批次的决定。注意,提示通常可以理解为非命令性信息。因此,接收具有附加提示的批次的不同主机处理器可以不同地处理批次,这取决于它们的内部编程。尽管不太常见,但是提示还可以包括适用于批次的用于处理批次的命令或直接指令,主处理器可以直接执行该命令或直接指令。
举例来说,提示可以是序列标记。序列标记可以插入序列或批次中的第一分组中,使得接收设备可以在读取批次中的后续分组之前做出处理决定。
作为非限制性示例,提示还可以包括批次指示符、批次代码类型和批次长度。在本说明书的实施例中,这些可以允许处理分组的软件优化下游处理。
此外,本说明书的分组预处理器还可以被配置为执行对传入分组的重新排序。例如,如果边缘路由器并行地从两个不同的源接收两个不同的业务突发,则分组预处理器可以识别嵌入在两个并行的传入分组组中的序列,并将分组重新排序成批,使得它们可以经受批处理。该重新排序可以有利地保持运行本身内分组的排序。因此,重新排序的使用可以有利地使每批次的游程长度最大化。
这允许分组处理的后续阶段(例如软件)基于插入到分组批次中的提示来更好地优化分组处理。这些提示可以采取关于在处理分组之前软件可以读取和应用的传入分组序列的预测的形式。请注意,提供的提示不必仅针对分组处理的下一个确切阶段。提示可以有用地由分组处理的不同阶段所采用。
如在整个说明书中所使用的,批次包括具有公共属性的分组(或数据单元)的运行或序列。举例来说,公共属性可以是相同的分组长度。这可以有用地将分组标识为属于某种统一方案。分组还可以是公共流序列的一部分,或者是具有公共IP元组或安全关联的分组序列。在本说明书的实施例中,有利的是由分组序列形成批次,同时保持公共流中的分组的排序。
通过应用由分组预处理器提供的提示,可以通过针对n个分组执行单个查找来加速分组查找。在因特网协议安全性(IPsec)的情况下,可以使用选择性可用性(SA)数据库提取来加速n个IPsec分组的加密。
在其他使用情况中,可以通过检查单个条目而不是每个分组的条目来加速服务质量,作为在将n个分组入队到特定优先级队列之前的决策检查。
在发送分组时,针对批次的分组大小游程长度指示符可用于在单个分配中分配大小乘以n个分组的存储块,而不是单独分配给定大小的n个单独的单元。
注意,本说明书的教导使得处理器或软件线程能够在接收批次中的分组之前具有关于批次的信息。这允许接收过程做出决定而无需读取批次本身中的所有分组。例如,批次的先验知识可以使软件能够准备适当的服务质量(QoS)队列,或者分配用于处理整个批次的适当的存储缓冲器。这使得接收过程能够以低成本周期与分组批次建立亲和性。例如,属于同一流的所有部分的分组序列不需要多个流查找。相反,接收过程可以简单地继续针对批次中的每个分组重用最后一次查找。由于该过程具有批次大小的先验知识,因此它预先知道从批次中的第一分组回收查找的次数。
现在将更具体地参考所附的附图来描述用于分组序列批处理的系统和方法。应当注意,在整个附图中,可以重复某些附图标记以指示特定设备或块在整个附图中完全或基本一致。然而,这并不意味着暗示所公开的各种实施例之间的任何特定关系。在某些示例中,一类元素可以通过特定的附图标记(“小部件10”)来引用,而该类的个体种类或示例可以通过带连字符的数字(“第一特定小部件10-1”和“第二特定小部件10-2”)来指代。
图1是根据本说明书的一个或多个示例的云服务提供商(CSP)102的数据中心100的网络级图。作为非限制性示例,CSP 102可以是传统的企业数据中心、企业“私有云”或“公共云”,提供诸如基础设施即服务(IaaS),平台即服务(PaaS)或软件即服务(SaaS)之类的服务。
CSP 102可以提供一些数量的工作负载集群118,其可以是各个服务器、刀片服务器、机架式服务器或任何其他合适的服务器拓扑的集群。在该说明性示例中,示出了两个工作负载集群118-1和118-2,每个工作负载集群在机箱148中提供机架式服务器146。
每个服务器146可以托管独立操作系统并提供服务器功能,或者服务器可以被虚拟化,在这种情况下,它们可以在虚拟机管理器(VMM)、管理程序和/或协调器的控制下,以及可以托管一个或多个虚拟机(VM)、虚拟服务器或虚拟装置。这些服务器机架可以并置在单个数据中心中,或者可以位于不同的地理数据中心中。取决于合同协议,一些服务器146可以专门用于某些企业客户或租户,而其他服务器可以是共享的。
数据中心中的各种设备可以经由交换结构170彼此连接,交换结构170可以包括一个或多个高速路由和/或交换设备。交换结构170可以提供“南北”业务(例如,进出例如因特网之类的广域网(WAN)的业务)和“东西”业务(例如,跨数据中心的业务)。从历史上看,南北业务占网络业务的大部分,但随着网络服务变得越来越复杂且是分布式的,东西业务量也在增加。在许多数据中心,东西业务现在占业务的大部分。
此外,随着每个服务器146的能力增加,业务量可能进一步增加。例如,每个服务器146可以提供多个处理器插槽,每个插槽容纳具有四到八个核的处理器,以及用于核的足够存储器。因此,每个服务器可以托管多个VM,每个VM生成其自己的业务。
为了适应数据中心中的大量业务,可以提供高性能的交换结构170。在该示例中,交换结构170被示为“扁平”网络,其中每个服务器146可以具有到架顶式(ToR)交换机120的直接连接(例如,“星形”配置),并且每个ToR交换机120可以耦合到核心交换机130。这种双层扁平网络架构仅作为说明性示例示出。在其他示例中,可以使用其他架构,例如基于“Clos”(公共LISP对象系统)架构的三层星形或叶脊(也称为“胖树”拓扑)、中心辐射拓扑、网状拓扑、环形拓扑或3-D网状拓扑,作为非限制性示例。
结构本身可以由任何合适的互连提供。例如,每个服务器146可以包括网络接口卡(NIC)、主机结构接口(HFI)或其他主机接口。主机接口本身可以经由互连或总线耦合到一个或多个处理器,所述互连或总线例如外围组件互连(PCI),快速PCI(PCIe)或类似物,并且在一些情况下,该互连总线可以被认为是结构170的部分。
互连技术可以由单个互连或混合互连提供,例如其中,PCIe提供片上通信,1Gb或10Gb铜以太网提供到ToR交换机120的相对短的连接,并且光缆提供到核心交换机130的相对较长的连接。作为非限制性示例,互连技术包括Omni-PathTM、TrueScaleTM、UltraPath Interconnect(UPI)(以前称为QPI或KTI)、FibreChannel、以太网、以太网光纤通道(FCoE)、InfiniBand、PCI、PCIe或光纤,仅举几例。这些中的一些将比其他部分更适合于某些部署或功能,并且针对本应用选择适当的结构是普通技能的运用。
然而注意,虽然本文通过说明的方式提供了诸如Omni-PathTM之类的高端结构,但更一般地,结构170可以是用于特定应用的任何合适的互连或总线。在某些情况下,这可能包括传统互连,如局域网(LAN)、令牌环网络、同步光纤网络(SONET)、异步传输模式(ATM)网络、无线网络,如WiFi和蓝牙、“普通老式电话系统”(POTS)互连或类似的。还明确地预期,在将来,将出现新的网络技术以补充或替换本文列出的那些中的一些,并且任何这样的未来网络拓扑和技术可以是或形成结构170的一部分。
在某些实施例中,结构170可以在OSI七层网络模型中最初概述的各种“层”上提供通信服务。在当代实践中,严格遵循OSI模型。一般而言,层1和2通常称为“以太网”层(尽管在大型数据中心中,以太网通常由更新的技术所取代)。层3和4通常被称为传输控制协议/因特网互联协议(TCP/IP)层(可以进一步细分为TCP和IP层)。层5-7可以称为“应用层”。这些层定义被公开为有用的框架,但是旨在是非限制性的。
图2是根据本说明书的一个或多个示例的移动网络200的框图。在该特定示例中,通过非限制性示例公开了第四代长期演进(4G LTE,或简称LTE)网络。在某些实施例中,LTE主要用于数据传输,使得除了本文示出的元件之外,移动网络200还可以提供用于处理语音通信的结构,该结构可以通信地耦合到公共交换电话网络(PSTN)。在一些情况下,还可以提供LTE上语音(VoLTE)。还应该注意,LTE仅作为本发明的教导的一个可能的实施例公开,并且该教导可以与现在存在或以后开发的其他电信结构相关,并且在适用的情况下本说明书的范围旨在包含这样的结构。
在该示例中,移动网络200包括用户设备(UE)210,其通信地耦合(例如,经由无线天线216)到演进的UMTS无线电接入网络(E-UTRAN)204。UE 210可以发起与E-UTRAN 204-1的数据事务或者会话,在此称为“数据呼叫”。E-UTRAN 204通信地耦合(例如,经由有线连接)到演进分组核心(EPC)202。作为非限制性示例,E-OUTTR 204可以包括用作无线基站的演进型NodeB(eNB)220,以及分布式自组织网络(dSON)控制器224。
在各种实施例中,这些功能可以由专用服务器或设备提供。在其他实施例中,可以在虚拟环境中提供选择功能,诸如在管理程序中提供各种功能的机架式服务器。在一般意义上,各种UE级设备、服务器级设备、网络功能通常可以被分类为“计算设备”。如在整个说明书中所使用的,计算设备包括基于冯·诺依曼架构的任何电气或电子设备,包括具有控制单元和逻辑单元的处理器以及存储器。在该上下文中,应该理解,冯·诺依曼架构可以被提供作为物理设备,或者在来自物理硬件的一个或多个抽象层处运行的VM或管理程序。
在该示例中,公开了两个E-UTRANS 204-1和204-2以示出网络的移动性质。例如,当携带UE 210的用户移动时,UE 210可以移动。随着UE 210远离E-UTRAN 204-1移动,其到E-UTRAN 204的信号将衰减。如果UE 210同时移近E-UTRAN 204-2,则其与E-UTRAN 204-2的信号将变强。当UE210移动使得其获得到E-UTRAN 204-2的信号与到E-UTRAN 204-1的信号相比更强时,E-UTRAN 204-1可以将数据呼叫切换到E-UTRAN 204-2,使得E-UTRAN 204-2无缝地继续处理数据呼叫。
可以通过X2接口(用于以对等方式连接相邻eNodeB)来处理切换。在该示例中,在移动网络200内传递两类信号:语音、数据和呼叫信号(本文称为“用户平面”信号)和控制信号(本文称为“控制平面”信号)。X2提供控制平面接口和用户平面接口,并且在实施例中是两个E-UTRAN 204之间的有线连接。S1控制平面的协议结构基于流控制传输协议/因特网互联协议(SCTP/IP)。用户平面提供基于通用分组无线电服务(GPRS)隧道协议/用户数据报协议/IP(GTP/UDPS/IP)的协议结构。在用户平面上,可以通过IP地址和一个或多个GTP隧道端点ID(TEID)来标识传输承载。X2作为网状接口进行操作,意味着多个eNB 220可以全部链接在一起。正确配置的情况下,当UE 210从一个E-UTRAN 204切换到另一个E-UTRAN 204时,X2有助于最小化分组丢失。具体地,当切换数据呼叫时,可以经由X2接口将存储在旧eNB 220的队列中的未发送或未确认的分组转发或隧道传送到新的eNB 220。
E-UTRAN 204经由S1接口通信地耦合到EPC 202。与X2接口一样,S1提供控制平面和用户平面,其类似地配置为相应的X2控制平面和用户平面。在实施例中,S1应用协议(51-AP)直接映射在SCTP之上。
在该示例中,EPC 202包括服务网关(SGW)250、移动性管理实体(MME)240、归属订户服务器(HSS)244、分组数据网络(PDN)网关260、演进分组数据网关(ePDG)280,以及策略和计费规则功能(PCRF)290。EPC 202本身可以经由适当的接口通信地耦合到诸如因特网270之类的公共网络,或耦合到运营商IP服务292。
当UE 210正在执行诸如web应用、web浏览、电子邮件或其他网络操作之类的数据操作时,UE 220经由移动网络200连接到因特网270。在一个示例场景中,用户平面信号源自UE 210并且被传递到E-UTRAN 204。在E-UTRAN 204内,与EPC 202接合以处理数据呼叫的eNB 220(或其他类似基站)首先接收用户平面信号。
作为无线局域网(WLAN)接入点(WAP),eNB 220支持E-UTRAN正交频分复用(OFDM)物理接口的第1层和第2层。有利地,eNB 220可以直接连接到网络路由器,从而简化网络架构。eNB 220可以支持与用于发送和接收的物理层过程有关的某些传统特征,包括调制和解调,以及信道编码和解码。eNB 220还可以提供无线电资源控制和无线电移动性管理以用于处理切换。
EPC 202提供若干功能块以提供各种支持功能。这些仅通过非限制性实例在本文中描述。
MME 240向EPC 202提供控制功能。MME 240提供空闲模式UE寻呼和标记过程,包括重传。MME 240还提供承载激活和去激活支持,并且当UE 210最初经由E-UTRAN 204附接到EPC 202时,可以针对UE 210选择适当的SGW 250。在附接之后,MME 240经由HSS 244认证UE210。
非接入层(NAS)信令在MME 240处终止,并且MME 240还负责针对UE 210生成和分配临时标识。然后,MME 240验证UE 210对服务提供商的公共陆地移动网络(PLMN)上的资源的授权,并对UE 210实施漫游限制。MME 240也是用于NAS信令的加密/完整性保护的终端端点,并处理安全密钥管理。MME 240还支持合法的信号拦截。MME 240还提供用于LTE和2G/3G网络之间的移动性的控制平面功能,其中S3接口在MME 240处终止于例如3G服务GPRS支持节点(SGSN)。最后,MME 240终止HSS 244的S6a接口以用于漫游UE。
在实施例中,HSS 244是用于提供归属位置寄存器(HLR)和认证中心(AuC)服务的数据库服务器。作为非限制性示例,HSS的功能包括呼叫和会话建立支持、用户认证和访问授权。
在实施例中,HLR存储和更新用户订阅信息数据库。作为非限制性示例,这可以包括以下内容:
a.用户识别和寻址,包括国际移动用户识别码(IMSI)、移动用户ISDN号码(MSISDN)和/或移动电话号码。
b.用户简档信息,包括订阅和服务质量(QoS)数据。
AuC根据用户身份密钥生成安全数据,并且将数据至少提供给HLR,并且根据需要提供给其他功能块。
SGW 250转发用户数据分组,同时还在eNodeB间切换期间充当用户平面的移动性锚点,并且作为LTE与其他3GPP技术之间的移动性的锚点(终止S4接口并在2G/3G系统和PDN网关250之间中继业务)。当UE 210空闲时,SGW 250终止下行链路数据路径并在下行链路数据到达UE 210时触发寻呼。SGW 250还可以存储包括IP承载服务的参数和网络内部路由信息的UE上下文。它还在合法拦截的情况下执行用户业务的复制。
PDN网关260提供从UE 210到外部分组数据网络(PDN)的连通性,并针对UE业务提供入口点和出口点。UE 210可以同时连接到多于一个PDN网关250,因此可以访问多个PDN。在示例中,PDN网关250通过非限制性示例提供策略实施、基于每个用户的分组过滤、计费支持、合法拦截和分组筛选。
接入网络发现和选择功能(ANDSF)262帮助UE 210发现除了用于数据通信的LTE网络之外还可以使用的非3GPP接入网络,例如Wi-Fi或WI MAX。ANDSF 260可以向UE 210提供监管到这些网络的连接的规则。作为非限制性示例,ANDSF 260可以向UE提供以下内容:
a.系统间移动性策略(ISMP)-用于UE 210具有不多于一个活动接入网络连接(例如,LTE或Wi-Fi)时的网络选择规则。
b.系统间路由策略(ISRP)-用于UE 210具有可能多于一个活动接入网络连接(例如,LTE和Wi-Fi)时的网络选择规则。在这种情况下,UE 210可以根据策略和用户偏好采用IP流移动性、多接入PDN连接(MAPCON)或非无缝Wi-Fi卸载。
c.发现信息-可以在UE 210附近可用的网络列表,以及用于帮助UE210连接到这些网络的信息。
ANDSF 262可以通过S14参考点与UE 210进行通信,在一些实施例中,S14参考点特定于ANDSF。
在一个实施例中,PCRF 290提供策略决策功能(PDF)和计费规则功能(CRF)。
PDF做出策略决定。具体地,当建立IP多媒体子系统(IMS)时,会话发起协议(SIP)数据如下媒体要求,其中终端和代理呼叫会话控制功能(P-CSCF)可以在它们之间交换。在会话建立过程期间,PDF还可以从P-CSCF接收这些要求并基于网络运营商规则做出决定。作为非限制性示例,这些可以包括:
a.允许或拒绝媒体请求。
b.使用新的或现有的PDP上下文用于传入的媒体请求。
c.针对授权资源使用来检查资源的分配。
CRF提供适用于每个服务数据流的运营商定义的计费规则。作为非限制性示例,CRF基于由P-CSCF提供的信息,诸如应用标识符、流的类型(音频、视频等)或应用数据速率,来选择相关的计费规则。
ePDG 280通过不可信的、非3GPP接入来保护与连接到EPC 202的UE 210的数据传输。为此目的,ePDG充当与UE 210建立的IPsec隧道的终止节点。
网络270可以是任何合适的网络或在一个或多个合适的网络协议上操作的一个或多个网络的组合,通过非限制性示例,包括例如局域网、内联网、虚拟网络、广域网、无线网络、蜂窝网络或因特网(可选地通过代理、VM或其他类似的安全机制访问)。网络270还可以包括一个或多个服务器、防火墙、路由器、交换机、安全设备、防病毒服务器或其他有用的网络设备。在该图示中,为简单起见,网络270被示为单个网络,但是在一些实施例中,网络270可以包括大量网络,诸如连接到因特网的一个或多个企业内联网。
运营商IP服务292包括由EPC 202的运营商提供的服务。运营商IP服务292可以包括或可以通信地耦合到运营支持系统(OSS)232。OSS 232提供用于监控、控制、分析以及管理EPC 202的硬件和软件。
有利地,LTE提供自组织网络(SON)(有时也称为自优化网络,其可互换使用)。SON提供自动化方法以有助于规划、配置、管理、优化和修复诸如EPC 202和E-UTRAN 204之类的网络。
可以以不同的风格提供SON,包括例如集中式SON(C-SON)230、分布式SON(dSON)224,以及在一些情况下的混合SON(hSON)。
C-SON 230提供集中的更高级网络控制,其中节点之间的协调增加,用于诸如跨越广泛地理区域的负载平衡之类的功能。相反,dSON 224提供分布式、对等控制功能,其中每个E-UTRAN网络无线地从其他E-UTRAN接收报告的参数,并基于那些报告做出自主决定。hSON(在此图中未示出)提供混合解决方案,其中一些功能是集中的而其他功能是分布式的。
有利地,SON提供有用的功能,例如:
a.自配置。在自配置网络中,新的基站被自动配置并集成到网络中,并且基站上的新特征也被无缝集成。当新基站被引入网络并上电时,它立即被网络识别和注册。然后,相邻基站自动调整以提供所需的覆盖范围和容量,以及避免干扰。
b.自优化。诸如eNB 220之类的基站可以提供旨在控制和/或优化其行为的配置参数。基于eNB 220本身的观察以及UE 210或其他地方的测量,SON可以自动重新配置这些参数以增强网络效率。在另一实施例中,SON提供自动邻近关系(AN R),并优化随机接入参数或移动性鲁棒性。在又一个实施例中,SON在夜间关闭一些基站以节省电力。可以选择这些基站以确保仍然在覆盖区域中提供完全覆盖。相邻基站可以重新配置适当的参数以确保完全覆盖并且适应改变的网络拓扑。如果需求突然出现峰值,则一个或多个睡眠基站几乎可以立即唤醒。这可以在不牺牲网络的情况下实现显着的功率节省
c.自修复。如果网络节点(例如eNB 220)发生故障,则自修复有助于减轻故障对整个网络的影响。例如,SON可以调整相邻eNB 220中的参数和算法,使得它们可以继续向发生故障的eNB 220提供服务。这与传统网络形成对比,当基站故障时,传统网络可能需要提交大量时间和资源来进行修复。通过自修复网络,网络可以在有很少或没有服务中断的情况下自动且几乎即时地自调整。
图3是根据本说明书的一个或多个示例的示例网络的框图。在该示例中,用户可以与服务提供商316交互,并且服务提供商316向用户提供一些服务。例如,服务提供商316可以是因特网服务提供商,向用户提供因特网访问。在其他示例中,作为非限制性示例,服务提供商316可以提供特定服务,诸如视频流服务、或一些其他服务流多媒体、动态web内容、交互式云游戏和远程办公业务应用。
注意,服务提供商316可以共同向大量最终用户提供服务。在一些实施例中,服务提供商316还可以与内容提供商330互连。
注意,本说明书中“内容提供商330”和“用户”的指定仅作为非限制性示例。可以有用地成批的分组可以来自任何合适的实体。
在这种情况下,内容提供商330可以向操作用户设备310的大量用户提供视频流服务。每个用户可能正在观看该服务上的不同流式传输节目。内容提供商330提供多个分组流320,分组流经由外部网络308路由到服务提供商316。服务提供商316包括边缘路由器304以及工作负载服务器312。注意,工作负载服务器312可以由服务提供者316拥有,并且在一些情况下可以由内容提供商330租用。许多其他配置是可能的。在该示例中,操作UE 310的用户正在经由内容提供商330观看视频。内容提供商330正在经由外部网络308提供大量分组流320,其经由服务提供商316路由到UE310。
分组流320可以包括具有公共属性的流,并且因此能够是成批的。例如,内容提供商330可以与多个用户并行地提供内容。针对每个用户的分组可能不会连续地到达边缘路由器304。相反,它们可以散布有用于其他用户的分组。然而,边缘路由器304基于公共属性将分组的序列聚合成流或批是有利的。这允许边缘路由器304内的简化处理,以及工作负载服务器312上的流线型处理,其可以执行附加工作,例如IPsec、加密或解密、防病毒检查、负载平衡或其他有用功能。因此,边缘路由器304可以受益于具有如本说明书中所示的分组预处理器。
图4是根据本说明书的一个或多个示例的网络接口卡(NIC)472的框图。
该NIC 472仅作为非限制性示例提供。应特别注意,NIC 472可以是单独的可插拔卡,例如PCIe卡,或者它可以与其主机核心紧密集成并在芯片上。此外,虽然本文公开了NIC472作为用于托管远程硬件加速功能的介质,但是这些功能也可以托管在机器的另一部分中。例如,可以提供专用的RHA芯片,其本身可以非常像硬件加速器。可以在集成到核心中的硬件块上执行功能,或者可以在核心上的软件中执行这些功能。因此,该图中的NIC 472上的远程硬件加速功能的公开应该被理解为仅是非限制性和说明性示例,并且本公开应该被理解为包含用于实现远程硬件加速的任何合适的硬件或软件配置。
在该示例中,NIC 472包括两个物理接口,即主机平台接口420和外部网络接口402。
主机平台接口420可以提供到主机上的本地总线的物理接口,例如PCIe接口或其他本地互连。提供主机平台接口420作为非限制性示例,并且应当理解,其他互连方法也是可能的。例如,在NIC 472与其伴随的核心紧密耦合的情况下,主机平台接口420可以是集成电路板上的直接的管芯上的迹线或直接铜连接。在其他示例中,可以使用除PCIe之外的总线接口。
外部网络接口402向结构(例如,图1的结构170或本文公开的任何结构)提供物理互连。外部网络接口402可以被配置为将NIC 472连接到任何合适的结构。
在一个特定示例中,可以使用Omni-PathTM结构。Omni-PathTM结构是有利的,因为它允许在不同的相干域之间映射地址和存储器范围。系统可以包括一个或多个相干域,其中所有相干域经由结构彼此连接。高速缓存代理是节点内的一致性代理,其处理来自同一节点内的核的存储器请求,从而提供域的一致性。归属代理是节点集群,负责处理来自高速缓存代理的存储器请求,并充当存储器地址空间的部分的归属。单个管芯可以具有多个归属,具有分布式地址空间映射。取决于请求所针对的地址空间,请求可以转到同一节点的本地存储器,也可以转到UPI代理,例如,将请求路由到同一个相干域内的其他处理器。可选地,请求可以通过NIC472到达相干域之外的处理器。经由UPI连接的所有处理器属于同一个相干域。因此,在一个实施例中,NIC 472可以经由UPI隧道与Omni-PathTM结构进行通信。
可以经由外部网络逻辑404来促进该通信,外部网络逻辑404提供在相干域内并且跨越具有不同相干域的结构提供通信所必需的逻辑元件和指令。外部网络逻辑404还可以包括将本地请求转换为远程结构请求的逻辑。
另一方面,主机平台接口逻辑416可以提供用于与本地总线(例如PCIe总线)或专用铜连接接合的逻辑。可选地,通过NIC 472的业务可以遵循通过主机平台接口420、主机平台接口逻辑416、外部网络逻辑404和外部网络接口402到结构的路径。
分组预处理器406可以被配置为根据本说明书的教导提供分组预处理。在各种非限制性示例中,可以通过硬件或软件来提供分组预处理,并且可以采取识别一起到达的可视为一个批次的分组的运行或序列的形式,其中适当的提示被插入到序列中的第一分组中以告诉下游应用如何处理分组序列。这些提示可以包括分组的性质、流标识符和公共属性的值,并且还可以包括批次中的分组数量,使得下游应用知道应用公共处理的分组数量。注意,在一些示例中,分组的运行或序列可以乱序地到达外部网络接口402,并且因此分组预处理器406除了识别现有的运行之外,还可以将这些分组重新排序为运行或序列,使得可以形成更大的批次。通过允许批量处理应用于更大数量的分组,这增加了应用本说明书的教导的益处。
在各种实施例中,分组预处理器406可以包括在NIC 472上,作为在本地处理器上运行的软件块、硬或软IP块、专用集成电路、可选地具有适当的存储缓冲器或支持电路、现场可编程门阵列、或其他一些硬件或软件解决方案。此外,虽然在该示例中将分组预处理器406示为NIC 472的内联特征,但不一定是这种情况。在一些示例中,分组预处理器406可以被提供为与NIC 472分离的协处理器,或者甚至可以提供在主机平台上(例如,在CPU上)运行的软件中,在提供分组到软件分组处理流水线之前对分组执行预处理。
图5是示出了根据本说明书的一个或多个示例的分组预处理的使用情况的框图。尽管本文公开的技术在许多不同的网络应用中可广泛使用,但是某些实施例可能特别适用于互联网服务提供商(ISP),其经常运行较小的单用途数据中心(与可以通过例如CSP来操作的更大的多租户数据中心形成对比)。在这种情况下,该技术可以在用于ISP的DOCSIS调制解调器和/或边缘路由器上提供。例如,这种情况可以代表融合的有线接入流水线。本说明书的教导可适用于网络元件,以及无线和固定通信基础设施,其中分组需要被分类以用于这些分组所属的流的调度和速率整形。
因为本说明书的分组预处理器使得能够在流水线中按组处理分组,所以实现了优点,因为流水线的循环计数减少。一旦针对批次内的单个分组获得结果,例如分类,则根据批次大小标识符,可以对同一批次中的所有连续分组应用相同的结果。
在图5的示例中,提供NIC 572,包括分组预处理器,类似于图4的分组预处理器406。
NIC 572包括发送侧和接收侧,或者换句话说,NIC 572包括入口接口和出口接口。在入口侧,分组进入外部网络接口502。然后,NIC 572将分组提供给服务提供商网络(SP NW侧PF)558的物理功能侧。
然后将分组提供给分组标记器554,分组标记器554可以是分组预处理器的一部分。分组标记器554可以包括或标识每个容器的虚拟功能。它还可以为每个MAC域下游服务组(SG)提供路由到虚拟功能(VF)的虚拟局域网(VLAN)。最后,分组标记器554可以将分组的运行或序列标记为批次。在一些示例中,分组标记器554还可以执行流的重新排序,以便可以形成更大的批次。分组标记器554向下游入口VF 550提供包括标记有适当批次标识符的分组。下游入口VF 550将分组提供给例如提供分组处理的容器502。这可以包括线程0(上MAC)536和线程1(下MAC)540。
线程0 536是本说明书特别感兴趣的。在该示例中,分组流由数据平面开发工具包(DPDK)以太网接收器虚拟接口544接收。DPDK以太网RX 544将分组流提供给较低MAC处理块503,其根据已知方法执行较低MAC处理。然后将分组发送到线程0 536的分组接收器504。分组接收器504然后将分组提供给分组处理流水线532。本文示出了可以包括在分组处理流水线532中的若干操作示例。然而,这些应理解为非限制性实例。此外,将分组处理流水线532指定为流水线也是非限制性示例。某些操作可以并行执行,或者可以是可选的,或者可能不适合流水线的范例。
在示例分组处理流水线中,软件首先执行DOCSIS标准电缆调制解调器(CM)查找和订阅管理功能508。
然后将分组提供给过滤器512,过滤器512根据各种属性对分组过滤。
接下来将分组提供给分类器516,分类器516对分组进行分类。
最后,将分组提供给服务流入队(ENQ)520,其使分组入队以用于服务流。在已经执行完整分组处理流水线之后,将分组提供给服务流出队(DEQ)524,其还可以包括信道和服务流(SF)调度器528。
一旦由应用处理了分组,就可以经由线程1(下MAC)540提供输出,通过非限制性示例的方式,线程1可以包括这样的服务,诸如,分组报头更新和循环冗余校验(CRC)、分组的加密、DOCSIS成帧、下游外部物理接口(DEPI)和第二层隧道协议(L2TP)封装、以及最后L2TPTx。然后将输出分组提供给DPDK以太网发送器546,DPDK以太网发送器546将分组提供给NIC572的下游出口虚拟功能570。
接下来将分组提供给容器和路由块554,其可以像之前一样提供每个容器的虚拟功能。
分组被提供给远程物理层(R-PHY SIDE PF)562的物理功能侧,并且最终经由外部网络接口502路由出去。
图6是根据本说明书的一个或多个示例的执行包括分组预处理的分组处理的方法600的流程图。此方法接收分组并将有关分组的运行或序列的信息编码到分组元数据、mbuf或队列。这些分组序列可以称为批次。
在框604处,系统接收n个输入分组。注意,这些分组可以是单个序列或流,或者可以包括多个序列或流。
在框608中,分组预处理器可以根据需要将分组重新排序为成批。将分组重新排序为成批可以基于识别分组的公共属性。在一些示例中,分组预处理器不是重新排序,而是将其预处理简单地应用于现有的分组运行或序列。注意,在重新排序分组的情况下,可以保留在相同流或序列内的排序。
分组预处理器独立地检测分组属性(PA)的运行,并且可以将分组属性类型和运行长度的指示写入运行开始的第一分组的元数据中。
可以按顺序检测分组属性运行。作为非限制性示例,分组的公共属性可以包括以下多次出现:
●公共源介质访问控制(MAC)。
●公共源IP。
●公共VLAN。
●公共Q-in-Q标签(SVLAN、CVLAN)。
●公共IP流(例如,MAC/IP源或目的地MAC/IP)。
●公共隧道,例如通用路由封装(GRE)或通用分组无线电服务(GPRS)隧道程序用户平面(GTP-U)。
●公共层2.5报头,如在多协议标签交换(MPLS)中。
●公共分组长度。
●公共优先级,如差异化服务代码点(DSCP)。
●公共报头。
●公共协议类型。
●公共安全关联,例如IPsec、数据报传输层安全性(DTLS)、传输层安全性(TLS)和介质访问控制安全性(MACsec)。
●公共分组有效载荷数据。
在框612中,针对每个分组编码关于批次的信息。注意,这并不意味着信息被编码到每个分组中,而是整个批次的信息可以编码在第一分组的报头中。这可以包括识别公共属性,使得下游应用可以对该属性执行单个查找或操作,以及识别批次的长度,使得下游应用可以知道它可以重用查找的迭代次数。在某些实施方案中,运行的组合是可能的。例如,如果序列中的多个属性是公共的,则可以独立地记录和表示每个属性运行。
批次可以以格式编码在相同的元数据中,例如:
[<运行指示符><运行代码类型><运行长度>]<可选运行值>
可替代地,可以允许预处理器在跨越不只是先入先出(FIFO)在NIC中保存的分组的跨度上运行,并且可以用于检测任何任意长度的运行。在这种情况下,批次可以以下列形式编码:
<运行 类型 开始><运行 类型 结束>
在框616中,将该批分组发布到目的地队列或设备端口。
在接收n个输入分组的情况下,如在框604中,分组可以例如以FIFO方式存储在NIC上的静态随机存取存储器(SRAM)中。可选地,分组可以存储在诸如协作数据交换(CDEX)环之类的环中,或者存储在结构中。通常,存在可以在网络中接收和处理分组的许多不同方式,并且本说明书不旨在限于任何特定实施例。
框608的重新排序可以提供优化的流序列检测。可以通过将相同流的分组进行分组为连续的运行来对分组重新排序,同时保持分组在流内的相对顺序。请注意,独立流不受重新排序过程的影响。相反,队列中的位置只是移动。
重新排序可以用于创建新的分组属性批次,其约束是在一些实施例中,成组不会导致同一流中的分组失序。可以根据各种因素对分组进行成组,例如,通过非限制性示例:
·可以将分组一起成组为具有相同分组优先级的运行(DSCP字段)。
·可以根据如分组属性运行中所列的循环分组属性对分组进行成组。
·因为可能有多于一个排序,所以可以执行分组重新排序以创建最重要的分组运行的可能最长的运行,以最大化特别重量级操作的重用,否则会基于每个分组执行。
在框612中对批信息的编码可以包括针对每个分组的以下内容(即,从1到N):
·解析所有分组报头字段(包括,例如,以太网类型和IP元组)。
·对分组类型(即协议类型)进行分类。
·确定目的地队列(例如,主机CPU队列或交换机结构队列)。
·针对目的地队列的先前分组属性检查属性。
·对于每个分组属性:
a.如果此分组的分组属性与先前的分组相同,则递增该属性的计数。
b.如果此分组的分组属性不等于先前的分组且PA计数大于1,则将PA代码和长度写入PA序列开始的第一个分组的分组元数据,并重置PA计数。
可以使用散列函数来辅助该过程,所述散列函数例如诸如“非常简单的聚合”(RSS)的NIC散列函数以检测运行的结束。在这种情况下,可以将散列应用于分组。如果散列不具有与分组n-1相同的散列,则假设在一些或所有相关的报头字段上计算散列,则保证不在同一运行中。因此,散列可用于检测运行的结束。
以上概述了若干实施例的特征,使得本领域技术人员可以更好地理解本公开的各个方面。本领域技术人员应当意识到,他们可以容易地使用本公开作为设计或修改其他过程和结构的基础,以实现本文介绍的实施例的相同的目的和/或实现本文介绍的实施例的相同优点。本领域技术人员还应该认识到,这样的等同构造不脱离本公开的精神和范围,并且在不脱离本公开的精神和范围的情况下,它们可以在本文中进行各种改变、替换和变更。
本文公开的任何硬件元件的全部或部分可以容易地在包括中央处理单元(CPU)封装的片上系统(SoC)中提供。SoC表示将计算机或其他电子系统的组件集成到单个芯片中的集成电路(IC)。因此,例如,可以在SoC中全部或部分地提供客户端设备或服务器设备。SoC可以包含数字、模拟、混合信号和射频功能,所有这些功能都可以在单个芯片衬底上提供。其他实施例可以包括多芯片模块(MCM),其中多个芯片位于单个电子封装内并且被配置为通过电子封装彼此紧密地相互作用。
还要注意,在某些实施例中,可以省略或合并组件中的一些。在一般意义上,图中描绘的布置在其表示中可以更符合逻辑,而物理架构可以包括这些元素的各种排列、组合和/或混合。必须注意,可以使用无数可能的设计配置来实现本文概述的操作目标。因此,相关联的基础设施具有无数的替代安排、设计选择、设备可能性、硬件配置、软件实现和设备选项。
在一般意义上,任何适当配置的处理器可以执行与数据相关联的任何类型的指令以实现本文详述的操作。本文公开的任何处理器可以将元素或物品(例如,数据)从一个状态或事物变换为另一个状态或事物。在操作中,存储装置可以将信息存储在任何合适类型的有形的非暂时性存储介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程ROM(EEPROM)等)、软件、硬件(例如,处理器指令或微代码)或者在适当的情况下并且基于特定需要的任何其他合适的组件、设备、元件或对象中。此外,基于特定需求和实现方式,可以在任何数据库、寄存器、表、高速缓存、队列、控制列表或存储结构中提供被跟踪、发送、接收或存储在处理器中的信息,所有这些都可以是在任何合适的时间帧内引用。本文公开的任何存储器或存储元件应当被解释为适当地包含在广义术语“存储器”和“存储装置”内。本文中的非暂时性存储介质明确地旨在包括被配置为提供所公开的操作或使处理器执行所公开的操作的任何非暂时性专用或可编程硬件。
实现本文描述的功能的全部或部分的计算机程序逻辑以各种形式体现,包括但不限于源代码形式、计算机可执行形式、机器指令或微代码、可编程硬件和各种中间形式(例如,由汇编程序、编译器、链接程序或定位器生成的形式)。在一个示例中,源代码包括以各种编程语言实现的一系列计算机程序指令,诸如目标代码,汇编语言或高级语言(诸如,OpenCL、FORTRAN、C、C++、JAVA或HTML)以用于各种操作系统或操作环境,或者硬件描述语言(诸如,Spice、Verilog和VHDL)来实现。源代码可以定义和使用各种数据结构和通信消息。源代码可以是计算机可执行形式(例如,经由解释器),或者源代码可以被转换(例如,经由翻译器、汇编器或编译器)成计算机可执行形式,或者转换成中间形式,例如作为字节码。在适当的情况下,任何前述内容可用于构建或描述适当的分立或集成电路,无论是顺序的、组合的、状态机还是其他。
在一个示例实施例中,附图的任何数量的电路可以在相关联的电子设备的板上实现。该板可以是通用电路板,其可以保持电子设备的内部电子系统的各种组件,并且还提供用于其他外围设备的连接器。基于特定配置需求、处理需求和计算设计,任何合适的处理器和存储器可以适当地耦合到板。注意,利用本文提供的众多示例,可以根据两个、三个、四个或更多个电子组件来描述交互。然而,这仅出于清楚和示例的目的而进行。应当意识到,可以以任何合适的方式合并或重新配置系统。沿着类似的设计替代方案,附图中的任何所示组件、模块和元件可以以各种可能的配置组合,所有这些配置都在本说明书的宽泛范围内。
可以向本领域技术人员确定许多其他改变、替换、变化、改变和修改,并且本公开旨在涵盖落入所附权利要求范围内的所有这样的改变、替换、变化、更改和修改。为了协助美国专利商标局(USPTO)以及本申请中发布的任何专利的任何读者解释所附权利要求,申请人希望注意到,申请人:(a)不打算任何所附权利要求在其提交日存在时援引35USC的部分112(pre-AIA)段6(6)(post-AIA)的段(f),除非在特定权利要求中特别使用“用于......的单元”或“用于...的步骤”的用语;以及(b)并不意图通过说明书中的任何陈述以任何未在所附权利要求中明确反映的方式限制本公开。
示例实现方式
通过举例说明提供以下示例。
示例1包括一种装置,包括:硬件平台;在硬件平台上执行的逻辑,该逻辑被配置为:接收包括第一多个分组的批次;识别批次的公共属性;根据公共属性对批次进行批处理;生成针对批次的提示,该提示包含有关批次的信息以便于对批次的处理;并将批次与提示一起转发到主机平台网络接口。
示例2包括示例1的装置,其中公共属性是公共目的地。
示例3包括示例1的装置,其中公共目的地是公共介质访问控制(MAC)地址。
示例4包括示例3的装置,其中批处理包括识别批次的公共服务流,其中识别公共服务流至少部分地基于(源、目的地、协议)元组。
示例5包括示例1的装置,其中批处理包括识别公共大小为s的n个分组,其中该提示包括用于分配n×s存储块的指令。
示例6包括示例1的装置,其中公共属性包括属于公共虚拟局域网(VLAN)的分组,并且其中该提示包括对该批次的单个查找。
示例7包括示例1的装置,其中,公共属性包括全部具有公共优先级的分组。
示例8包括示例1的装置,其中第一多个分组是第二多个分组的子组,并且其中逻辑还用于对第二多个分组内的分组重新排序以形成批次。
示例9包括示例8的装置,其中逻辑用于形成批次,同时维持公共流中的分组的排序。
示例10包括示例1的装置,其中,公共属性包括公共有效载荷数据。
示例11包括示例1的装置,其中,公共属性包括公共安全关联。
示例12包括示例1的装置,其中,公共属性是从由以下构成的组中选择的:公共隧道、公共层报头、公共协议类型、公共虚拟局域网(VLAN)、公共安全关联、公共协议类型、公共优先级、公共网络层、公共隧道、公共有效载荷数据和公共Q-in-Q标签。
实施例13包括实施例1-11中任一项的装置,其中所述提示包括批次指示符、批次代码类型和批次长度。
示例14包括示例1-11中任一示例的装置,其中所述逻辑包括是从由以下构成的组中选择的硬件逻辑设备:专用集成电路(ASIC)、现场可编程门阵列(FPGA)以及硬或软知识产权(IP)块。
示例15包括示例1-11中任一示例的装置,其中该逻辑包括软件分组预处理引擎。
示例16包括网络接口设备,包括:入口接口;主机平台接口;处理入口接口和出口接口之间的逻辑,用于:接收包括第一多个分组的批次;识别批次的公共属性;根据公共属性对批次进行批处理;生成针对批次的提示,该提示包含有关批次的信息以便于对批次的处理;并将批次与提示一起转发到主机平台网络接口。
示例17包括示例16的网络接口设备,其中,公共属性是公共目的地。
示例18包括示例16的网络接口设备,其中,公共目的地是公共介质访问控制(MAC)地址。
示例19包括示例18的网络接口设备,其中批处理包括识别批次的公共服务流,其中识别公共服务流是至少部分地基于(源、目的地、协议)元组的。
示例20包括示例16的网络接口设备,其中批处理包括识别公共大小为s的n个分组,其中该提示包括用于分配n×s存储块的指令。
示例21包括示例16的网络接口设备,其中公共属性包括属于公共虚拟局域网(VLAN)的分组,并且其中该提示包括针对该批次的单个查找。
示例22包括示例16的网络接口设备,其中,公共属性包括全部具有共同优先级的分组。
示例23包括示例16的网络接口设备,其中第一多个分组是第二多个分组的子组,并且其中逻辑还用于对第二多个分组内的分组重新排序以形成批次。
示例24包括示例23的网络接口设备,其中逻辑用于形成批次,同时维持公共流中的分组的排序。
示例25包括示例16的网络接口设备,其中,公共属性包括公共有效载荷数据。
示例26包括示例16的网络接口设备,其中,公共属性包括公共安全关联。
示例27包括示例16的网络接口设备,其中,所述公共属性是从由以下构成的组中选择的:公共隧道、公共层报头、公共协议类型、公共虚拟局域网(VLAN)、公共安全关联、公共协议类型、公共优先级、公共网络层、公共隧道、公共有效载荷数据和公共Q-in-Q标签。
示例28包括示例16-27中任一示例的网络接口设备,其中该提示包括批次指示符、批次代码类型和批次长度。
示例29包括示例16-27中任一示例的网络接口设备,其中,处理逻辑包括从由以下构成的组中选择的硬件逻辑设备:专用集成电路(ASIC)、现场可编程门阵列(FPGA)以及硬或软知识产权(IP)块。
示例30包括示例16-27中任一示例的网络接口设备,其中该逻辑包括软件分组预处理引擎。
示例31包括一种用于在网络接口上提供传入分组的批处理的方法,包括:在入口接口上接收包括第一多个分组的批次;识别批次的公共属性;根据公共属性对批处理执行批处理;生成针对批次的提示,该提示包括关于批次的信息以便于对批次的处理;并将批次与提示一起转发到主机平台网络接口。
示例32包括示例31的方法,其中公共属性是公共目的地。
示例33包括示例31的方法,其中公共目的地是公共介质访问控制(MAC)地址。
示例34包括示例33的方法,其中批处理包括识别批处理的公共服务流,其中识别公共服务流是至少部分地基于(源、目的地、协议)元组的。
示例35包括示例31的方法,其中批处理包括识别公共大小为s的n个分组,其中该提示包括用于分配n×s存储块的指令。
示例36包括示例31的方法,其中公共属性包括属于公共虚拟局域网(VLAN)的分组,并且其中该提示包括针对该批次的单个查找。
示例37包括示例31的方法,其中,公共属性包括全部具有共同优先级的分组。
示例38包括示例31的方法,其中第一多个分组是第二多个分组的子组,并且其中逻辑还用于对第二多个分组内的分组重新排序以形成批次。
示例39包括示例38的方法,其中逻辑用于形成批次同时维持公共流中的分组排序。
示例40包括示例31的方法,其中,公共属性包括公共有效载荷数据。
示例41包括示例31的方法,其中,公共属性包括公共安全关联。
示例42包括示例31的方法,其中,公共属性是从由以下构成的组中选择的:公共隧道、公共层报头、公共协议类型、公共虚拟局域网(VLAN)、公共安全关联、公共协议类型、公共优先级、公共网络层、公共隧道、公共有效载荷数据和公共Q-in-Q标签的组。
示例43包括示例31-42中任一项的方法,其中所述提示包括批次指示符、批次代码类型和批次长度。
示例44包括一种装置,该装置包括用于执行示例31-43中任一项的方法的单元。
示例45包括示例44的装置,其中该单元包括具有处理逻辑的网络接口。
示例46包括示例45的装置,其中处理逻辑包括从由以下构成的组中选择的硬件逻辑设备:专用集成电路(ASIC)、现场可编程门阵列(FPGA)以及硬或软知识产权(IP)块。
示例47包括示例45的装置,其中该逻辑包括软件分组预处理引擎。
示例48包括一种计算设备,该计算设备包括示例45-47中任一示例的网络接口。
Claims (25)
1.一种装置,包括:
硬件平台;
用于在所述硬件平台上执行的逻辑,所述逻辑配置为:
接收包括第一多个分组的批次;
识别所述批次的公共属性;
根据所述公共属性对所述批次执行批处理;
生成针对所述批次的提示,所述提示包括关于所述批次的用于促进对所述批次的处理的信息;并且
将所述批次与所述提示一起转发到主机平台网络接口。
2.如权利要求1所述的装置,其中,所述公共属性是公共目的地。
3.如权利要求1所述的装置,其中,所述公共目的地是公共介质访问控制(MAC)地址。
4.如权利要求3所述的装置,其中,批处理包括识别所述批次的公共服务流,其中,识别所述公共服务流是至少部分地基于(源、目的地、协议)元组的。
5.如权利要求1所述的装置,其中,批处理包括识别公共大小s的n个分组,其中,所述提示包括用于分配n×s存储块的指令。
6.如权利要求1所述的装置,其中,所述公共属性包括属于公共虚拟局域网(VLAN)的分组,并且其中,所述提示包括针对所述批次的单个查找。
7.如权利要求1所述的装置,其中,所述公共属性包括全部具有公共优先级的分组。
8.如权利要求1所述的装置,其中,所述第一多个分组是第二多个分组的子组,并且其中,所述逻辑还用于对所述第二多个分组内的分组重新排序以形成所述批次。
9.如权利要求8所述的装置,其中,所述逻辑用于形成所述批次,同时维持公共流中的分组的排序。
10.如权利要求1所述的装置,其中,所述公共属性包括公共有效载荷数据。
11.如权利要求1所述的装置,其中,所述公共属性包括公共安全关联。
12.如权利要求1所述的装置,其中,所述公共属性是从由以下构成的组中选择的:公共隧道、公共层报头、公共协议类型、公共虚拟局域网(VLAN)、公共安全关联、公共协议类型、公共优先级、公共网络层、公共隧道、公共有效载荷数据和公共Q-in-Q标签。
13.如权利要求1-11中任一项所述的装置,其中,所述提示包括批次指示符、批次代码类型和批次长度。
14.如权利要求1-11中任一项所述的装置,其中,所述逻辑包括从由以下构成的组中选择的硬件逻辑设备:专用集成电路(ASIC)、现场可编程门阵列(FPGA)以及硬或软知识产权(IP)块。
15.如权利要求1-11中任一项所述的装置,其中,所述逻辑包括软件分组预处理引擎。
16.一种网络接口设备,包括:
入口接口;
主机平台接口;
所述入口接口和出口接口之间的处理逻辑,其用于:
接收包括第一多个分组的批次;
识别所述批次的公共属性;
根据所述公共属性对所述批次执行批处理;
生成针对所述批次的提示,所述提示包括关于所述批次的用于促进对所述批次的处理的信息;并且
将所述批次与所述提示一起转发到主机平台网络接口。
17.如权利要求16所述的网络接口设备,其中,所述公共属性是公共目的地。
18.如权利要求16所述的网络接口设备,其中,所述公共目的地是公共介质访问控制(MAC)地址。
19.如权利要求18所述的网络接口设备,其中,批处理包括识别所述批次的公共服务流,其中,识别所述公共服务流是至少部分地基于(源、目的地、协议)元组的。
20.如权利要求16所述的网络接口设备,其中,批处理包括识别公共大小s的n个分组,其中,所述提示包括用于分配n×s存储块的指令。
21.如权利要求16所述的网络接口设备,其中,所述公共属性包括属于公共虚拟局域网(VLAN)的分组,并且其中,所述提示包括针对所述批次的单个查找。
22.如权利要求16所述的网络接口设备,其中,所述公共属性包括全部具有公共优先级的分组。
23.如权利要求16所述的网络接口设备,其中,所述第一多个分组是第二多个分组的子组,并且其中,所述逻辑还用于对所述第二多个分组内的分组进行重新排序以形成所述批次。
24.如权利要求23所述的网络接口设备,其中,所述逻辑用于形成所述批次,同时维持公共流中的分组的排序。
25.如权利要求16所述的网络接口设备,其中,所述公共属性包括公共有效载荷数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/718,836 US20190097948A1 (en) | 2017-09-28 | 2017-09-28 | Packet sequence batch processing |
US15/718,836 | 2017-09-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109587086A true CN109587086A (zh) | 2019-04-05 |
Family
ID=63524063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810985941.3A Pending CN109587086A (zh) | 2017-09-28 | 2018-08-28 | 分组序列批处理 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190097948A1 (zh) |
EP (1) | EP3462690B1 (zh) |
CN (1) | CN109587086A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190319933A1 (en) * | 2018-04-12 | 2019-10-17 | Alibaba Group Holding Limited | Cooperative tls acceleration |
EP3787230B1 (en) * | 2019-08-29 | 2021-07-21 | Ovh | Method and system for pushing a new rack into operational mode in a datacenter |
CN114200834B (zh) * | 2021-11-30 | 2023-06-30 | 辽宁石油化工大学 | 丢包环境下批次过程无模型离轨策略最优跟踪控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453360B1 (en) * | 1999-03-01 | 2002-09-17 | Sun Microsystems, Inc. | High performance network interface |
US20050122993A1 (en) * | 2003-04-23 | 2005-06-09 | Sunay Tripathi | Method and system for transmitting packet chains |
US20170163538A1 (en) * | 2015-12-02 | 2017-06-08 | Macau University Of Science And Technology | PacketUsher: Accelerating Computer-Intensive Packet Processing |
-
2017
- 2017-09-28 US US15/718,836 patent/US20190097948A1/en active Pending
-
2018
- 2018-08-21 EP EP18190103.4A patent/EP3462690B1/en active Active
- 2018-08-28 CN CN201810985941.3A patent/CN109587086A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453360B1 (en) * | 1999-03-01 | 2002-09-17 | Sun Microsystems, Inc. | High performance network interface |
US20050122993A1 (en) * | 2003-04-23 | 2005-06-09 | Sunay Tripathi | Method and system for transmitting packet chains |
US20170163538A1 (en) * | 2015-12-02 | 2017-06-08 | Macau University Of Science And Technology | PacketUsher: Accelerating Computer-Intensive Packet Processing |
Non-Patent Citations (1)
Title |
---|
WEIBIN SUN, ET AL.,: ""Fast and flexible:Parallel Packet Processing with GPUs and Click"", 《ARCHITECTURES FOR NETWORKING AND COMMUNICATIONS SYSTEMS》, 21 October 2013 (2013-10-21), pages 25 - 36 * |
Also Published As
Publication number | Publication date |
---|---|
EP3462690B1 (en) | 2020-10-28 |
EP3462690A1 (en) | 2019-04-03 |
US20190097948A1 (en) | 2019-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11070477B2 (en) | Distributed software defined wireless packet core system | |
US11997539B2 (en) | User-plane apparatus for edge computing | |
US20210409335A1 (en) | Multi-access management service packet classification and prioritization techniques | |
US10931577B2 (en) | Ultra high-speed mobile network based on layer-2 switching | |
EP3456090A1 (en) | Connecting to virtualized mobile core networks | |
US11184778B2 (en) | Mobile service chain placement | |
CN108141781A (zh) | 用于基于sdn的蜂窝网络架构的服务质量配置框架 | |
CN111770545A (zh) | 一种业务流路由控制方法、装置及系统 | |
US11617077B2 (en) | Secure user equipment capability transfer for user equipment with no access stratum security | |
CN110383792A (zh) | 通过多包处理核心对无线订户包处理的负载平衡 | |
CN109600790A (zh) | 获取特征参数的方法和装置 | |
CN109587086A (zh) | 分组序列批处理 | |
WO2023069757A1 (en) | Traffic engineering in fabric topologies with deterministic services | |
US11589264B2 (en) | System and method for leveraging access customer premise equipment (CPE) gateway resources to provide 5G edge computing services | |
EP3497964A1 (en) | Optimizing traffic in a packet core network | |
CN103476144B (zh) | 企业网系统及基于企业网系统的用户设备注册方法 | |
WO2023215720A1 (en) | Authorization and authentication of machine learning model transfer | |
US11050682B2 (en) | Reordering of data for parallel processing | |
EP4118925A1 (en) | Support for tunneling | |
CN114503625A (zh) | 一种通信方法、装置以及系统 | |
US20240235984A1 (en) | Traffic engineering in fabric topologies with deterministic services | |
US20240073302A1 (en) | Data Unit in Wireless System | |
US20240015569A1 (en) | Quality of service management for 5g networks | |
WO2023215771A1 (en) | Authentication and authorization for localized services | |
WO2023038692A1 (en) | Dynamic traffic management for multi-access management services |
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 |