CN114208138B - 传输控制协议(tcp)和/或用户数据报协议(udp)接收卸载 - Google Patents
传输控制协议(tcp)和/或用户数据报协议(udp)接收卸载 Download PDFInfo
- Publication number
- CN114208138B CN114208138B CN202080053770.6A CN202080053770A CN114208138B CN 114208138 B CN114208138 B CN 114208138B CN 202080053770 A CN202080053770 A CN 202080053770A CN 114208138 B CN114208138 B CN 114208138B
- Authority
- CN
- China
- Prior art keywords
- data packets
- container
- subset
- modem
- processor
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims description 20
- 238000004891 communication Methods 0.000 claims abstract description 51
- 239000000872 buffer Substances 0.000 claims description 119
- 238000000034 method Methods 0.000 claims description 78
- 230000015654 memory Effects 0.000 claims description 31
- 238000012546 transfer Methods 0.000 claims description 28
- 230000000694 effects Effects 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 241000700159 Rattus Species 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 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 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- 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/12—Protocol engines
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0273—Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0278—Traffic management, e.g. flow control or congestion control using buffer status reports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开的各个方面总体上涉及有线和/或无线通信。在一些方面中,设备在该设备的调制解调器处接收多个数据包。设备在该设备的调制解调器处将多个数据包中的第一子集的有效载荷分组到容器中。设备经由第一接口通道并且使用调制解调器向该设备的处理器传送该容器。设备经由第二接口通道并且使用调制解调器向处理器传送多个数据包中的第二子集。还提供了诸多其他方面。
Description
相关申请的交叉引用
本专利申请要求2019年7月26日提交的名称为“TRANSMISSION CONTROL PROTOCOL(TCP)AND/OR USER DATAGRAM PROTOCOL(UDP)RECEIVE OFFLOADING”的美国临时专利申请No.62/879,351和2020年7月21日提交的名称为“TRANSMISSION CONTROL PROTOCOL(TCP)AND/OR USER DATAGRAM PROTOCOL(UDP)RECEIVE OFFLOADING”的美国非临时专利申请No.16/947,167的优先权,这两篇申请通过引用明确并入本文。
技术领域
本公开的各方面总体上涉及有线和/或无线通信,并且涉及用于传输控制协议(TCP)和/或用户数据报协议(UDP)接收卸载的技术和装置。
背景技术
无线通信系统被广泛部署以提供各种类型的电信服务,诸如电话、视频、数据、消息收发和广播。典型的无线通信系统可以采用能够通过共享可用系统资源(例如,带宽、发送功率等等)来支持与多个用户的通信的多址技术。此类多址技术的示例包括码分多址(CDMA)系统、时分多址(TDMA)系统、频分多址(FDMA)系统、正交频分多址(OFDMA)系统、单载波频分多址(SC-FDMA)系统、时分同步码分多址(TD-SCDMA)系统和长期演进(LTE)。LTE/先进LTE(LTE-Advanced)是对由第三代合作伙伴计划(3GPP)发布的通用移动电信系统(UMTS)移动标准的增强集合。
无线通信网络可以包括若干基站(BS),这些基站可以支持针对若干用户设备(UE)的通信。用户设备(UE)可以经由下行链路和上行链路与基站(BS)进行通信。上行链路(或前向链路)指从BS到UE的通信链路,并且下行链路(或反向链路)指从UE到BS的通信链路。如本文将详细描述的,BS可以指Node B、gNB、接入点(AP)、无线电头端、发送接收点(TRP)、新无线电(NR)BS、5G Node B等。
已经在各种电信标准中采用了上述多址技术,以提供使不同的用户设备能够在城市、国家、地区以及甚至全球水平上进行通信的公共协议。也可以被称为5G的新无线电(NR)是对由第三代合作伙伴计划(3GPP)发布的LTE移动标准的增强集合。NR被设计为通过以下方式更好地支持移动宽带互联网接入:提高频谱效率,降低成本,改进服务,利用新频谱,并且在下行链路(DL)上使用具有循环前缀(CP)的正交频分复用(OFDM)(CP-OFDM),在上行链路(UL)上使用CP-OFDM和/或SC-FDM(例如,也被称作离散傅里叶变换扩频OFDM(DFT-s-OFDM))来更好地与其他开放标准整合,以及支持波束成形、多输入多输出(MIMO)天线技术和载波聚合。然而,随着移动宽带接入需求的持续增长,需要进一步改进LTE和NR技术。优选地,这些改进应该适用于其他多址技术和采用这些技术的电信标准。
发明内容
在一些方面中,一种由设备执行的有线和/或无线通信的方法,该方法可以包括:在该设备的调制解调器处接收多个数据包;在该设备的调制解调器处将多个数据包中的第一子集的有效载荷分组到容器中;经由第一接口通道并且使用调制解调器将该容器传送到该设备的处理器;以及经由第二接口通道并且使用调制解调器将多个数据包中的第二子集传送到处理器。
在一些方面中,一种用于有线和/或无线通信的设备,该设备可以包括存储器和可操作地耦合到存储器的一个或多个处理器。该存储器和该一个或多个处理器可以被配置为:在该设备的调制解调器处接收多个数据包;在该设备的调制解调器处将多个数据包中的第一子集的有效载荷分组到容器中;经由第一接口通道并且使用调制解调器将该容器传送到该设备的处理器;以及经由第二接口通道并且使用调制解调器将多个数据包中的第二子集传送到处理器。
在一些方面中,一种非暂时性计算机可读介质,该非暂时性计算机可读介质可以存储用于有线和/或无线通信的一个或多个指令。该一个或多个指令当由设备的一个或多个处理器执行时可以使一个或多个处理器:在该设备的调制解调器处接收多个数据包;在该设备的调制解调器处将多个数据包中的第一子集的有效载荷分组到容器中;经由第一接口通道并且使用调制解调器将该容器传送到该设备的处理器;以及经由第二接口通道并且使用调制解调器将多个数据包中的第二子集传送到处理器。
在一些方面中,一种用于有线和/或无线通信的装置,该装置可以包括:用于在该装置的调制解调器处接收多个数据包的部件;用于在该装置的调制解调器处将多个数据包中的第一子集的有效载荷分组到容器中的部件;用于经由第一接口通道并且使用调制解调器将该容器传送到该装置的处理器的部件;以及用于经由第二接口通道并且使用调制解调器将多个数据包中的第二子集传送到处理器的部件。
各方面总体上包括如本文参考说明书所充分描述并且如由附图所图示的方法、装置、系统、计算机程序产品、非暂时性计算机可读介质、用户设备、基站、有线和/或无线通信设备、和/或处理系统。
前面已经相当广泛地概述了根据本公开的示例的特征和技术优点,以便可以更好地理解随后的详细描述。在下文中将对附加的特征和优点进行描述。所公开的概念和特定示例可以容易地被用作用于修改或设计用于施行本公开的相同目的的其他结构的基础。此类等同构造不脱离所附权利要求的范围。当结合附图考虑时,从下面的描述中将更好地理解本文公开的概念的特性、它们的组织方式和操作方法两者以及相关联的优点。每个图都是出于图示和描述的目的而提供的,而不是作为对权利要求限制的定义。
附图说明
为使能够详细理解上文列举的本公开的特征,可以通过参考各方面(其中一些方面在附图中图示)来进行上文简要概述的更具体的描述。然而,要注意的是,附图仅图示了本发明的某些典型方面,因此不应被视为限制其范围,因为说明书可以允许其他等效的方面。不同图中的相同附图标记可以标识相同或相似的元件。
图1是概念性地图示根据本公开的各个方面的无线通信网络的示例的框图。
图2是概念性地图示根据本公开的各个方面的在无线通信网络中基站与用户设备(UE)通信的示例的框图。
图3至图9是图示根据本公开的各个方面的传输控制协议(TCP)和/或用户数据报协议(UDP)接收卸载的示例的图。
图10是图示根据本公开的各个方面的例如由设备执行的示例过程的图。
具体实施方式
在下文中将参考附图对本公开的各个方面进行更全面的描述。然而,本公开可以以许多不同的形式来体现,并且不应被解释为限于本公开通篇呈现的任何特定结构或功能。相反,提供这些方面以使本公开详尽和完整,并且将本公开的范围完全传达给本领域技术人员。基于本文的教导,本领域技术人员应该认识到本公开的范围旨在覆盖本文公开的本公开的任何方面,不论独立于本公开的任何其他方面实施还是与本公开的任何其他方面相结合实施。例如,可以使用本文阐述的任何数量的方面来实施装置或者实践方法。另外,本公开的范围旨在覆盖使用除本文阐述的本公开的各个方面之外或与之不同的其他结构、功能性或结构及功能性来实践的此装置或方法。应该理解,本文公开的本公开的任何方面可以由权利要求的一个或多个要素来体现。
现将参考各种装置和技术来呈现电信系统的几个方面。这些装置和技术将在下面的详细描述中进行描述,并且在附图中由各种框、模块、组件、电路、步骤、过程、算法等(被统称为“元素”)来图示。这些元素可以使用硬件、计算机软件或它们的组合来实施。此类元素是被实施作为硬件还是软件取决于具体应用和被施加在整个系统上的设计约束。
值得注意的是,虽然本文可以使用通常与3G和/或4G无线技术相关联的专有名词来描述各方面,但是本公开的各方面可以应用于其他基于代的通信系统,诸如5G和更高版本,包括NR技术。
图1是图示无线网络100的图,在无线网络中可以实践本公开的各方面。无线网络100可以是LTE网络或某另外一种无线网络,诸如5G或NR网络。无线网络100可以包括若干BS110(被示出为BS 110a、BS 110b、BS 110c和BS 110d)和其他网络实体。BS是与用户设备(UE)通信的实体,并且也可以被称为基站、NR BS、Node B、gNB、5G node B(NB)、接入点、发送接收点(TRP)等。每个BS可以为特定的地理区域提供通信覆盖。在3GPP中,术语“小区”,取决于使用该术语的上下文,可以指BS的覆盖区域和/或服务于该覆盖区域的BS子系统。
BS可以为宏小区、微微小区、毫微微小区和/或其他类型的小区提供通信覆盖。宏小区可以覆盖相对大的地理区域(例如,半径几公里的地理区域),并且可以允许UE通过服务定购进行不受限的访问。微微小区可以覆盖相对小的地理区域,并且可以允许UE通过服务定购进行不受限的访问。毫微微小区可以覆盖相对小的地理区域(例如,家庭),并且可以允许与该毫微微小区有关联的UE(例如,封闭订户组(CSG)中的UE、家庭用户的UE等)进行受限的访问。用于宏小区的BS可以被称为宏BS。用于微微小区的BS可以被称为微微BS。用于毫微微小区的BS可以被称为毫微微BS或家庭BS。在图1所示的示例中,BS 110a可以是用于宏小区102a的宏BS,BS 110b可以是用于微微小区102b的微微BS,并且BS 110c可以是用于毫微微小区102c的毫微微BS。BS可以支持一个或多个(例如,三个)小区。术语“eNB”、“基站”、“NR BS”、“gNB”、“TRP”、“AP”、“节点B”、“5G NB”和“小区”可以在本文中互换使用。
在一些方面中,小区不一定是静止的,小区的地理区域可以根据移动BS的定位移动。在一些方面中,BS可以通过各种类型的回程接口(诸如使用任何合适的传输网络的直接物理连接、虚拟网络等)相互连接和/或连接到无线网络100中的一个或多个其他BS或网络节点(未示出)。
无线通信网络100也可以包括中继站。中继站是可以从上游站(例如,BS或UE)接收数据的发送以及向下游站(例如,UE或BS)发出数据的发送的实体。中继站也可以是能够为其他UE中继传输的UE。在图1所示的示例中,中继站110d可以与宏BS 110a和UE 120d通信,以便促进BS 110a与UE 120d之间的通信。中继站也可以被称为中继BS、中继基站、中继等。
网络100可以是包括不同类型的BS(例如,宏BS、微微BS、毫微微BS、中继BS等)的异构网络。这些不同类型的BS可以具有不同的发送功率水平、不同的覆盖区域以及对无线网络100中干扰的不同影响。例如,宏BS可以具有高发送功率水平(例如,5至40瓦),而微微BS、毫微微BS和中继BS可以具有较低的发送功率水平(例如,0.1至2瓦)。
网络控制器130可以耦合到BS集合,并且为这些BS提供协调和控制。网络控制器130可以经由回程与BS通信。BS也可以经由无线回程或有线回程相互通信(例如,直接通信或间接通信)。
UE 120(例如,120a、120b、120c)可以分布在整个无线网络100中,并且每个UE可以是静止的或移动的。UE也可以被称为接入终端、终端、移动站、订户单元、站等。UE可以是蜂窝电话(智能电话)、个人数字助理(PDA)、无线调制解调器、无线通信设备、手持设备、膝上型计算机、无绳电话、无线本地环路(WLL)站、平板电脑、照相机、游戏设备、上网本、智能本、超极本、医疗设备或医疗装备、生物传感器/设备、可穿戴设备(智能手表、智能服装、智能眼镜、智能腕带、智能珠宝(例如,智能戒指、智能手镯))、娱乐设备(例如,音乐或视频设备、或卫星收音机)、车辆的组件或传感器、智能计量器/传感器、工业制造装备、全球定位系统设备或被配置为经由无线介质或有线介质通信的其他任何一种合适的设备。
一些UE可以被视为是机器类型通信(MTC)或者演进的或增强型机器类型通信(eMTC)UE。MTC和eMTC UE包括例如机器人、无人机、远程设备、传感器、计量器、监视器、定位标记等,它们可以与基站、另一设备(例如,远程设备)或某另外一种实体通信。例如,无线节点可以经由有线或无线通信链路为网络或向网络(例如,诸如互联网或蜂窝网络之类的广域网)提供连通性。一些UE可以被视为是物联网(IoT)设备,和/或可以被实施为NB-IoT(窄带物联网)设备。一些UE可以被视为客户端设备(CPE)。UE 120可以被包括在容纳UE 120的组件(诸如处理器组件、存储器组件等)的外壳内。
一般来说,在给定地理区域中可以部署任何数量的无线网络。每个无线网络可以支持特定的RAT,并且可以在一个或多个频率上操作。RAT也可以被称为无线电技术、空中接口等。频率也可以被称为载波、频率通道等。每个频率可以支持给定地理区域中的单个RAT,以便避免不同RAT的无线网络之间的干扰。在一些情况下,可以部署NR或5G RAT网络。
在一些方面中,两个或更多个UE 120(例如,被示出为UE 120a和UE120e)可以使用一个或多个侧链路信道直接通信(例如,在不使用基站110作为相互通信的中介的情况下)。例如,UE 120可以使用使用对等(P2P)通信、设备到设备(D2D)通信、车到一切(V2X)协议(例如,其可以包括车到车(V2V)协议、车到基础设施(V2I)协议等)、网状网络等进行通信。在这种情况下,UE 120可以执行调度操作、资源选择操作和/或在本文别处被描述为由基站110执行的其他操作。
如上文所指示的,图1是作为示例提供的。其他示例可以与关于图1所描述的示例不同。
图2示出了基站110与UE 120的设计200的框图,该基站和UE可以是图1中的基站之一和UE之一。基站110可以被配备有T天线234a至234t,并且UE 120可以被配备有R天线252a至252r,其中一般来说,T≥1并且R≥1。
在基站110,发送处理器220可以从数据源212接收针对一个或多个UE的数据,至少部分地基于从UE接收的信道质量指示符(CQI)为每个UE选择一个或多个调制及编码方案(MCS),至少部分地基于为UE选择的(多个)MCS来处理(例如,编码和调制)针对每个UE的数据,以及为所有UE提供数据符号。发送处理器220还可以处理系统信息(例如,对于半静态资源划分信息(SRPI)等)和控制信息(例如,CQI请求、授权、上层信令等),以及提供开销符号和控制符号。发送处理器220还可以为参考信号(例如,小区特定参考信号(CRS))和同步信号(例如,主同步信号(PSS)和辅同步信号(SSS))生成参考符号。发送(TX)多输入多输出(MIMO)处理器230可以对数据符号、控制符号、开销符号和/或参考符号执行空间处理(例如,预编码)(如果适用),以及可以向T调制器(MOD)232a至232t提供T输出符号流。每个调制器232可以处理相应的输出符号流(例如,对于OFDM等),以获得输出样本流。每个调制器232可以进一步处理(例如,转换为模拟、放大、滤波以及上变频(upconvert))输出样本流,以获得下行链路信号。来自调制器232a至232t的T下行链路信号可以分别经由T天线234a至234t来发送。根据下文详细描述的各个方面,可以通过传送附加信息的定位编码来生成同步信号。
在UE 120,天线252a至252r可以从基站110和/或其他基站接收下行链路信号,并且可以分别向解调器(DEMOD)254a至254r提供接收到的信号。每个解调器254可以调节(例如,滤波、放大、下变频以及数字化)接收到的信号,以获得输入样本。每个解调器254可以进一步处理输入样本(例如,对于OFDM等),以获得接收到的符号。MIMO检测器256可以从所有R解调器254a至254r获得接收到的符号,对接收到的符号执行MIMO检测(如果适用),以及提供经检测的符号。接收处理器258可以处理(例如,解调以及解码)经检测的符号,向数据宿(data sink)260提供针对UE 120的经解码的数据,以及向控制器/处理器280提供经解码的控制信息。信道处理器可以确定参考信号接收功率(RSRP)、接收信号强度指示符(RSSI)、参考信号接收质量(RSRQ)、信道质量指示符(CQI)等。在一些方面中,UE 120的一个或多个组件可以被包括在外壳中。
在上行链路上,在UE 120,发送处理器264可以接收并且处理来自数据源262的数据和来自控制器/处理器280的控制信息(例如,对于包括RSRP、RSSI、RSRQ、CQI等的报告)。发送处理器264还可以生成用于一个或多个参考信号的参考符号。来自发送处理器264的符号可以由TX MIMO处理器266预编码(如果适用),由调制器254a至254r进一步处理(例如,对于DFT-s-OFDM、CP-OFDM等),以及被发送到基站110。在基站110,来自UE 120的上行链路信号可以由天线234接收,由调制器232处理,由MIMO检测器236检测(如果适用),以及由接收处理器238进一步处理以获得由UE 120发送的经解码的数据和控制信息。接收处理器238可以向数据宿239提供经解码的数据,并且向控制器/处理器240提供经解码的控制信息。基站110可以包括通信单元244,并且可以经由通信单元244与网络控制器130通信。网络控制器130可以包括通信单元294、控制器/处理器290和存储器292。
基站110的控制器/处理器240、UE 120的控制器/处理器280和/或图2的任何其他组件可以执行与传输控制协议(TCP)和/或用户数据报协议(UDP)接收卸载相关联的一种或多种技术,如本文别处详细描述的。例如,基站110的控制器/处理器240、UE 120的控制器/处理器280、网络控制器130的控制器/处理器290和/或图2的任何其他组件可以执行或指导例如图9的过程900的操作和/或如本文所述的其他过程的操作。存储器242、282和292可以分别为基站110、UE 120和网络控制器130存储数据和程序代码。在一些方面中,存储器242、存储器282和/或存储器292可以包括存储用于有线和/或无线通信的一个或多个指令的非暂时性计算机可读介质。例如,一个或多个指令可以在由基站110、UE 120和/或网络控制器130的一个或多个处理器执行时执行或指导例如图9的过程900的操作和/或如本文所述的其他过程的操作。调度器246可以调度UE用于在下行链路和/或上行链路上进行数据传输。
在一些方面中,UE 120可以包括:用于在UE 120的调制解调器处接收多个数据包的部件,用于在UE 120的调制解调器处将多个数据包中的第一子集的有效载荷分组到容器中的部件,用于经由第一接口通道并且使用调制解调器将该容器传送到UE 120的处理器的部件,用于经由第二接口通道并且使用调制解调器将多个数据包中的第二子集传送到处理器的部件等。在一些方面中,此类部件可以包括结合图2描述的UE 120的一个或多个组件,诸如控制器/处理器280、发送处理器264、TX MIMO处理器266、MOD 254、天线252、DEMOD254、MIMO检测器256、接收处理器258等。
在一些方面中,BS 110可以包括:用于在BS 110的调制解调器处接收多个数据包的部件,用于在BS 110的调制解调器处将多个数据包中的第一子集的有效载荷分组到容器中的部件,用于经由第一接口通道并且使用调制解调器将该容器传送到BS 110的处理器的部件,用于经由第二接口通道并且使用调制解调器将多个数据包中的第二子集传送到处理器的部件等。在一些方面中,此类部件可以包括结合图2描述的BS 110的一个或多个组件,诸如控制器/处理器240、发送处理器220、TX MIMO处理器230、MOD 232、天线234、DEMOD232、MIMO检测器236、接收处理器238、通信单元244等。
在一些方面中,网络控制器130可以包括:用于在网络控制器130的调制解调器处接收多个数据包的部件,用于在网络控制器130的调制解调器处将多个数据包中的第一子集的有效载荷分组到容器中的部件,用于经由第一接口通道并且使用调制解调器将该容器传送到网络控制器130的处理器的部件,用于经由第二接口通道并且使用调制解调器将多个数据包中的第二子集传送到处理器的部件等。在一些方面中,此类部件可以包括结合图2描述的网络控制器130的一个或多个组件,诸如控制器/处理器290、通信单元294、存储器292等。
如上文所指示的,图2是作为示例提供的。其他示例可以与关于图2所描述示例不同。
设备(例如,UE 120、BS 110、网络控制器130等)可以通过数据网络和/或无线网络使用各种通信协议来与另一设备通信。例如,设备可以使用传输控制协议(TCP)、用户数据报协议(UDP)、互联网协议(IP)等向另一设备发送数据包和/或从其接收数据包。调制解调器(例如,接收处理器258、控制器/处理器280等)可以将接收到的数据包传送到与该数据包相关联的处理器(例如,实施应用处理器、主机处理器等的控制器/处理器280等)。处理器可以通过网络协议栈(例如,基于TCP/IP的栈、基于UDP的栈、基于开放系统互连(OSI)的栈等)的一个或多个层来处理数据包,以便剥离数据包的一个或多个报头并且获得数据包的有效载荷。
在设备处对接收到的数据包的处理可能发生一次一个数据包(例如,一次一个TCP分段,一次一个UDP数据报等),这导致处理效率低下和/或数据包处理时间增加。例如,设备的处理器可能需要通过网络协议栈的一个或多个层来独立地处理每个数据包,以从每个个体数据包中移除或剥离报头。再如,调制解调器可能需要独立地执行校验和卸载(checksumoffloading)(如果支持的话),以确定针对每个数据包的个体校验和。
本文描述的一些方面提供了与TCP和/或UDP接收卸载相关联的技术和装置。在一些方面中,设备的处理器可以通过将数据包分组卸载到设备的调制解调器来减少处理效率低下和/或降低数据包处理时间。例如,调制解调器可以将属于特定串或连接的数据包组合、合并和/或以其他方式分组到容器中(例如,经合并的TCP帧、经分组或经装箱的UDP数据报等),并且可以将经分组的数据包的容器提供给处理器以用于通过网络协议栈进行处理。该容器可以具有一公共报头(或数个报头),使得处理器仅需要从容器中剥离或移除一个报头(或一个集合的报头),而不是从每个数据包中剥离或移除个体报头(或数个集合的报头)。
在一些方面中,调制解调器能够至少部分地基于接收到的对应的数据包的序列来将关于经分组的数据包的容器的指示提供给处理器。此外,调制解调器能够提供与容器相关联的信息,使得可以执行解分组、解合并、解装箱等。
在一些方面中,调制解调器能够对于经分组的数据包的容器执行校验和卸载。调制解调器可以向处理器提供针对容器的校验和正确性的指示,使得处理器可以对于具有不正确校验和的数据包采取适当的行动。
在一些方面中,调制解调器能够经由第一接口通道(例如,合并接口通道)将经分组的数据包的容器传送到处理器,并且经由第二接口通道(例如,非可合并接口通道)将个体数据包(例如,不可合并的或不可分组的数据包)传送到处理器,同时保持经分组的数据包和未经分组的数据包的顺序。
图3是图示根据本公开的各个方面的TCP和/或UDP接收卸载的示例300的图。如图3所示,示例300可以包括由设备(例如,UE 120、BS 110、网络控制器130等)进行的数据包的通信和/或处理。该设备可以包括调制解调器(例如,接收处理器238、控制器/处理器240、通信单元244、接收处理器258、控制器/处理器280、控制器/处理器290、通信单元294等)和处理器(例如,控制器/处理器240、控制器/处理器280、控制器/处理器290等)以及其他组件和/或设备。在一些方面中,调制解调器可以被包括在该设备中或者可以通信连接到该设备。在一些方面中,处理器可以是主机处理器、应用处理器等。
如图3所示并且由附图标记302示出的,该设备可以在该设备的调制解调器处接收多个数据包。在一些方面中,该设备可以接收来自另一设备的多个数据包。多个数据包可以经由数据网络(例如,互联网和/或另一类型的分组数据网络)、无线网络(例如,无线网络100)、基站(例如,基站110)等发送到该设备。
在一些方面中,数据包可以包括TCP分段、UDP包、TCP确认、以太网帧、与未经结构化的串(flow)等相关联的数据包。在一些方面中,每个数据包可以包括被封装在一个或多个报头中的有效载荷(例如,应用数据和/或其他类型的数据)。一个或多个报头可以包括网络协议栈报头,诸如传输层报头(例如,TCP/IP报头、UDP报头、以太网报头等)、网络层报头(例如,IP报头等)、链路层报头等。
如图3中进一步示出的并且由附图标记304示出的,调制解调器可以通过将多个数据包中的至少第一子集的有效载荷分组到容器中来对于处理器执行接收卸载。在一些方面中,调制解调器可以确定至少部分地基于确定多个数据包中的第一子集是可分组的或可合并的来将多个数据包中的第一子集的有效载荷分组到容器中。在一些方面中,例如,如果数据包的IP报头具有相同的标识符字段值或顺序标识符,如果数据包的IP报头仅在有效载荷长度上不同,如果数据包的TCP或UDP报头仅在顺序标识符、确认标识符和/或校验和上不同,如果TCP或UDP报头仅在长度上不同等,则调制解调器可以确定多个数据包中的第一子集是可分组的或可合并的。在一些方面中,例如,如果数据包是IP分片,如果一个或多个数据包产生了校验和错误,如果填充被添加到一个或多个数据包,数据包之间的TCP选项不同,一个或多个数据包的网络协议栈报头不满足阈值大小,一个或多个数据包的TCP序列号与其他数据包不连续等,则调制解调器可以确定多个数据包中的第一子集是不可分组的或不可合并的。
在一些方面中,多个数据包中的第一子集可以包括多个TCP分段。调制解调器可以至少部分地基于确定多个TCP分段与相同的TCP串(flow)和/或相同的TCP连接相关联来将多个TCP分段的有效载荷分组到容器中。在一些方面中,如果多个TCP分段的有效载荷的整体大小(例如,以比特、字节、千字节等为单位)满足阈值大小(例如,32Kb、64Kb等),则调制解调器可以将多个TCP分段的有效载荷的子集分组到不同的容器中。
在一些方面中,如果多个数据包中的第一子集包括多个TCP分段,则容器可以包括经合并的TCP帧。调制解调器可以通过生成单个公共合并帧报头和/或一公共集合的网络协议栈报头(例如,通过将多个TCP分段分组在第一TCP分段的网络协议栈报头下)并且将经合并的TCP帧封装在合并帧报头中来将多个TCP分段分组或合并成经合并的TCP帧,这减少了处理器将要从多个TCP分段中移除或剥离的报头的数量。
在一些方面中,多个数据包中的第一子集可以包括多个UDP包。调制解调器可以至少部分地基于确定多个UDP包与相同的UDP流(stream)和/或相同的UDP连接相关联来将多个UDP包的有效载荷分组到容器中。在一些方面中,如果多个UDP包的有效载荷的整体大小(例如,以比特、字节、千字节等为单位)满足阈值大小(例如,31Kb、63Kb等),则调制解调器可以将多个UDP包的有效载荷的子集分组到不同的容器中。
在一些方面中,如果多个数据包的第一子集包括多个UDP包,则容器可以包括经分组或经装箱的UDP数据报。调制解调器可以通过生成单个公共分组UDP报头和/或一公共集合的网络协议栈报头(例如,通过将多个UDP包分组在第一UDP包的网络协议栈报头下)并且将经分组的TCP数据报封装在分组UDP报头中来将多个UDP包分组或合并成经分组的UDP数据报,这减少了处理器将要从多个UDP包中移除或剥离的报头的数量。
在一些方面中,调制解调器将多个数据包的第一子集的有效载荷分组到容器中,使得容器具有多个报头。多个报头可以是多个公共合并帧报头、多个分组UDP报头、多个数据包的原始报头(例如,使得多个数据包在每个串中被累积,而不是被合并),和/或其他类型的报头。
如图3中进一步示出的并且通过附图标记306示出的,调制解调器可以经由第一接口通道(例如,合并接口通道)(306-1)将容器传送到处理器和/或可以经由第二接口通道(例如,非合并接口通道)(306-2)将多个数据包中的第二子集传送到处理器。多个数据包中的第二子集可以是未经合并的数据包。在一些方面中,调制解调器可以经由第二接口通道至少部分地基于确定不将多个数据包中的第二子集合并或分组到容器中,至少部分地基于确定多个数据包中的第二子集是不可合并的或不可分组的数据包(例如,不能够被分组或合并的数据包)等来传送多个数据包中的第二子集。
在一些方面中,第一接口通道和第二接口通道可以是不同的接口通道。与第一接口通道和第二接口通道相关联的接口可以是外围组件互连快速(PCIe)接口、通用串行总线(USB)接口、串行ATA(SATA)接口、以太网接口和/或另一类型的通信接口。
在一些方面中,调制解调器可以经由第一接口通道来传送多个容器和/或经由第二接口通道将多个未经合并和/或未经分组的数据包传送到处理器。在这种情况下,多个容器中的一个或多个容器可以与相同的TCP串或TCP连接相关联,可以与不同的TCP串或不同的TCP连接相关联,可以与相同的UDP流或UDP连接相关联,可以与不同的UDP流或不同的UDP连接相关联等。
如图3中进一步示出的并且通过附图标记308示出的,处理器可以处理容器和/或多个数据包中的第二子集。例如,处理器可以透过网络协议栈的一个或多个层通过从容器中移除或剥离公共帧报头或公共UDP报头和/或从容器中移除或剥离其他公共网络协议栈报头来处理容器,以获得被包括在容器中的应用数据和/或其他有效载荷数据。再如,处理器可以透过网络协议栈的一个或多个层通过从多个数据包中的第二子集中移除或剥离个体网络协议栈报头来处理多个数据包中的第二子集,以获得被包括在多个数据包中的第二子集中的应用数据和/或其他有效载荷数据。
以这种方式,设备的处理器可以通过将数据包分组卸载到设备的调制解调器来减少处理效率低下和/或降低数据包处理时间。例如,调制解调器可以将属于特定串或连接的数据包组合、合并和/或以其他方式分组到容器中(例如,经合并的TCP帧、经分组或经装箱的UDP数据报等),并且可以将经分组的数据包的容器提供给处理器以用于通过网络协议栈进行处理。容器可以具有一公共报头(或数个报头),使得处理器需要从容器中剥离或移除单个报头(或单个集合的报头),而不是从每个数据包中剥离或移除个体报头(或数个集合的报头)。
如上文所指示的,图3是作为示例提供的。其他示例可以与相对于图3所描述的示例不同。
图4是图示根据本公开的各个方面的TCP和/或UDP接收卸载的示例400的图。
如图4所示,设备(例如,上文结合图3描述的设备和/或另一设备)可以在该设备的调制解调器处按特定的包到达顺序接收多个数据包(例如,包1至包15)。调制解调器可以将多个数据包中的子集数据包分组到多个容器中,可以经由第一接口通道(例如,合并接口通道)将容器传送到该设备的处理器,以及可以经由第二接口通道(例如,非合并接口通道)将多个数据包中的子集数据包(例如,未经分组或未经合并的数据包)传送到处理器。
在一些方面中,设备可以利用多个并发合并接口通道(和/或合并接口通道的组)和/或非合并接口通道(和/或非合并接口通道的组)以准许多处理器设备中的每处理器使用。例如,设备可以包括被分配第一合并接口通道和第一非合并接口通道的第一处理器,可以包括被分配第二合并接口通道和第二非合并接口通道的第二处理器,以此类推。
在一些方面中,多个容器中的每个容器可以与合并上下文标识符相关联。例如,第一容器可以与上下文标识符0相关联,第二容器可以与上下文标识符1相关联,以此类推。
在一些方面中,为了将多个容器传送到处理器,调制解调器可以跨与第一接口通道相关联的一个或多个缓冲区存储多个容器。例如,调制解调器可以跨单个缓冲区存储容器,可以跨多个缓冲区存储容器等。如图4中的示例所图示,调制解调器可以将被包括在与上下文标识符0相关联的容器中的数据包存储在缓冲区A(例如,包1和包3)、缓冲区C(例如,包4和包5)、缓冲区E(例如,包8和包9)和缓冲区F(例如,包11和包13)中。继续图4中的示例,调制解调器可以将被包括在与上下文标识符1相关联的容器中的数据包存储在缓冲区B(例如,包2和包6)和缓冲区D(例如,包7和包10)中。继续图4中的示例,调制解调器可以将被包括在与上下文标识符2相关联的容器中的数据包存储在缓冲区G(例如,包12和包14)中。如图4进一步示出的,调制解调器可以将未经分组或未经合并的数据包存储在与第二接口通道相关联的缓冲区中。
如图4所图示,调制解调器可以无顺序地利用缓冲区来存储数据包,而未经分组或未经合并的数据包可以按接收未经分组或未经合并的数据包所按照的顺序存储在与第二接口通道相关联的缓冲区中。例如,当调制解调器接收到包1时,调制解调器可以将空闲缓冲区(例如,缓冲区A)分配给与上下文标识符0相关联的容器,并且可以将包1存储在缓冲区A中。调制解调器接收到的下一个包(例如,包2)可以与不同的TCP串或UDP流相关联,在这种情况下,调制解调器可以启动用于TCP串或UDP流的另一容器(例如,上下文标识符1),并且可以将下一个可用缓冲区(例如,缓冲区B)分配给该容器。
如图4进一步所示,在一些情况下,当在缓冲区中存储数据包时,调制解调器可以将被分配给容器的缓冲区填满。这可以被称为缓冲区完成。在这种情况下,调制解调器可以将下一个可用缓冲区分配给容器,并且可以将容器的数据包存储在新的缓冲区中。例如,如果调制解调器用与上下文标识符0相关联的容器的数据包将缓冲区A填满,则调制解调器可以将缓冲区C(例如,因为缓冲区B已经被分配给与上下文标识符1相关联的容器)分配给与上下文标识符0相关联的容器,并且可以将数据包存储在缓冲区C中。
调制解调器可以按与上述类似的方式继续分配缓冲区并且存储数据包。此外,并且如图4所图示,调制解调器可以在事件环中维护完成事件的日志。事件环可以包括数据结构、一个或多个数据容器等,以向处理器指示调制解调器的内存使用。事件环可以是第一接口通道与第二接口通道之间的公共事件环。此外,调制解调器可以维护事件环,使得按完成事件所发生的顺序记录完成事件。例如,缓冲区A的完成(例如,缓冲区A中包3的存储)第一个发生并且第一个被记录在事件环中,缓冲区C的完成(例如,缓冲区C中包5的存储)第二个发生并且第二个被记录在事件环中,缓冲区B的完成(例如,缓冲区B中包6的存储)第三个发生并且第三个被记录在事件环中,以此类推。
事件环中的完成事件条目可以包括与完成事件相关联的信息。例如,完成事件条目可以指向与同完成事件相关联的缓冲区相关联的软件缓存文件、缓冲区被分配所至的容器的上下文标识符、与完成事件相关联的事件类型等等。附加地和/或替代地,完成事件条目可以包括缓冲区中的数据包被存储所位于的存储器地址,可以指定调制解调器出于直接存储器存取(DMA)目的而使用的存储器的长度等。
在一些方面中,与缓冲区相关联的软件缓存文件可以被存储在与第一接口通道相关联的传送环(例如,合并传送环)中。软件缓存文件可以包括与缓冲区相关联的缓冲区地址的指示,诸如虚拟地址、物理地址等。在一些方面中,处理器可以经由合并传送环来发送与合并传送环元素中的缓冲区相关联的软件缓存文件的指示,可以经由合并传送环来提供与第一接口通道相关联的缓冲区的指示,可以经由非合并传送环来提供与第二接口通道相关联的缓冲区的指示等。
在一些方面中,合并传送环可以不同于与第二接口通道相关联的传送环(例如,非合并传送环),第一接口通道和第二接口通道可以使用相同的传送环。传送环可以包括相同的数据结构或分离的数据结构、相同的数据容器或分离的数据容器等,数据容器存储与第一接口通道和/或第二接口通道的数据缓冲区相关联的存储器地址、存储器长度、软件缓存文件等。
在一些方面中,完成事件的事件类型可以至少部分地基于与完成事件相关联的缓冲区被关闭的原因。例如,缓冲区结束(EOB)事件类型可以指示缓冲区由于缓冲区被填满而被关闭。再如,传输结束(EOT)事件类型可以指示缓冲区由于数据包到缓冲区的传送被终止而被关闭。在一些方面中,EOT事件类型可以由在数据包中设定的指示数据包将要被存储所位于的容器(并且因此缓冲区)将要被关闭的标志(例如,TCP FIN/PUSH标志)来触发。在一些方面中,EOT事件类型可以通过调制解调器确定数据包不能够被分组到缓冲区被分配所至的容器中来触发。
如上文所指示的,图4是作为示例提供的。其他示例可以不同于相对于图4所描述的示例。
图5是图示根据本公开的各个方面的TCP和/或UDP接收卸载的示例500的图。
如图5所示,设备(例如,上文结合图3描述的设备和/或另一设备)可以在该设备的调制解调器处接收多个数据包。调制解调器可以将多个数据包中的子集数据包分组到多个容器(例如,容器1至5)中,可以经由第一接口通道(例如,合并接口通道)将该容器传送到设备的处理器,以及可以经由第二接口通道(例如,非合并接口通道)将多个数据包中的子集数据包(例如,未经分组或未经合并的数据包)传送到处理器。
如图5所示,调制解调器可以在传送未经分组或未经合并的数据包之前将容器1至3传送到处理器。如图5进一步示出的,调制解调器可以在传送未经分组或未经合并的数据包之后传送容器4和5。为了维持事件环(例如,上文结合图4描述的事件环和/或另一事件环)中的缓冲区完成的排序,调制解调器可以关闭或刷新第二接口通道和/或被分配给第二接口通道的缓冲区。以这种方式,调制解调器在与容器3相关联的缓冲区的完成与同容器4相关联的缓冲区的完成之间记录针对被分配给第二接口通道的缓冲区的完成事件,这确保了事件环中缓冲区完成的正确排序。
如上文所指示的,图5是作为示例提供的。其他示例可以与相对于图5所描述的示例不同。
图6是图示根据本公开的各个方面的TCP接收卸载的示例600的图。
如图6所示,设备(例如,上文结合图3描述的设备和/或另一设备)可以在该设备的调制解调器处接收多个TCP分段(例如,TCP分段1至n)。调制解调器可以将多个TCP分段分组到容器中,诸如经合并的TCP帧,并且可以经由第一接口通道(例如,合并接口通道)将经合并的TCP帧传送到设备的处理器。调制解调器可以通过生成单个公共合并帧报头和/或一公共集合的网络协议栈报头(例如,通过将多个TCP分段分组在第一TCP分段的网络协议栈报头下)并且将经合并的TCP帧封装在合并帧报头中来将多个TCP分段分组或合并成经合并的TCP帧,这减少了处理器将要从多个TCP分段中移除或剥离的报头的数量。
处理器可以接收经合并的TCP帧,并且可以通过网络协议栈的一个或多个层来处理经合并的TCP帧。例如,并且如图6所图示,处理器可以从经合并的TCP帧中移除或剥离一个或多个链路层报头,可以从经合并的TCP帧中移除或剥离一个或多个网络层报头,和/或可以从经合并的TCP帧中移除或剥离一个或多个传输层报头。处理器可以向应用层提供剩余有效载荷数据。
如上文所指示的,图6是作为示例提供的。其他示例可以相对于图6所描述的示例不同。
图7是图示根据本公开的各个方面的UDP接收卸载的示例700的图。
如图7所示,设备(例如,上文结合图3描述的设备和/或另一设备)可以在该设备的调制解调器处接收多个UDP包(例如,UDP包1至n)。调制解调器可以将多个UDP包分组到容器中,诸如经分组的UDP数据报,并且可以经由第一接口通道(例如,合并接口通道)将经分组的UDP数据报传送到设备的处理器。调制解调器可以通过生成单个公共分组UDP报头和/或一公共集合的网络协议栈报头(例如,通过将多个UDP包分组在第一UDP包的网络协议栈报头下)并且将经分组的TCP数据报封装在分组UDP报头中来将多个UDP包分组或合并成经分组的UDP数据报,这减少了处理器将要从多个UDP包中移除或剥离的报头的数量。
处理器可以接收经分组的UDP数据报,并且可以通过网络协议栈的一个或多个层来处理经分组的UDP数据报。例如,并且如图7所图示,处理器可以从经分组的UDP数据报中移除或剥离一个或多个链路层报头,可以从经分组的UDP数据报中移除或剥离一个或多个网络层报头,和/或可以从经分组的UDP数据报中移除或剥离一个或多个传输层报头。处理器可以向应用层提供剩余有效载荷数据。
如上文所指示的,图7是作为示例提供的。其他示例可以与相对于图7所描述的示例不同。
图8是图示根据本公开的各个方面的用于分组或合并数据报的公共报头的示例800的图。在一些方面中,设备(例如,上文结合图3描述的设备和/或另一设备)可以通过将多个数据包的有效载荷封装在公共报头(诸如图8中图示的公共报头)中来生成多个数据包的容器。
如图8所示,公共报头可以包括多个字段。例如,多个字段可以包括报头类型字段、校验和有效性字段、NL数量字段、接近值字段、接近类型字段、上下文标识符字段、一个或多个包长度字段、一个或多个校验和错误位图字段、一个或多个包数量字段等。虽然公共报头在示例800中被图示为具有特定的配置和/或字段数量,但是公共报头可以包括更多和/或更少数量的字段,可以包括与图8中图示的字段不同的字段等。
在一些方面中,报头类型字段可以包括一个或多个比特(例如,7比特和/或另一数量的比特),该一个或多个比特可以被用来指示公共报头是合并帧报头(例如,其可以被用于合并TCP帧或经分组的UDP数据报)。在一些方面中,如果设备的调制解调器对于设备的处理器执行校验和卸载,则可以使用校验和有效性字段。校验和有效性字段可以包括指示容器的校验和是否有效的一个或多个比特(例如,1比特等),这准许设备跨多个数据包执行校验和验证,而不是对于个体数据包执行校验和验证。
在一些方面中,关闭类型和关闭值字段可以包括一个或多个比特(例如,对于每个字段4比特等),该一个或多个比特可以被用来指示关闭与公共报头相关联的容器的原因。例如,该一个或多个比特可以指示容器由于以下情况而被关闭:公共报头中的NL字段数量满足阈值数量,容器中的数据包数量满足阈值数量,容器的字节大小满足阈值大小,强制关闭,回收(例如,至少部分地基于最近最少使用的(LRU)回收策略等)。上下文标识符字段可以包括一个或多个比特(例如,4比特等),该一个或多个比特可以被用来指示与容器相关联的上下文标识符。针对容器的阈值字节大小和/或针对容器的阈值数据包数量可以在调制解调器与处理器之间来协商。例如,处理器可以指定针对容器的阈值字节大小和/或针对容器的阈值数据包数量,并且调制解调器可以将数据包的有效载荷分组到容器中,使得容器满足针对容器的阈值字节大小和/或针对容器的阈值数据包数量。
在一些方面中,NL数量字段可以包括多个比特(例如,3比特等),该多个比特可以被用来指示被包括在公共报头中的多个包数目包长度(packet number packet length,NL)字段的数量。在一些方面中,NL字段可以包括包长度字段、校验和错误位图字段和包数量字段的行或组合。包长度字段可以包括可以被用来指示被包括在容器中的数据包的特定数据包长度的一个或多个比特(例如,16比特等)。与包长度字段相关联的包数量字段(例如,在与包长度字段相同的行中)可以包括一个或多个比特(例如,8比特),该一个或多个比特可以被用来指示被包括在容器中的数据包的数量,这些数据包具有在相关联的包长度字段中指示的包长度。在一些方面中,包数量字段可以包括被存储在容器中的相同包长度的连续数据包的数量。在这种情况下,当接收到不同包长度的数据包时,调制解调器可以遍历(traverse to)新的NL字段(例如,公共报头中的新的行)。结果是,一些行的NL字段可以包括在公共报头中的相同的包长度。
在一些方面中,校验和错误位图字段可以包括一个或多个比特(例如,48比特等),该一个或多个比特可以被用来标识调制解调器检测到校验和错误所针对的数据包(例如,TCP分段或UDP包)。在一些方面中,校验和错误位图字段可以跨公共报头中的NL字段分布。例如,对于校验和错误位图字段,8比特和/或另一数量的比特可以被包括在每个NL字段中。
如上文所指示的,图8是作为示例提供的。其他示例可以与相对于图8所描述的示例不同。
图9是图示根据本公开的各个方面的传送环元素格式和完成事件格式的示例900的图。
在一些方面中,设备的处理器(例如,上文结合图3描述的设备和/或另一设备)可以使用传送环元素格式来经由传送环向该设备的调制解调器提供传送环元素。传送环元素可以标识针对与合并接口通道或非合并接口通道相关联的缓冲区的一个或多个参数。
如图9所示,传送环元素格式可以包括多个字段,诸如长度字段(LEN)、指针字段(PTR)、类型字段(TYPE)、软件缓存文件字段(Cookie)等。在一些方面中,传送环元素格式可以包括更多或更少数量的字段,可以包括不同的字段等。在一些方面中,长度字段可以被用来指示缓冲区的可用大小(例如,以比特、字节、千字节等为单位)。
在一些方面中,指针字段可以被用来指向缓冲区的数据缓冲区地址,该数据缓冲区地址可以是逻辑地址、物理地址等。在一些方面中,类型字段可以标识传送环元素的传送环元素类型。例如,类型字段可以指示传送环元素是合并元素(例如,以指示缓冲区将要被分配给合并接口通道。在一些方面中,软件缓存文件字段可以标识与缓冲区相关联的软件缓存文件,当向处理器提供完成事件时,调制解调器将使用该软件缓存文件。软件缓存文件可以标识缓冲区,可以标识缓冲区的地址等。
在一些方面中,设备的调制解调器可以使用完成事件格式以经由事件环向处理器提供完成事件。完成事件格式可以标识针对与缓冲区相关联的完成事件的一个或多个参数。
如图9所示,完成事件格式可以包括多个字段,诸如软件缓存文件字段(缓存文件)、完成状态字段(CODE)、上下文标识符字段(例如,合并上下文标识符(CCID))、长度字段(LEN)、信道标识符字段(CHID)、类型字段(TYPE)等。在一些方面中,完成事件格式可以包括更多或更少数量的字段,可以包括不同的字段等。
在一些方面中,软件缓存文件字段可以被用来标识与完成事件相关联的缓冲区的软件缓存文件。在一些方面中,完成状态字段可以指示数据包到缓冲区的传送是否完成。在一些方面中,上下文标识符字段可以标识与缓冲区相关联的上下文标识符。在一些方面中,长度字段可以被用来指示缓冲区的可用大小的量,该量的缓冲区的可用大小可以被用来将数据包存储在缓冲器区中(例如,以比特、字节、千字节等为单位)。在一些方面中,信道标识符字段可以指示缓冲区被分配所至的接口通道(例如,合并接口通道、非合并接口通道等)的信道标识符。在一些方面中,类型字段可以指示完成事件的完成事件类型(例如,合并完成事件、未经合并的数据包传送完成事件等)。
如上文所指示的,图9是作为示例提供的。其他示例可以与相对于图9所描述的示例不同。
图10是图示根据本公开的各个方面的例如由设备执行的示例过程1000的图。示例过程1000是设备(例如,UE 120、BS 110、网络控制器130等)执行与TCP和/或UDP接收卸载相关联的操作的示例。
如图10所示,在一些方面中,过程1000可以包括在设备的调制解调器处接收多个数据包(框1010)。例如,如上所述,设备(例如,使用发送处理器220、接收处理器238、控制器/处理器240、存储器242、通信单元244、接收处理器258、发送处理器264、控制器/处理器280、存储器282、控制器/处理器290、存储器292、通信单元294等)可以在设备的调制解调器处接收多个数据包。
如图10中进一步示出的,在一些方面中,过程1000可以包括在设备的调制解调器处将多个数据包中的第一子集的有效载荷分组到容器中(框1020)。例如,如上所述,设备(例如,使用发送处理器220、接收处理器238、控制器/处理器240、存储器242、通信单元244、接收处理器258、发送处理器264、控制器/处理器280、存储器282、控制器/处理器290、存储器292、通信单元294等)可以在设备的调制解调器处将多个数据包中的第一子集的有效载荷分组到容器中。
如图10中进一步示出的,在一些方面中,过程1000可以包括经由第一接口通道并且使用调制解调器将该容器传送到设备的处理器(框1030)。例如,如上所述,设备(例如,使用发送处理器220、接收处理器238、控制器/处理器240、存储器242、通信单元244、接收处理器258、发送处理器264、控制器/处理器280、存储器282、控制器/处理器290、存储器292、通信单元294等)可以经由第一接口通道并且使用调制解调器将该容器传送到设备的处理器。
如图10中进一步示出的,在一些方面中,过程1000可以包括经由第二接口通道并且使用调制解调器将多个数据包中的第二子集传送到处理器(框1040)。例如,如上所述,设备(例如,使用发送处理器220、接收处理器238、控制器/处理器240、存储器242、通信单元244、接收处理器258、发送处理器264、控制器/处理器280、存储器282、控制器/处理器290、存储器292、通信单元294等)可以经由第二接口通道并且使用调制解调器将多个数据包中的第二子集传送到处理器。
过程1000可以包括附加方面,诸如下文描述的和/或与本文别处描述的一个或多个其他过程相结合描述的任何单个方面或多个方面的任何组合。
在第一方面中,多个数据包中的第一子集包括与相同的TCP串相关联的多个TCP分段,并且容器包括具有合并帧报头的经合并的TCP帧,或者多个数据包中的第一子集包括与相同的UDP流相关联的多个UDP包,并且容器包括具有单个UDP报头的经分组的UDP数据报。在第二方面中,单独地或与第一方面相组合,与容器相关联的报头包括以下中至少一者:标识与容器相关联的上下文标识符的上下文标识符字段,标识对于多个数据包中的任一数据包是否发生校验和错误的校验和有效性字段,标识对于多个数据包中的任一数据包是否发生校验和错误的校验和错误位图字段,多个数据包中的与校验和错误相关联的一个或多个数据包,多个包数目包长度(NL)字段,或者标识被包括在报头中的NL字段的数量的NL数量字段。
在第三方面中,单独地或与第一方面和第二方面中的一个或多个方面相组合,第一接口通道与第一传送环相关联,第二接口通道与第二传送环相关联,并且第一传送环和第二传送环是不同的传送环。在第四方面中,单独地或与第一方面至第三方面中的一个或多个方面相组合,过程1000还包括:经由第一传送环并且使用处理器向调制解调器提供与第一接口通道相关联的一个或多个第一缓冲区的指示,以及经由第二传送环并且使用处理器向调制解调器提供与第二接口通道相关联的一个或多个第二缓冲区的指示。
在第五方面中,单独地或与第一方面至第四方面中的一个或多个方面相组合,经由第一接口通道传送容器包括:至少部分地基于经由第一传送环的一个或多个第一缓冲区的指示来将容器存储在一个或多个第一缓冲区中,并且经由第二接口通道传送多个数据包中的第二子集包括:至少部分地基于经由第二传送环的一个或多个第二缓冲区的指示来将多个数据包中的第二子集存储在一个或多个第二缓冲区中。在第六方面中,单独地或与第一方面至第五方面中的一个或多个方面相组合,容器被包括在将要经由第一接口通道传送到处理器的多个容器中,并且经由第一接口通道传送容器包括按至少部分地基于多个容器的各自的活动水平的顺序将多个容器中的每个容器存储在一个或多个第一缓冲区的相应的缓冲区中。
在第七方面中,单独地或与第一方面至第六方面中的一个或多个方面相组合,过程1000还包括:使用处理器向调制解调器提供与第一接口通道相关联的一个或多个缓冲区的指示,该一个或多个缓冲区的指示是经由第一传送环在合并传送环元素中提供的,并且该一个或多个缓冲区的指示包括与一个或多个缓冲区中的每个缓冲区相关联的相应的软件缓存文件的指示。在第八方面中,单独地或与第一方面至第七方面中的一个或多个方面相组合,经由第一接口通道传送容器包括:跨一个或多个缓冲区存储容器,以及使用调制解调器并且至少部分地基于存储容器来向处理器提供合并完成事件的指示,该合并完成事件的指示是经由与第一接口通道和第二接口通道相关联的共享事件环来提供的,并且该合并完成事件的指示标识与一个或多个缓冲区中的每个缓冲区相关联的相应的软件缓存文件和与该容器相关联的合并上下文标识符。
在第九方面中,单独地或与第一方面至第八方面中的一个或多个方面相组合,传送多个数据包中的第二子集包括:使用调制解调器向处理器提供完成事件的指示,该完成事件的指示是经由共享事件环来提供的,并且合并完成事件的指示和该完成事件的指示是至少部分地基于容器和多个数据包中的第二子集被传送到处理器所按照的顺序在事件环中排序的。在第十方面中,单独地或与第一方面至第九方面中的一个或多个方面相组合,跨一个或多个缓冲区存储容器包括:将容器存储在一个或多个缓冲区的第一缓冲区中直到第一缓冲区被填满并且至少部分地基于第一缓冲区被填满来关闭第一缓冲区,生成与第一缓冲区相关联的事件代码和上下文标识符,以及将容器的剩余部分存储在一个或多个缓冲区中的第二缓冲区中。在第十一方面中,单独地或与第一方面至第十方面中的一个或多个方面相组合,容器被包括在多个容器中,并且经由第一接口通道传送容器包括经由第一接口通道传送多个容器,多个容器中的每个容器与相应的TCP连接或UDP连接相关联。
在第十二方面中,单独地或与第一方面至第十一方面中的一个或多个方面相组合,将多个数据包中的第一子集的有效载荷分组到容器中包括:确定多个数据包中的第一子集能够被合并,以及至少部分地基于确定多个数据包中的第一子集能够被合并来将多个数据包中的第一子集的有效载荷分组到容器中,并且经由第二接口通道传送多个数据包中的第二子集包括:确定多个数据包中的第二子集是不能够被合并的,以及至少部分地基于确定多个数据包中的第二子集是不能够被合并的来经由第二接口通道传送多个数据包中的第二子集。在第十三方面中,单独地或与第一方面至第十二方面中的一个或多个方面相组合,将多个数据包中的第一子集的有效载荷分组到容器中包括:关闭容器,以及生成与该容器将要被存储所位于的缓冲区相关联的事件代码和上下文标识符。
在第十四方面中,单独地或与第一方面至第十三方面中的一个或多个方面相组合,关闭容器包括以下中至少一者:标识被包括在多个数据包中的第一子集的数据包中的指示容器将要被关闭的标志,或者确定多个数据包中的第二子集的数据包是不能够与多个数据包中的第一子集合并的。在第十五方面中,单独地或与第一方面至第十四方面中的一个或多个方面相组合,过程1000还包括:确定经由第一接口通道传送另一容器,并且至少部分地基于确定经由第一接口通道传送另一容器来关闭第二接口通道。在第十六方面中,单独地或与第一方面至第十五方面中的一个或多个方面相组合,处理器是应用处理器或主机处理器,并且与第一接口通道和第二接口通道相关联的接口是外围组件互连快速接口、通用串行总线接口、串行ATA接口或以太网接口。
在第十七方面中,单独地或与第一方面至第十六方面中的一个或多个方面相组合,多个数据包中的第一子集与相同的串或相同的流相关联,并且容器包括与相同的串或相同的流相关联的多个报头。在第十八方面中,单独地或与第一方面至第十七方面中的一个或多个方面相组合,将多个数据包中的第一子集的有效载荷分组到容器中包括:在调制解调器处并且从处理器接收针对容器的阈值字节大小或针对容器的阈值数据包数量中的至少一者的指示,以及在调制解调器处至少部分地基于针对容器的阈值字节大小或针对容器的阈值数据包数量中的至少一者来将多个数据包中的第一子集的有效载荷分组到容器中。在第十九方面中,单独地或与第一方面至第十八方面中的一个或多个方面相组合,多个数据包中的第一子集包括:多个TCP分段、多个UDP包、多个以太网帧或者多个未经结构化的包。
尽管图10示出了过程1000的示例框,但是在一些方面中,过程1000可以包括不同于图10中所描绘的那些框的附加的框、更少的框、不同的框或不同布置的框。附加地或另选地,过程1000的各框中的两个或更多个框可以并行执行。
前面的公开内容提供了说明和描述,但不旨在穷举或将各方面限制于所公开的精确形式。可以根据上文公开内容进行修改和变化,或者可以从各方面的实践中获取修改和变化。
如本文所用,术语“组件”旨在被广义地解释为硬件、固件和/或硬件和软件的组合。如本文所用,处理器在硬件、固件和/或硬件和软件的组合中被实施。
如本文所用,取决于上下文,满足阈值可以指大于阈值、大于或等于阈值、小于阈值、小于或等于阈值、等于阈值、不等于阈值等的值。
显然,本文描述的系统和/或方法可以以不同形式的硬件、固件和/或硬件和软件的组合实施。被用来实施这些系统和/或方法的实际专用控制硬件或软件代码不限于这些方面。因此,本文描述的系统和/或方法的操作和行为没有参考特定软件代码——应当理解,软件和硬件可以被设计成至少部分地基于本文描述来实施系统和/或方法。
即使在权利要求中列举或在说明书中公开了特征的具体组合,这些组合并不旨在限制各个方面的公开内容。事实上,这些特征中的许多特征可以以在权利要求中不具体列举和/或说明书中不公开的方式被组合。尽管下文列出的每个从属权利要求可以直接取决于仅一条权利要求,但是各个方面的公开内容包括每个从属权利要求与该权利要求集合中的所有其他权利要求相组合。提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖a、b、c、a-b、a-c、b-c和a-b-c,以及与成倍的相同元素的任何组合(例如,a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c和c-c-c或a、b和c的任何其他排序)。
除非明确描述,否则本文使用的元件、动作或指令不应被解释为关键或必要的元件、动作或指令。同样,如本文所用,冠词“一”和“一个”旨在包括一个或多个项目,并且可以与“一个或多个”互换使用。此外,如本文所用,术语“集合”和“组”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关项目与不相关项目的组合等),并且可以与“一个或多个”互换使用。当旨在指仅一个项目时,使用短语“仅一个”或类似短语。同样,如本文所用,术语“有”、“具有”、“具”等旨在指开放式术语。此外,短语“基于”旨在意指“至少部分地基于”,除非另有明确说明。
Claims (30)
1.一种由设备执行的无线通信的方法,包括:
在所述设备的调制解调器处接收多个数据包;
在所述设备的所述调制解调器处将所述多个数据包中的第一子集的有效载荷分组到容器中;
经由第一接口通道并且使用所述调制解调器向所述设备的处理器传送所述容器;以及
经由第二接口通道并且使用所述调制解调器向所述处理器传送所述多个数据包中的第二子集。
2.根据权利要求1所述的方法,其中,所述多个数据包中的所述第一子集包括:
与相同的TCP串相关联的多个传输控制协议(TCP)分段,
其中,所述容器包括:
具有合并帧报头的经合并的TCP帧;或者
其中,所述多个数据包中的所述第一子集包括:
与相同的UDP流相关联的多个用户数据报协议(UDP)包,
其中,所述容器包括:
具有单个UDP报头的经分组的UDP数据报。
3.根据权利要求1所述的方法,其中,与所述容器相关联的报头包括以下中至少一者:
标识与所述容器相关联的上下文标识符的上下文标识符字段,
标识对于所述多个数据包中的任一数据包是否发生校验和错误的校验和有效性字段,
如果对于所述多个数据包中的任一数据包发生了校验和错误,则标识所述多个数据包中与该校验和错误相关联的一个或多个数据包的校验和错误位图字段,
多个包数目包长度(NL)字段,
其中,每个NL字段标识具有相同包长度的所述多个数据包的数量,或者
标识被包括在所述报头中的NL字段的数量的NL数量字段。
4.根据权利要求1所述的方法,其中,所述第一接口通道与第一传送环相关联;
其中,所述第二接口通道与第二传送环相关联;以及
其中,所述第一传送环和所述第二传送环是不同的传送环。
5.根据权利要求4所述的方法,还包括:
经由所述第一传送环并且使用所述处理器向所述调制解调器提供与所述第一接口通道相关联的一个或多个第一缓冲区的指示;以及
经由所述第二传送环并且使用所述处理器向所述调制解调器提供与所述第二接口通道相关联的一个或多个第二缓冲区的指示。
6.根据权利要求5所述的方法,其中,经由所述第一接口通道传送所述容器包括:
至少部分地基于经由所述第一传送环的所述一个或多个第一缓冲区的所述指示来将所述容器存储在所述一个或多个第一缓冲区中;以及
其中,经由第二接口通道传送所述多个数据包中的所述第二子集包括:
至少部分地基于经由所述第二传送环的所述一个或多个第二缓冲区的所述指示来将所述多个数据包中的所述第二子集存储在所述一个或多个第二缓冲区中。
7.根据权利要求5所述的方法,其中,所述容器被包括在将要经由所述第一接口通道传送到所述处理器的多个容器中;以及
其中,经由所述第一接口通道传送所述容器包括:
将所述多个容器中的每个容器按至少部分地基于所述多个容器的各自的活动水平的顺序存储在所述一个或多个第一缓冲区的相应的缓冲区中。
8.根据权利要求4所述的方法,还包括:
使用所述处理器向所述调制解调器提供与所述第一接口通道相关联的一个或多个缓冲区的指示,
其中,所述一个或多个缓冲区的所述指示是经由所述第一传送环在合并传送环元素中提供的,以及
其中,所述一个或多个缓冲区的所述指示包括:
与所述一个或多个缓冲区中的每个缓冲区相关联的相应的软件缓存文件的指示。
9.根据权利要求8所述的方法,其中,经由所述第一接口通道传送所述容器包括:
跨所述一个或多个缓冲区存储所述容器;以及
使用所述调制解调器并且至少部分地基于存储所述容器来向所述处理器提供合并完成事件的指示,
其中,所述合并完成事件的所述指示是经由与所述第一接口通道和所述第二接口通道相关联的共享事件环来提供的,以及
其中,所述合并完成事件的所述指示标识与所述一个或多个缓冲区中的每个缓冲区相关联的所述相应的软件缓存文件和与所述容器相关联的合并上下文标识符。
10.根据权利要求9所述的方法,其中,传送所述多个数据包中的所述第二子集包括:
使用所述调制解调器向所述处理器提供完成事件的指示,
其中,所述完成事件的所述指示是经由所述共享事件环来提供的,以及
其中,所述合并完成事件的所述指示和所述完成事件的所述指示是至少部分地基于所述容器和所述多个数据包中的第二子集被传送到所述处理器所按照的顺序在所述事件环中排序的。
11.根据权利要求9所述的方法,其中,跨所述一个或多个缓冲区存储所述容器包括:
将所述容器存储在所述一个或多个缓冲区中的第一缓冲区中直到所述第一缓冲区被填满;
至少部分地基于所述第一缓冲区被填满来关闭所述第一缓冲区;
生成与所述第一缓冲区相关联的事件代码和上下文标识符;以及
将所述容器的剩余部分存储在所述一个或多个缓冲区中的第二缓冲区中。
12.根据权利要求1所述的方法,其中,所述容器被包括在多个容器中;以及
其中,经由所述第一接口通道传送所述容器包括:
经由所述第一接口通道传送所述多个容器,
其中,所述多个容器中的每个容器与相应的传输控制协议(TCP)连接或用户数据报协议(UDP)连接相关联。
13.根据权利要求1所述的方法,其中,将所述多个数据包中的所述第一子集的所述有效载荷分组到所述容器中包括:
确定所述多个数据包中的所述第一子集是能够被合并的;以及
至少部分地基于确定所述多个数据包中的所述第一子集是能够被合并的来将所述多个数据包中的所述第一子集的所述有效载荷分组到所述容器中;以及
其中,经由所述第二接口通道传送所述多个数据包中的所述第二子集包括:
确定所述多个数据包中的所述第二子集是不能够被合并的;以及
经由所述第二接口通道至少部分地基于确定所述多个数据包中的所述第二子集是不能够被合并的来传送所述多个数据包中的所述第二子集。
14.根据权利要求13所述的方法,其中,将所述多个数据包中的所述第一子集的所述有效载荷分组到所述容器中包括:
关闭所述容器;以及
生成与所述容器将要被存储所位于的缓冲区相关联的事件代码和上下文标识符。
15.根据权利要求14所述的方法,其中,关闭所述容器包括以下操作中的至少一个操作:
标识被包括在所述多个数据包中的所述第一子集的数据包中的指示所述容器将要被关闭的标志,或者
确定所述多个数据包中的所述第二子集的数据包是不能够与所述多个数据包中的所述第一子集合并的。
16.根据权利要求1所述的方法,还包括:
确定经由所述第一接口通道传送另一容器;以及
至少部分地基于确定经由所述第一接口通道传送所述另一容器来关闭所述第二接口通道。
17.根据权利要求1所述的方法,其中,所述处理器为:
应用处理器,或者
主机处理器;以及
其中,与所述第一接口通道和所述第二接口通道相关联的接口为:
外围组件互连快速接口,
通用串行总线接口,
串行ATA接口,或者
以太网接口。
18.根据权利要求1所述的方法,其中,所述多个数据包中的所述第一子集与相同的串或相同的流相关联;以及
所述容器包括与相同的串或相同的流相关联的多个报头。
19.根据权利要求1所述的方法,其中,将所述多个数据包中的所述第一子集的所述有效载荷分组到所述容器中包括:
在所述调制解调器处并且从所述处理器接收针对所述容器的阈值字节大小或针对所述容器的阈值数据包数量中的至少一者的指示;以及
在所述调制解调器处至少部分地基于针对所述容器的所述阈值字节大小或针对所述容器的所述阈值数据包数量中的至少一者来将所述多个数据包中的所述第一子集的所述有效载荷分组到所述容器中。
20.根据权利要求1所述的方法,其中,所述多个数据包中的所述第一子集包括:
多个传输控制协议(TCP)分段,
多个用户数据报协议(UDP)包,
多个以太网帧,或者
多个未经结构化的包。
21.一种用于无线通信的设备,包括:
存储器;以及
一个或多个处理器,所述一个或多个处理器可操作地耦合到所述存储器,所述存储器和所述一个或多个处理器被配置为:
在所述设备的调制解调器处接收多个数据包;
在所述设备的所述调制解调器处将所述多个数据包中的第一子集的有效载荷分组到容器中;
经由第一接口通道并且使用所述调制解调器向所述设备的处理器传送所述容器;以及
经由第二接口通道并且使用所述调制解调器向所述处理器传送所述多个数据包中的第二子集。
22.根据权利要求21所述的设备,其中,所述多个数据包中的所述第一子集包括:
与相同的TCP串相关联的多个传输控制协议(TCP)分段,
其中,所述容器包括:
具有合并帧报头的经合并的TCP帧;或者
其中,所述多个数据包中的所述第一子集包括:
与相同的UDP流相关联的多个用户数据报协议(UDP)包,
其中,所述容器包括:
具有单个UDP报头的经分组的UDP数据报。
23.根据权利要求21所述的设备,其中,所述多个数据包中的所述第一子集与相同的串或相同的流相关联;以及
所述容器包括与相同的串或相同的流相关联的多个报头。
24.根据权利要求21所述的设备,其中,所述一个或多个处理器在将所述多个数据包中的所述第一子集的所述有效载荷分组到所述容器中时被配置为:
在所述调制解调器处并且从所述处理器接收针对所述容器的阈值字节大小或针对所述容器的阈值数据包数量中的至少一者的指示;以及
在所述调制解调器处至少部分地基于针对所述容器的所述阈值字节大小或针对所述容器的所述阈值数据包数量中的至少一者来将所述多个数据包中的所述第一子集的所述有效载荷分组到所述容器中。
25.一种存储用于通信的一个或多个指令的非暂时性计算机可读介质,所述一个或多个指令包括:
当由设备的一个或多个处理器执行时使所述一个或多个处理器执行以下操作的一个或多个指令:
在所述设备的调制解调器处接收多个数据包;
在所述设备的所述调制解调器处将所述多个数据包中的第一子集的有效载荷分组到容器中;
经由第一接口通道并且使用所述调制解调器向所述设备的处理器传送所述容器;以及
经由第二接口通道并且使用所述调制解调器向所述处理器传送所述多个数据包中的第二子集。
26.根据权利要求25所述的非暂时性计算机可读介质,其中,所述多个数据包中的所述第一子集包括:
与相同的TCP串相关联的多个传输控制协议(TCP)分段,
其中,所述容器包括:
具有合并帧报头的经合并的TCP帧;或者
其中,所述多个数据包中的所述第一子集包括:
与相同的UDP流相关联的多个用户数据报协议(UDP)包,
其中,所述容器包括:
具有单个UDP报头的经分组的UDP数据报。
27.根据权利要求25所述的非暂时性计算机可读介质,其中,所述多个数据包中的所述第一子集与相同流相关联;以及
所述容器包括与相同的串或相同的流相关联的多个报头。
28.一种用于无线通信的装置,包括:
用于在所述装置的调制解调器处接收多个数据包的部件;
用于在所述装置的所述调制解调器处将所述多个数据包中的第一子集的有效载荷分组到容器中的部件;
用于经由第一接口通道并且使用所述调制解调器向所述装置的处理器传送所述容器的部件;以及
用于经由第二接口通道并且使用所述调制解调器向所述处理器传送所述多个数据包中的第二子集的部件。
29.根据权利要求28所述的装置,其中,所述多个数据包中的所述第一子集包括:
与相同的TCP串相关联的多个传输控制协议(TCP)分段,
其中,所述容器包括:
具有合并帧报头的经合并的TCP帧;或者
其中,所述多个数据包中的所述第一子集包括:
与相同的UDP流相关联的多个用户数据报协议(UDP)包,
其中,所述容器包括:
具有单个UDP报头的经分组的UDP数据报。
30.根据权利要求28所述的装置,其中,所述多个数据包中的所述第一子集与相同的串或相同的流相关联;以及
所述容器包括与相同的串或相同的流相关联的多个报头。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962879351P | 2019-07-26 | 2019-07-26 | |
US62/879,351 | 2019-07-26 | ||
US16/947,167 US11528641B2 (en) | 2019-07-26 | 2020-07-21 | Transmission control protocol (TCP) and/or user datagram protocol (UDP) receive offloading |
US16/947,167 | 2020-07-21 | ||
PCT/US2020/070311 WO2021022295A1 (en) | 2019-07-26 | 2020-07-24 | Transmission control protocol (tcp) and/or user datagram protocol (udp) receive offloading |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114208138A CN114208138A (zh) | 2022-03-18 |
CN114208138B true CN114208138B (zh) | 2024-02-20 |
Family
ID=74190526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080053770.6A Active CN114208138B (zh) | 2019-07-26 | 2020-07-24 | 传输控制协议(tcp)和/或用户数据报协议(udp)接收卸载 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11528641B2 (zh) |
EP (1) | EP4005179A1 (zh) |
JP (1) | JP2022542875A (zh) |
KR (1) | KR20220037446A (zh) |
CN (1) | CN114208138B (zh) |
BR (1) | BR112022000692A2 (zh) |
TW (1) | TW202112111A (zh) |
WO (1) | WO2021022295A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230102614A1 (en) * | 2021-09-27 | 2023-03-30 | Qualcomm Incorporated | Grouping data packets at a modem |
TWI779938B (zh) * | 2021-11-29 | 2022-10-01 | 瑞昱半導體股份有限公司 | 存取系統記憶體的方法及設置於網路卡上的處理電路 |
CN114615347B (zh) * | 2022-03-08 | 2024-03-12 | 上海哔哩哔哩科技有限公司 | 基于udp gso的数据传输方法、装置、计算机设备和存储介质 |
CN114615348B (zh) * | 2022-03-08 | 2024-03-12 | 上海哔哩哔哩科技有限公司 | 基于udp gso的数据传输方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8825900B1 (en) * | 2011-04-05 | 2014-09-02 | Nicira, Inc. | Method and apparatus for stateless transport layer tunneling |
CN107431567A (zh) * | 2015-03-02 | 2017-12-01 | 高通股份有限公司 | 用于信道状态信息探通和反馈的方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7284070B2 (en) | 1997-10-14 | 2007-10-16 | Alacritech, Inc. | TCP offload network interface device |
US7676814B2 (en) * | 2004-03-25 | 2010-03-09 | Globalfoundries Inc. | Four layer architecture for network device drivers |
US7620071B2 (en) | 2004-11-16 | 2009-11-17 | Intel Corporation | Packet coalescing |
US8311059B2 (en) | 2005-09-07 | 2012-11-13 | Emulex Design & Manufacturing Corporation | Receive coalescing and automatic acknowledge in network interface controller |
US20080198787A1 (en) * | 2007-02-15 | 2008-08-21 | Agentek, Inc. | Mobile Data Object Transmission Over Wireless Communication Networks Using UDP and Two Level Protocol |
US8103809B1 (en) * | 2009-01-16 | 2012-01-24 | F5 Networks, Inc. | Network devices with multiple direct memory access channels and methods thereof |
US8300641B1 (en) * | 2009-09-09 | 2012-10-30 | Amazon Technologies, Inc. | Leveraging physical network interface functionality for packet processing |
US8462780B2 (en) * | 2011-03-30 | 2013-06-11 | Amazon Technologies, Inc. | Offload device-based stateless packet processing |
WO2013102179A1 (en) * | 2011-12-30 | 2013-07-04 | Krause Edward A | High capacity network communication link using multiple cellular devices |
US10764781B2 (en) * | 2016-05-03 | 2020-09-01 | Qualcomm Incorporated | Systems and methods for reordering data received from a plurality of radio access technologies (RATs) |
US10212623B2 (en) * | 2016-12-28 | 2019-02-19 | Intel IP Corporation | Apparatus, system and method of packet coalescing |
US10447598B2 (en) | 2017-07-17 | 2019-10-15 | Qualcomm Incorporated | User datagram protocol (UDP) receive offloading |
US10645200B2 (en) * | 2017-08-16 | 2020-05-05 | Qualcomm Incorporated | Alternate acknowledgment (ACK) signals in a coalescing transmission control protocol/internet protocol (TCP/IP) system |
-
2020
- 2020-07-21 US US16/947,167 patent/US11528641B2/en active Active
- 2020-07-24 EP EP20754602.9A patent/EP4005179A1/en active Pending
- 2020-07-24 JP JP2022504248A patent/JP2022542875A/ja active Pending
- 2020-07-24 CN CN202080053770.6A patent/CN114208138B/zh active Active
- 2020-07-24 BR BR112022000692A patent/BR112022000692A2/pt unknown
- 2020-07-24 WO PCT/US2020/070311 patent/WO2021022295A1/en unknown
- 2020-07-24 KR KR1020227002044A patent/KR20220037446A/ko unknown
- 2020-07-27 TW TW109125284A patent/TW202112111A/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8825900B1 (en) * | 2011-04-05 | 2014-09-02 | Nicira, Inc. | Method and apparatus for stateless transport layer tunneling |
CN107431567A (zh) * | 2015-03-02 | 2017-12-01 | 高通股份有限公司 | 用于信道状态信息探通和反馈的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP4005179A1 (en) | 2022-06-01 |
WO2021022295A1 (en) | 2021-02-04 |
KR20220037446A (ko) | 2022-03-24 |
US11528641B2 (en) | 2022-12-13 |
TW202112111A (zh) | 2021-03-16 |
US20210029587A1 (en) | 2021-01-28 |
JP2022542875A (ja) | 2022-10-07 |
CN114208138A (zh) | 2022-03-18 |
BR112022000692A2 (pt) | 2022-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114208138B (zh) | 传输控制协议(tcp)和/或用户数据报协议(udp)接收卸载 | |
CN111344982B (zh) | 上行链路控制信息传输 | |
CN113196699B (zh) | 使用与准共址关系相关联的优先占用指示 | |
CN111418171B (zh) | 用于载波聚合的混合自动重传请求确认反馈的方法和装置 | |
CN114586296B (zh) | 用于无线通信的方法、装置和非暂时性计算机可读介质 | |
WO2021207246A1 (en) | Video aware communication with multiple transport blocks | |
WO2020146468A1 (en) | Hybrid automatic repeat request (harq) process partitioning | |
WO2021244380A1 (en) | Radio link control layer feedback reporting for rateless codes | |
US20230208601A1 (en) | Transport block descriptor for packet grouping | |
US11665584B2 (en) | Radio link control forward compatibility for multicast messages or broadcast messages | |
US20230246823A1 (en) | Lower layer security for groupcast communication | |
US20230102614A1 (en) | Grouping data packets at a modem | |
CN115023923B (zh) | 控制资源集预编码指示 | |
US20240048297A1 (en) | Hybrid automatic repeat request process space management for multi-cell scheduling | |
CN114467329B (zh) | 报头压缩和解压管理 | |
US20210204168A1 (en) | Reassembly of service data units for radio link control duplication | |
CN117981288A (zh) | 在调制解调器处对数据分组进行分类 | |
TW202324961A (zh) | 混合數位方案獨立載波聚合的無線電鏈路控制 | |
TW202249521A (zh) | 解決由於不同聚合位準的重疊的實體下行鏈路控制通道候選而產生的歧義 | |
CN115553061A (zh) | 非交织控制资源集的重复特定循环移位 |
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: 40070585 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |