CN115088300A - 用于在介质访问控制层对分组数据单元进行排队的技术 - Google Patents
用于在介质访问控制层对分组数据单元进行排队的技术 Download PDFInfo
- Publication number
- CN115088300A CN115088300A CN202080093717.9A CN202080093717A CN115088300A CN 115088300 A CN115088300 A CN 115088300A CN 202080093717 A CN202080093717 A CN 202080093717A CN 115088300 A CN115088300 A CN 115088300A
- Authority
- CN
- China
- Prior art keywords
- user data
- layer
- data packet
- pdcp
- sub
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000015654 memory Effects 0.000 claims description 55
- 238000004891 communication Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 7
- 230000006978 adaptation Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 9
- 238000013459 approach Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003370 grooming effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
- H04W28/065—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/562—Attaching a time tag to queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/02—Data link layer protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本文介绍了用于改进对到达5G新空口系统的第2层的子层的未分段的数据包进行排序的传统多步方法的系统和方法。当满足以下两个条件时,在子层应用本文所教导的技术:第一,数据包是未分段的;第二,数据包是用户数据包而不是控制数据包。如果满足这两个条件,则实现子层的硬件对PDCP报头进行解码以确定用户数据包的序列号。通过该序列号,硬件将序列号映射到队列位置,并将用户数据包插入到该队列位置。这些技术可以应用于多个数据包,以形成连续编号的用户数据包的序列,该序列可以被转发到第2层的另一子层。
Description
相关申请的交叉引用
本申请要求2020年1月23日提交的发明名称为“通过MAC的前瞻性方案加快PDCP重排序”、申请号为62/964,810的美国临时专利申请的优先权,其全部内容并入本文。
技术领域
公开的教导涉及无线通信。更具体地,公开的教导涉及用于在无线电信系统(例如,第五代新空口(5th generation new radio,5G NR))的介质访问控制(medium accesscontrol,MAC)子层对分组数据单元(packet data unit,PDU)进行排序的技术。
背景技术
无线网络系统通常有两种通信路径:上行链路和下行链路。在上行链路期间,数据从移动站(例如,蜂窝电话)传输到基站(例如,蜂窝站点)。在下行链路期间,数据从基站传输到移动站。在上行链路和下行链路期间传输的数据包封装控制面上的控制数据和/或数据面上的用户数据。控制数据提供用于标识、选择、执行、或修改另一组数据的数据。用户数据包含要传输到基站或移动台的内容。
在数据面的下行链路中,无线接收器在多层协议栈的子层接收数据包。每个协议子层可以执行例如读取和删除报头、整理数据内容、或区分用户数据包和控制数据包等任务。在子层执行任务后,数据包被传送到执行其自身任务的另一子层。由此,通过分层的多层协议栈解析数据包。
发明内容
本文介绍了至少一种通过第五代新空口系统的协议栈来处理数据包的技术。例如,一种技术可以包括:实现数据链路层的子层(例如,介质访问控制)的硬件接收包括分组数据汇聚协议(packet data convergence protocol,PDCP)数据分组数据单元(PDU)报头的用户数据包。该子层对PDCP数据PDU报头进行解码以获得用户数据包的序列号。基于序列号,子层可以对用户数据包进行排队,以组装一组连续编号的用户数据包。可以将该组连续编号的用户数据包的至少一部分传送到数据链路层的另一子层。在另一示例中,用户数据包还可以包括无线链路控制(radio link control,RLC)报头。子层可以对RLC报头进行解码以确定用户数据包是未分段的。此外,子层可以对PDCP数据PDU报头进行解码以确定用户数据包不是控制数据包。
提供本发明内容是为了简介概念的选择,上述概念的选择在以下具体实施方式中进一步描述。本发明内容无意标识所要求保护的主题的关键特征或必要特征,也无意用于限制所要求保护的主题的范围。根据附图和具体实施方式,公开的实施例的其他方面将是显而易见的。
附图说明
本实施例以示例的方式示出,并且无意受限于以下附图中的图。
图1示出了处理数据包的第五代新空口系统的协议栈。
图2示出了在介质访问控制(MAC)子层对分组数据汇聚协议(PDCP)数据分组数据单元(PDU)进行排序的处理。
图3是示出了用于在MAC子层对PDCP数据PDU进行排序的方法的流程图。
图4是示出了以用于执行公开技术的各方面的计算机系统的示例形式的机器的图解表示的框图。
具体实施方式
在电信领域,5G网络是使用蜂窝无线电波在移动设备和本地天线之间进行通信的数字蜂窝网络。本地天线通过高带宽光纤或无线回程连接与电话网和互联网连接。移动设备和本地天线之间的通信由分层结构管理,每一层都有自己的协议栈。5G新空口系统的协议栈可以分为主机层和介质层。介质层包括第1层至第3层,主机层包括第4层至第7层。
第1层通常称为物理层,其功能是在物理介质上发送和接收原始比特流。第2层是数据链路层,在由第1层连接的两个节点之间执行数据帧的可靠传输。第3层是网络层,通过寻址、路由、以及控制流量来管理多节点网络。其余的层通常与节点之间的数据传输、交换、表示、以及应用相关。
更具体地,5G新空口(NR)系统的第2层包含协议栈,该协议栈包括四个子层:介质访问控制(MAC)、无线链路控制(RLC)、分组数据汇聚协议(PDCP)、以及服务数据适配协议(service data adaptation protocol,SDAP)。MAC子层控制负责与传输介质的交互的硬件。除其他任务外,RLC子层对数据包进行分段和大小调整,以传输到另一子层。PDCP子层将用户数据和控制数据传送到其他子层,同时对用户数据和控制数据进行压缩和加密。SDAP子层负责跨空中接口的服务质量流处理。
在第2层的数据面的下行链路中,两种类型的数据包可以到达MAC子层:控制数据和用户数据(也称为数据分组数据单元、PDCP数据分组数据单元、或用户数据包)。控制数据用于标识、选择、执行、或修改另一组数据。用户数据包含有效载荷(例如,文本消息、图片、视频)。由于协议子层对每种类型的数据执行不同的任务,因此需要区分用户数据和控制数据。具体地,需要对用户数据包进行排序。
可以基于用户数据包的序列号(sequence number,SN)来对用户数据包进行排序。在传输期间,由于传输时数据丢失或数据包在网络中多路传输,用户数据包的顺序可能会被打乱。因此,需要对用户数据包进行排序,以使用户数据包以与其被发送时相同的顺序到达最终用户。例如,如果词语或字母无序,则文本消息的接收器将无法理解该文本消息。在另一示例中,如果像素被随机放置,则将无法识别图像。为了避免这样的错误,需要对用户数据包进行排序。
图1示出了处理数据包的5G NR系统的协议栈。如图所示,协议栈100包括5G NR系统的第2层的子层。协议栈100包括MAC子层102、RLC子层104、PDCP子层106、以及SDAP子层108。如图1所示,这些子层按顺序排列。特别地,MAC子层是第2层中最低的子层,下一个子层是RLC子层,然后是PDCP子层,再然后是最接近第3层的SDAP子层。
每个子层示为具有多个用户数据包110-1至110-3,这些用户数据包具有相关联的报头和服务数据单元(service data unit,SDU)。通常,SDU封装后续子层的报头和SDU。例如,MAC SDU封装RLC报头和RLC SDU。随后,RLC SDU封装PDCP报头和PDCP PDU。PDCP SDU封装SDAP报头和SDAP SDU。
为了对用户数据包110-1至110-3进行排序,将用户数据包110-1至110-3的SN映射到存储器位置。例如,用户数据包110-1的序列号可以是15,该序列号15可以映射到与SN 15相关联的存储器位置。用于对用户数据包110-1至110-3进行排序的传统方法(通过将用户数据包110-1至110-3映射到存储器位置)包括涉及第2层的每个子层的三步处理。
第一,实现MAC子层102的硬件从用户数据包110-1读取并移除MAC报头,并通知RLC子层104用户数据包110-1正在传入。第二,实现RLC子层104的硬件从用户数据包110-1读取并移除RLC报头,并将用户数据包110-1路由到PDCP子层106。第三,PDCP子层106接收用户数据包110-1,解析PDCP报头以获得用户数据包110-1的SN,并基于SN将用户数据包110-1插入到对应的存储器位置。在将用户数据包110-1插入到对应的存储器位置之后,可以将用户数据包110-2和用户数据包110-3插入到其对应的存储器位置以形成序列。一旦序列形成,可以将用户数据包110-1至110-3发送到SDAP子层108。
此外,当用户数据包110-1至110-3到达MAC子层102时,这些用户数据包可能是未分段的或分段的。用户数据包的RLC报头包括指示用户数据包是分段还是未分段的信息。例如,用户数据包110-1可以从MAC子层102到达RLC子层104。然后实现RLC子层104的硬件可以读取用户数据包110-1的RLC报头以确定用户数据包110-1是分段的。因为用户数据包110-1是分段的,所以PDCP子层108可能无需在用户数据包110-1到达PDCP子层108时对用户数据包110-1进行排序。
或者,实现RLC子层104的硬件可以基于读取用户数据包110-2的RLC报头来确定用户数据包110-2是未分段的。由于用户数据包110-2是未分段的,因此PDCP子层108可以读取用户数据包110-2的PDCP报头以确定其SN,将该SN映射到存储器位置,并将用户数据包110-2插入到存储器位置。
此外,对于每个新到达的用户数据包,PDCP子层106将用户数据包映射到对应的存储器位置。传统的方法是将新到达的用户数据包的SN与之前插入的每个用户数据包的SN进行比较,以确定新到达的用户数据包的SN对应的存储器位置。例如,当第十个用户数据包到达时,PDCP子层106可能正存储了九个用户数据包。九个用户数据包的SN可以是从21到29。新到达的用户数据包的SN可以是20。因此,在传统方法中,从SN为29的用户数据包开始,将新到达的用户数据包的SN与每个用户数据包的SN进行比较。通过该处理,新到达的用户数据包最终将被插入到与SN为21的用户数据包相邻的存储器位置。这样的逐步处理无法高效地使用每个协议层的硬件能力,也无法高效地使用总线周期和功率来对用户数据包进行排序。
因此,在向SDAP子层108传输之前,传统多步方法花费时间(例如,总线周期)和功率来对用户数据包进行排序。时间和功率是5G新空口系统的宝贵资源。因此,需要提供减少由传统多步方法引起的时间和功率消耗的方法。
本文介绍了用于改进对未分段的数据包进行排序的传统多步方法的技术。公开的实施例使MAC子层能够接收未分段的数据包并将用户数据包的有序序列从MAC子层直接发送到PDCP子层。特别地,公开的实施例使用实现MAC子层的硬件来执行之前由多个连续子层执行的任务。当满足两个准则时,触发在MAC子层的处理。第一,实现MAC子层的硬件可以对RLC报头进行解码以确定数据包是否是未分段的,第二,实现MAC子层的硬件对PDCP报头进行解码以确定数据包是否是用户数据包。如果满足这两个准则,则实现MAC子层的硬件可以对PDCP报头进行解码以确定用户数据包的SN。随后,实现MAC子层的硬件可以将该SN与存储器位置(本文也称为时隙(slot))匹配。然后可以将该用户数据包插入到存储器位置,以用于随后传送到协议栈的另一子层(例如,SDAP子层)。在一些情况下,可以基于多个数据包的序列号将多个数据包插入到时隙的有序序列中,并将这些数据包作为有序数据包的序列传送到SDAP子层。
图2示出了在MAC子层对PDCP数据PDU序列进行排序的处理。沿着包括时间T0、T1、T2、T3、以及T4的时间线200示出该处理。时间线200描绘当用户数据包到达时在MAC子层发生的事件。特别地,图2包括在每个时间实例处的用户数据包的序列的布置。在T0,SN为110至116的用户数据包的序列被插入到对应于这些用户数据包的SN的存储器位置。因此,这些用户数据包被转发到SDAP子层。此外,在T0,SN为117的数据包到达MAC子层102。
在执行本文描述的用于将用户数据包的有序序列发送到PDCP子层的技术之前,实现MAC子层的硬件分析用户数据包以确定用户数据包是否满足两个准则。第一,硬件对RLC报头进行解码以确定用户数据包是未分段的(例如,不是有序序列)。第二,硬件对PDCP报头进行解码以确定用户数据包是用户数据而不是控制数据。在这两个检查之后,如果硬件确定用户数据包既是未分段的又是用户数据包,则硬件可以触发本文描述的技术。
例如,数据包可以到达MAC子层。实现MAC子层的硬件可以确定数据包是否满足这两个准则。该硬件可以通过对RLC报头进行解码来确定数据包是分段的;在这种情况下,数据包以本领域已知的方式进行。在另一种情况下,硬件可以确定数据包是未分段的,但是在对PDCP报头进行解码之后,硬件可能确定数据包是控制数据包。同样,数据包将以本领域已知的方式进行。在另一种情况下,如果硬件确定数据包既是未分段的又是用户数据包,则可以发起本文描述的技术。
然后,实现MAC子层的硬件对PDCP报头进行解码以确定用户数据包的SN。通过该SN信息,MAC子层将SN映射到存储器位置,并将用户数据包插入到存储器位置。例如,用户数据包可以到达MAC子层。然后,MAC子层可以对PDCP报头进行解码以确定用户数据包的SN是30。通过该SN信息,MAC子层可以在存储器中创建与SN 30相关联的时隙,并将用户数据包插入到存储器时隙中。因此,当该用户数据包到达PDCP子层时,PDCP子层无需浪费总线周期来对该用户数据包相对于其他用户数据包进行排序。例如,接下来的用户数据包的SN可以是31和32。因此,MAC子层可以直接将用户数据包插入到相关联的存储器时隙中,并以有序序列将这些用户数据包发送到PDCP子层。这里,例如,SN为30的用户数据包可以插入在第一存储器位置,SN为31的用户数据包可以插入在第二相邻存储器位置,并且SN为32的用户数据包可以插入在第三存储器位置。
在一些实施例中,用户数据包可以存储在本地存储器或外部存储器中。因为与外部存储器相比,本地存储器没有大容量,所以基于需要高效使用本地存储器来决定用户数据包存储的位置。因此,可以更高效地将本地存储器的有限容量用于准备发送到SDAP子层的用户数据包。例如,在T0,SN 117是需要转发到SDAP子层的下一个数据包。因此,该数据包可以存储在本地存储器中。
在所示的示例中,在T0,由于确定已经以有序序列放置了最小数量的用户数据包,因此SN为110至116的用户数据包序列可以被转发到SDAP子层。例如在协议栈的开发过程中,可以预先编程用户数据包的上述最小数量。例如,有序的用户数据包的最小数量可以是7。因此,无需等待SN为117的用户数据包即可以将上述序列转发到SDAP子层。或者,最小数量可以是8,在这种情况下,系统将等待,直到SN为117的用户数据包到达。在一些实施例中,MAC子层将用户数据包直接转发到SDAP子层。例如,当存在如在T0中的用户数据包序列(例如,SN 110到SN 116)时,MAC子层可以将用户数据包直接转发到SDAP子层。或者,可以将数据包转发到PDCP子层。
在一些实施例中,在被转发到SDAP子层之前,可能不需要有序的用户数据包的完整序列。如果单个用户数据包的SN是先前转发的序列之后的下一个SN,则该单个用户数据包可以被转发到SDAP子层。例如,在T1,SN为117的用户数据包被转发到SDAP子层。SN 117在序列中是先前转发的用户数据包(例如,SN 116)之后的下一个。
在所示的示例中,MAC子层在存储器中为丢失的用户数据包创建时隙。例如,在T1,SN为117的用户数据包已经被转发到SDAP子层,并且下一个要到达的用户数据包的SN为121。因此,MAC子层创建从SN 118至SN 121的时隙,在与SN 121相关联的时隙处插入新到达的用户数据包,并将其余的时隙118、119、以及120留空。此外,由于存在空时隙,因此可以将SN为121的数据包存储在外部存储器中,以避免在等待接收对应于空时隙的用户数据包时使用本地存储器。
在T2,更多的乱序用户数据包到达。类似于T1,MAC子层102可以为从SN 118至SN129的整个序列创建时隙。在序列中,一些时隙可以用用户数据包填充,而其他时隙是空的。MAC子层可以知道空时隙,并且不将时隙的序列转发到另一子层。在一些实施例中,可以根据与空时隙相关联的SN来决定转发还是不转发具有空时隙的序列。例如,如果与较小且相邻的SN相关联的时隙为空,则MAC子层可以决定不转发数据包序列。例如,在T2,与SN 118相关联的时隙为空;因此,不转发与SN 119至121相关联的时隙。在一些实施例中,如果空时隙与较高且相邻的SN相关联,则可以将用户数据包序列转发到另一子层。
在T3,SN为122的用户数据包被插入到相关联的空时隙中,以形成从SN 119至SN123的用户数据包序列。然而,与SN 118相关联的用户数据包尚未到达。因为与较小且相邻的SN(例如,SN118)相关联的时隙仍为空,所以MAC子层可以决定不转发该用户数据包序列。此外,SN为129的用户数据包已经被插入到时隙中,但该用户数据包未被转发到另一子层。这可能是因为该时隙与其他已填充的时隙不是连续的,或者该时隙不是相对于被转发的用户数据包的先前序列的下一个SN。
在一些实施例中,形成序列的用户数据包可以继续存储在外部存储器中。在T3,SN为122的用户数据包存储在外部存储器中,即使该用户数据包与相邻的用户数据包形成序列。MAC子层106可以决定这样做,因为直到SN为118的用户数据包到达,序列才会被转发。因此,因为本地存储器的容量有限,所以将SN为122的用户数据包存储在外部存储器更为高效。
在T4,SN为118的用户数据包仍未到达。MAC子层使用定时器来决定何时放弃等待丢失的用户数据包(例如,SN 118)。定时器可以是递减定时器,对于每个总线周期,该定时器从预先编程的值开始并递减。例如,递减定时器可以被编程为从起始值2开始倒数。对于每个总线周期,该定时器可以减1。例如,当存在两个或多于两个有序的用户数据包的序列时,在先前转发的序列和未转发的序列之间仅缺少一个用户数据包时(例如,SN 118),或出于其他类似原因,可以启动定时器。在图2中,例如,递减定时器可以在T2开始,起始值为2。定时器可能在T3减小1,在T4又减小1。在T4,定时器达到0,并且SN为118的用户数据包还未到达。因此,MAC子层102可以确定SN为118的用户数据包永久丢失,并将SN为119至123的用户数据包转发到SDAP子层。
在一些实施例中,定时器可以是具有预先编程的最大值的递增定时器。例如,MAC子层可以被编程为等待十个总线周期,然后才将丢失的用户数据包视为永久丢失。在一些实施例中,定时器的起始值或结束值可以取决于丢失的用户数据包的数量。例如,每个丢失的用户数据包可以等价于两个总线周期的等待时间。因此,如果在先前转发的序列和当前序列之间丢失了三个用户数据包,则递减定时器将从6开始,而递增定时器将从0开始并计数到6。
在一些实施例中,丢失的用户数据包(例如,SN 118)可能在定时器已经达到0并且相邻用户数据包已经被转发之后到达。在这种情况下,例如,MAC子层可以在该用户数据包到达时转发该用户数据包,将该用户数据包存储在外部存储器或本地存储器中,将该用户数据包视为永久丢失,或其他类似的选项。在转发用户数据包并确定SN为118的用户数据包永久丢失之后,MAC子层继续接收对应于下一组时隙(例如,SN 124至128)的用户数据包。
图3是示出了用于在MAC子层对PDCP数据PDU进行排序的方法的流程图。可以由5G新空口系统在数据链路层(例如,第2层)的MAC子层实现图2所示的方法。例如,该系统可以是包括处理器和存储器的手持移动设备。存储器可以存储指令,当被执行时,上述指令可以使处理器执行图2所示的方法。存储器可以是可经由通信接口与处理器通信的外部存储器或本地存储器。
在302,系统接收用户数据包(例如,PDCP数据PDU)。在一些实施例中,系统是实现协议栈的子层(例如,MAC子层)的硬件。在一些实施例中,系统可以接收多个数据包。每个数据包可以包括例如PDCP报头、RLC报头、以及PDCP数据PDU。在304,系统确定用户数据包是未分段的还是分段的。为此,系统对用户数据包的RLC报头进行解码。如果用户数据包是分段的,则该方法终止。相反,如果用户数据包是未分段的,则系统进行到306。
在306,系统确定用户数据包是否是控制数据包。为此,系统对用户数据包的PDCP报头进行解码。这可以包括区分控制数据和用户数据。如果用户数据包是控制数据包,则该方法终止。或者,如果用户数据包不是控制数据包,则系统进行到308。
在308,系统对用户数据包的PDCP报头进行解码以获得用户数据包的序列号。在310,系统根据解码的序列号对用户数据包进行排队。对用户数据包进行排队可以包括将一组连续队列位置中的队列位置映射到上述序列号。例如,队列是可按顺序检索的存储数据行或序列。因此,队列位置是队列中的位置。在一些实施例中,队列位置可以是设备内的存储器位置的队列或序列中的一个设备存储器位置。在一些实施例中,系统可以将多个队列位置映射到多个用户数据包的序列号。对用户数据包进行排队还可以包括将用户数据包放置在映射到数据包的序列号的队列位置。在一些实施例中,通过用用户数据包填充队列位置,系统可以形成一组连续编号的用户数据包。在一些实施例中,系统可能没有接收到该组连续队列位置中的每个位置的用户数据包。然而,系统可以将连续的序列号映射到连续的队列位置。在这种情况下,在将连续编号的用户数据包放置在队列位置之后,然后系统将形成一组连续编号的用户数据包的至少一部分。
在一些实施例中,系统可以接收序列号与先前的用户数据包的序列号不连续的新用户数据包。当出现这种情况时,系统可以基于新用户数据包的序列号将新用户数据包映射到队列位置。此外,系统可以确定在新用户数据包和先前用户数据包之间存在至少一个中间队列位置。此外,第二用户数据包和先前用户数据包可以形成一组连续队列位置,该组连续队列位置包括不具有用户数据包的中间队列位置和这两个用户数据包。
在一些实施例中,系统可以确定两组连续编号的用户数据包之间的队列位置为空。与当存在由空队列位置分隔的单个用户数据包时类似,系统仍然可以形成一组连续队列位置,该组连续队列位置包括两组连续编号的用户数据包和介于这两组连续编号的用户数据包之间的空队列位置。
在一些实施例中,当在已经放置在队列位置中的两个用户数据包之间存在空队列位置时,系统可以将放置的用户数据包存储在外部存储器中。在一些实施例中,当在一组连续队列位置中存在未用用户数据包填充的队列位置时,系统可以启动定时器。定时器随后可以与处理器就何时进行操作通信。在一些实施例中,系统可以基于空队列位置的数量或在空队列位置序列中的位置不启动定时器。例如,如果在用用户数据包填充的多组连续队列位置之间有两个或多于两个空队列位置,系统可以不启动定时器。在另一示例中,如果空位置是被填充的一组连续队列位置中的倒数第二个队列位置,则系统可以启动定时器。如果定时器在空队列位置被用户数据包填充之前到期,则系统可以进行到312。如果空队列位置在定时器到期之前被填充,则系统可以进行到312。
在312,系统将连续编号的用户数据包的至少一部分传送到数据链路层的另一子层(例如,SDAP子层)。在一些实施例中,该另一子层可以从RLC子层接收用户数据包。在一些实施例中,系统可以接收序列号与先前传送的一组用户数据包连续的新用户数据包。在这种情况下,系统可以将新用户数据包单独地传送到另一子层。在一些实施例中,在传送该组连续编号的用户数据包之前,系统可以将用户数据包存储在本地存储器中。在传送到另一子层后,方法完成。
图4是示出了以用于执行公开技术的各方面的计算机系统的示例形式的机器的图解表示的框图。计算系统400可以是5G NR系统、5G NR系统的组件、服务器计算机、客户端计算机、个人计算机(personal computer,PC)、用户设备、平板PC、膝上型计算机、个人数字助理(personal digital assistant,PDA)、蜂窝电话、iPhone、iPad、黑莓、处理器、电话、web设备、网络路由器、交换机或桥接器、控制台、手持控制台、(手持)游戏设备、音乐播放器、任何便携式、移动、手持设备、可穿戴设备、或能够执行一组指令(顺序或其他方式)的任何机器,该组指令指定由该机器采取的动作。
计算系统400可以包括各自连接到互连412的一个或多个中央处理单元(“处理器”)402、存储器404、输入/输出设备406(例如,键盘和定点设备、触摸设备、显示设备)、存储设备408(例如,磁盘驱动器)、以及网络适配器410(例如,网络接口)。互连412示为表示由适当的桥接器、适配器、或控制器连接的任何一个或多个单独的物理总线和/或点到点连接的抽象。因此,互连412可以包括例如系统总线、外设组件互连(peripheral componentinterconnect,PCI)总线、或PCI-Express总线、HyperTransport总线或工业标准结构(industry standard architecture,ISA)总线、小型计算机系统接口(small computersystem interface,SCSI)总线、通用串行总线(universal serial bus,USB)、IIC(I2C)总线、或电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)标准1394总线(例如,Firewire)。
存储器404和存储设备408是可以存储实现各种实施例的至少一部分的指令的计算机可读存储介质。此外,可以经由数据传输介质(例如,通信链路上的信号)存储或传输数据结构和消息结构。可以使用各种通信链路(例如,互联网、局域网、广域网、或点对点拨号连接)。因此,计算机可读介质可以包括计算机可读存储介质(例如,非暂时性介质)和计算机可读传输介质。
存储在存储器404中的指令可以实现为软件和/或固件,以对处理器402进行编程以执行上述动作。在一些实施例中,可以通过计算系统400(例如,经由网络适配器410)从远程系统下载这样的软件或固件,以将这样的软件或固件最初提供给计算系统400。
本文所介绍的各种实施例可以由例如可编程电路(例如,一个或多个用软件和/或固件编程的微处理器)来实现,或完全由专用硬连线电路(例如,不可编程电路)来实现,或以这些形式的组合来实现。专用硬连线电路可以是例如一个或多个专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmablelogic device,PLD)、现场可编程门阵列(field-programmable gate array,FPGA)等形式。
结论
本文阐述的实施例表示使本领域技术人员能够实践这些实施例的必要信息,并给出了实践实施例的最佳模式。在根据附图阅读说明书时,本领域技术人员将理解本公开的概念,并将认识到这些概念的未在本文中特别说明的应用。这些概念和应用落入本公开和所附权利要求的范围。
上述说明书和附图是说明性的,且不应解释为是限制性的。描述了许多具体细节以提供对本公开的透彻理解。然而,在某些情况下,未描述众所周知的细节,以避免模糊说明书。此外,可以在不偏离实施例的范围的情况下进行各种修改。
如本文所使用的,除非另有具体说明,否则诸如“处理”、“计算”、“运算”、“确定”、“显示”、“生成”等术语是指计算机或类似的电子计算设备的动作和处理,上述计算机或类似的电子计算设备进行操作并将表示为计算机存储器或寄存器内的物理(电子)量的数据转换为类似地表示为计算机存储器、寄存器或其他这样的存储介质、传输介质、或显示设备内的物理量的其他数据。
本文指代的“一个实施例”或“实施例”意味着结合该实施例描述的特定特征、结构、或特性包括在本公开的至少一个实施例中。在说明书的各个地方出现的短语“在一个实施例中”并不一定都是指同一实施例,也不一定是与其他实施例相互排斥的单独的或替代的实施例。此外,描述了可以由一些实施例而不能由其他实施例展示的各种特征。类似地,描述了各种要求,这些要求可以是一些实施例但不是其他实施例的要求。
本说明书中使用的术语在本领域、在本公开的上下文中、以及在使用每个术语的特定上下文中通常具有其普遍含义。在上文或本说明书中的其他地方论述了用于描述本公开的某些术语,以向专业人员提供关于本公开的描述的附加指导。为了方便起见,某些术语可以被突出显示,例如使用斜体和/或引号标记。使用突出显示对术语的范围和含义没有影响;在同一上下文中,无论术语是否被突出显示,该术语的范围和含义是相同的。应理解,可以通过多种方式来阐述同一事物。
因此,对于本文讨论的任何一个或多个术语,可以使用替代语言和同义词,对于一个术语是否是本文阐述或讨论的,也没有任何特别的意义。提供了某些术语的同义词。列举一个或多个同义词不排除使用其他同义词。本说明书中任何地方的示例(包括本文所讨论的任何术语的示例)的使用,仅是说明性的,无意进一步限制本公开或任何示例术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。
上文给出了根据本公开实施例的仪器、装置、方法及其相关结果的示例,无意进一步限制本公开范围。注意,为了方便阅读,可以在示例中使用标题或副标题,这不应限制本公开的范围。除非另有定义,否则本文使用的所有技术术语和科学术语的含义与本公开所涉及的本领域普通技术人员通常理解的含义相同。若有冲突,则以本文件(包括定义)为准。
根据前述内容,将理解,为了说明,本文已经描述了本发明的具体实施例,但是可以在不偏离本发明的范围的情况下进行各种修改。因此,本发明只受所附权利要求限制。
Claims (20)
1.一种用于对用户数据包进行排序的方法,所述方法包括:
在数据链路层的子层的硬件接收包括分组数据汇聚协议(PDCP)数据分组数据单元(PDU)报头的用户数据包;
在所述子层对所述PDCP数据PDU报头进行解码以获得所述用户数据包的序列号;
在所述子层根据所述用户数据包的所述序列号对接收的所述用户数据包进行排队,以组装一组连续编号的用户数据包;以及
将所述一组连续编号的用户数据包的至少一部分从所述子层传送到所述数据链路层的另一子层。
2.根据权利要求1所述的方法,其中,所述用户数据包是第一用户数据包,所述PDCP数据PDU报头是第一PDCP数据PDU报头,并且所述序列号是第一序列号,所述方法还包括:
在所述子层将一组连续队列位置中的第一队列位置映射到所述第一用户数据包的所述第一序列号;
使得在所述子层所述第一用户数据包被放置在所述一组连续队列位置中的所述第一队列位置,
其中,所述一组连续队列位置中的每个队列位置与一组序列号中的序列号匹配;
在所述子层接收包括第二PDCP数据PDU报头的第二用户数据包;
在所述子层对所述第二PDCP数据PDU报头进行解码以获得所述第二用户数据包的第二序列号,
其中,所述第二序列号相对于所述第一序列号在数字上不连续;
在所述子层将所述一组连续队列位置中的第二队列位置映射到所述第二用户数据包的所述第二序列号;
在所述子层确定所述第一队列位置和所述第二队列位置之间的一个或多个中间队列位置;以及
使得在所述子层所述第二用户数据包被放置在所述一组连续队列位置中的映射的所述第二队列位置,
其中,所述一组连续队列位置包括所述第一用户数据包、所述第二用户数据包、以及所述一个或多个中间队列位置。
3.根据权利要求2所述的方法,还包括:
在确定所述一个或多个中间队列位置时启动定时器;
确定所述定时器已到期;以及
响应于所述定时器到期,无论所述一个或多个中间队列位置是否被任何用户数据包填充,将所述一组连续队列位置传送到所述子层。
4.根据权利要求2所述的方法,还包括,在将所述第二用户数据包插入映射的所述第二队列位置之前:
响应于确定所述一个或多个中间队列位置,将至少所述第二用户数据包存储在外部存储器。
5.根据权利要求1所述的方法,还包括:
在所述子层将一组连续队列位置中的队列位置映射到所述用户数据包的所述序列号;
使得在所述子层所述用户数据包被放置在所述一组连续队列位置中的映射的所述队列位置,
其中,所述一组连续队列位置中的每个队列位置与一组序列号中的序列号匹配;
确定所述一组连续队列位置中的第一队列位置不包括第一用户数据包,
其中,所述第一队列位置与所述一组序列号中的最低序列号匹配;
响应于确定所述第一队列位置不包括所述第一用户数据包,启动定时器;
确定所述定时器到期;以及
响应于所述定时器到期,将所述一组连续编号的用户数据包传送到所述另一子层。
6.根据权利要求1或5中任一项或多项所述的方法,其中,所述另一子层从无线链路控制(RLC)层接收所述一组连续编号的用户数据包。
7.根据权利要求1所述的方法,还包括:
响应于将所述一组连续编号的用户数据包的所述至少一部分传送到所述子层,接收与第二序列号相关联的第二用户数据包,所述第二序列号与所述一组连续编号的用户数据包在数字上连续;以及
将所述第二用户数据包传送到所述另一子层。
8.根据权利要求1至7中任一项或多项所述的方法,其中,所述子层是所述数据链路层的介质访问控制(MAC)子层,所述另一子层是所述数据链路层的服务数据适配协议(SDAP)子层。
9.根据权利要求1所述的方法,其中,所述用户数据包包括无线链路控制(RLC)报头,所述方法还包括,响应于接收所述用户数据包:
在所述子层对所述RLC报头进行解码以确定所述用户数据包是未分段的;以及
在所述子层对所述PDCP数据PDU报头进行解码以确定所述用户数据包不是控制数据包。
10.根据权利要求9所述的方法,其中,对所述PDCP数据PDU报头进行解码还包括:
区分控制数据和用户数据。
11.根据权利要求1所述的方法,其中,所述一组连续编号的用户数据包的所述至少一部分在传送到所述另一子层之前存储在本地存储器中。
12.一种方法,包括:
在数据链路层的子层的硬件接收多个数据包,
其中,每个数据包包括分组数据汇聚协议(PDCP)报头和无线链路控制(RLC)报头,以及
其中,每个数据包包括PDCP数据分组数据单元(PDU);
对于每个数据包:
在所述子层对所述PDCP报头进行解码以确定所述数据包包括数据PDU而不是控制PDU,
在所述子层对所述RLC报头进行解码以确定所述数据包包括未分段的PDCP数据PDU而不是分段的PDCP数据PDU,以及
响应于确定所述数据包包括所述未分段的PDCP数据PDU,在所述子层对所述PDCP报头进行解码以获得所述PDCP数据PDU的序列号;
在所述子层根据所述多个数据包的每个PDCP数据PDU的所述序列号对所述多个数据包进行排队,以组装一组连续编号的PDCP数据PDU的至少一部分;以及
使得所述数据链路层的另一子层在所述子层接收所述一组连续编号的PDCP数据PDU的所述至少一部分。
13.根据权利要求12所述的方法,其中,所述多个数据包是第一多个数据包,所述方法还包括:
在所述子层将第一组连续队列位置中的队列位置与所述第一多个数据包的每个PDCP数据PDU的所述序列号进行映射;
在所述子层用所述第一多个数据包的所述PDCP数据PDU填充所述第一组连续队列位置;
在所述子层接收第二多个数据包,
其中,所述第二多个数据包中的每个数据包包括对应的PDCP报头和对应的PDCP数据PDU;
对于所述第二多个数据包中的每个数据包:
在所述子层对所述对应的PDCP数据PDU进行解码以获得所述对应的PDCP数据PDU的所述序列号,以及
在所述子层确定所述序列号与所述一组连续编号的PDCP数据PDU在数字上不连续;在所述子层将第二组连续队列位置中的每个队列位置与所述第二多个数据包的每个对应的PDCP数据PDU的所述序列号进行映射;
在所述子层用所述第二多个数据包的所述对应的PDCP数据PDU填充所述第二组连续队列位置的至少一部分,
其中,所述第二组连续队列位置与所述第一组连续队列位置在数字上连续;以及
在所述子层确定所述第一组连续队列位置和所述第二组连续队列位置之间的一个或多个中间队列位置,
其中,所述中间队列位置不包括对应的PDCP数据PDU。
14.根据权利要求13所述的方法,还包括:
在确定所述一个或多个中间队列位置时启动定时器;
确定所述定时器已到期;以及
响应于所述定时器到期,将所述第二多个数据包的所述PDCP数据PDU传送到服务数据适配协议(SDAP)子层。
15.根据权利要求13或14中任一项或多项所述的方法,其中,所述一组连续队列位置中的第一队列位置不包括第一PDCP数据PDU,并且其中,所述第一队列位置在所述一组连续编号的队列位置中排倒数第二,所述方法还包括:
启动所述定时器;以及
响应于在所述定时器到期之前所述第一PDCP数据PDU被插入到所述第一队列位置,将所述一组连续编号的PDCP数据PDU传送到所述另一子层。
16.根据权利要求13所述的方法,其中,所述第一组连续队列位置与所述第二组连续队列位置在数字上不连续,所述方法还包括:
确定在所述第一组连续队列位置和所述第二组连续队列位置之间存在两个或多于两个中间队列位置;以及
将所述第一组连续队列位置传送到所述另一子层。
17.根据权利要求1至16中任一项或多项所述的方法,所述方法在数据面的下行链路期间在第五代新空口(5G-NR)系统的第2层执行。
18.一种系统,包括:
处理器;以及
存储器,其上存储有指令,当由所述处理器执行时,所述指令使所述系统:
在数据链路层的子层的硬件接收包括分组数据汇聚协议(PDCP)数据分组数据单元(PDU)报头的用户数据包;
在所述子层对所述PDCP数据PDU报头进行解码以获得所述用户数据包的序列号;
在所述子层根据所述用户数据包的解码的所述序列号对接收的所述用户数据包进行排队,以组装一组连续编号的用户数据包;以及
在所述子层将所述一组连续编号的用户数据包的至少一部分传送到所述数据链路层的另一子层。
19.根据权利要求18所述的系统,还包括:
通信接口,用于与外部存储器设备通信;以及
定时器,用于经由所述通信接口与所述处理器通信。
20.根据权利要求18所述的系统,还包括:
手持移动设备,所述手持移动设备包括所述处理器和所述存储器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062964810P | 2020-01-23 | 2020-01-23 | |
US62/964,810 | 2020-01-23 | ||
PCT/IB2020/058506 WO2021148856A1 (en) | 2020-01-23 | 2020-09-14 | Techniques for queueing packet data units at a medium access control layer |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115088300A true CN115088300A (zh) | 2022-09-20 |
Family
ID=76993140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080093717.9A Pending CN115088300A (zh) | 2020-01-23 | 2020-09-14 | 用于在介质访问控制层对分组数据单元进行排队的技术 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220360651A1 (zh) |
CN (1) | CN115088300A (zh) |
WO (1) | WO2021148856A1 (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI110831B (fi) * | 1999-12-31 | 2003-03-31 | Nokia Corp | Menetelmä tiedonsiirron tehostamiseksi ja tiedonsiirtoprotokolla |
US7639712B2 (en) * | 2006-01-06 | 2009-12-29 | Fujitsu Limited | Low-level media access layer processors with extension buses to high-level media access layers for network communications |
JP2009164695A (ja) * | 2007-12-28 | 2009-07-23 | Fujitsu Ltd | 無線通信システムおよび無線通信装置 |
EP2247020B1 (en) * | 2009-04-27 | 2012-01-04 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Technique for performing layer 2 processing using a distributed memory architecture |
US10027593B2 (en) * | 2014-01-28 | 2018-07-17 | Mediatek Singapore Pte. Ltd. | Methods for re-order PDCP packets |
CN104935413B (zh) * | 2014-03-19 | 2019-12-27 | 夏普株式会社 | 分组数据汇聚协议pdcp实体及其执行的方法 |
WO2015174658A1 (en) * | 2014-05-13 | 2015-11-19 | Lg Electronics Inc. | Method for reordering a packet data convergence protocol packet data unit at a user equipment in a dual connectivity system and device therefor |
CN108024374A (zh) * | 2016-11-03 | 2018-05-11 | 电信科学技术研究院 | 一种进行数据发送和接收的方法及系统 |
CN110622543A (zh) * | 2017-04-28 | 2019-12-27 | 瑞典爱立信有限公司 | 用于分组数据汇聚协议(pdcp)重新排序的网络节点及其中的方法 |
US20210345171A1 (en) * | 2018-12-21 | 2021-11-04 | Lg Electronics Inc. | Method and apparatus for transmitting data unit using dual header compression algorithm in wireless communication system |
US11108672B2 (en) * | 2019-07-15 | 2021-08-31 | Qualcomm Incorporated | Measuring and verifying layer 2 sustained downlink maximum data rate decoding performance |
-
2020
- 2020-09-14 WO PCT/IB2020/058506 patent/WO2021148856A1/en active Application Filing
- 2020-09-14 CN CN202080093717.9A patent/CN115088300A/zh active Pending
-
2022
- 2022-07-21 US US17/814,051 patent/US20220360651A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20220360651A1 (en) | 2022-11-10 |
WO2021148856A1 (en) | 2021-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI308011B (en) | Efficient memory allocation in a wireless transmit/receiver unit | |
CN1883212B (zh) | 在无线mac处理器中提供通过网络连接的数据流传输的方法和装置 | |
US7551638B2 (en) | Network interface with transmit frame descriptor reuse | |
US8953631B2 (en) | Interruption, at least in part, of frame transmission | |
EP2183890B1 (en) | Aggregate data frame generation | |
US20130080651A1 (en) | Message acceleration | |
US20050135415A1 (en) | System and method for supporting TCP out-of-order receive data using generic buffer | |
JP2010530675A (ja) | データ送信方法、データ受信方法、およびその装置 | |
JP2007208963A (ja) | パケット処理装置及びパケット処理方法 | |
US6760304B2 (en) | Apparatus and method for receive transport protocol termination | |
US20060101151A1 (en) | Methodology for fast file transfer protocol | |
US20060174058A1 (en) | Recirculation buffer for semantic processor | |
CN102439942B (zh) | 用于支持具有可变帧大小的链路上的较高数据速率的设备和方法 | |
WO2023240998A1 (zh) | 数据包处理方法、通信芯片及计算机设备 | |
US7969977B2 (en) | Processing apparatus and method for processing IP packets | |
JP2004128810A (ja) | 端末装置、端末装置内の優先処理方法、およびプログラム | |
US20080263171A1 (en) | Peripheral device that DMAS the same data to different locations in a computer | |
US10178018B2 (en) | Transmission and reception devices | |
EP1994695B1 (en) | Method and device for transmitting data packets | |
WO2023226716A1 (zh) | 数据包发送方法、转发节点、发送端及存储介质 | |
KR100655290B1 (ko) | 통신 시스템에서 송신 큐 데이터의 이동 방법 및 장치 | |
CN115088300A (zh) | 用于在介质访问控制层对分组数据单元进行排队的技术 | |
KR100974155B1 (ko) | 데이터 전송 에러 검사 방법 및 시스템과 네트워크인터페이스 컨트롤러 | |
CN111225423B (zh) | 一种数据前转的方法和设备 | |
JP4384951B2 (ja) | アクセスポイント管理装置およびアクセスポイントのソフトウェアバージョンアップ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230809 Address after: Room 01, 8th Floor (7th Floor, Property Registration Floor), No. 1, Lane 61, Shengxia Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai Applicant after: Zheku Technology (Shanghai) Co.,Ltd. Address before: California, USA Applicant before: Zheku Technology Co.,Ltd. |