数据封装方法与通信装置与流程

文档序号:20040766发布日期:2020-02-28 11:53阅读:248来源:国知局
数据封装方法与通信装置与流程

交叉引用

本发明要求如下优先权:编号为62/720,165,申请日为2018年8月21日的美国临时专利申请。上述美国临时专利申请在此一并作为参考。

本发明涉及一种数据封装方法与通信装置。特别地,本发明涉及在不使用额外网络资源情况下能够降低延迟的一种数据封装方法与通信装置。



背景技术:

除非另有说明,否则本部分中描述的方法不作为后面列出的权利要求书的先前技术,以及不因包含在本部分中而被认为是现有技术。

在长期演进(lte)系统的无线电链接控制(rlc)子层中实现的自动重传请求(automaticrepeat-request,arq)是数据链路层(l2)的发达机制,以确保数据传输完整性。一旦接收端的rlc实体重排(reorder)其接收封包并且发现某些封包丢失,则rlc实体将请求发送端重新发送该丢失封包,并且在收到该重新发送请求后,发送端将重新发送该丢失封包。

然而,arq会引起额外延迟。对于非实时服务,例如,http或ftp,该延迟不是问题。但对于实时服务,例如,在线游戏或volte,其对延迟是非常敏感的,并且在这些延迟敏感的实时应用中通常得放弃该笔丢失的封包,降低数据传输的效能(完整性)。

因此,改善先前技术是必需的。



技术实现要素:

因此,本发明提出一种数据封装方法与通信装置,能够在不使用额外网络资源情况下降低延迟,从而克服先前技术的缺点。

本发明实施例揭示应用于通信装置的数据封装方法,包含:发送包含多个第一数据内容的多个第一数据封包;存储该多个第一数据内容;获取第二数据封包的分配到的资源;将第二数据内容插入该第二数据封包;在将该第二数据内容插入该第二数据封包后,确定该第二数据封包中是否存在任何剩余资源;响应于在将该第二数据内容插入该第二数据封包后该第二数据封包中存在剩余资源,从该多个第一数据内容选择一部分;将该所选部分插入该第二数据封包;以及发送包含该第二数据内容与该所选部分的该第二数据封包;其中,先于该第二数据封包,发送该多个第一数据封包。

本发明实施例揭示一种用于数据封装的通信装置,包含:缓冲器;处理电路;存储电路,配置存储程序代码,以指示该处理电路执行下列操作:发送包含多个第一数据内容的多个第一数据封包;存储该多个第一数据内容;获取第二数据封包的分配到的资源;将第二数据内容插入该第二数据封包;在将该第二数据内容插入该第二数据封包后,确定该第二数据封包中是否存在任何剩余资源;响应于在将该第二数据内容插入该第二数据封包后该第二数据封包中存在剩余资源,从该多个第一数据内容选择一部分;将该所选部分插入该第二数据封包;以及发送包含该第二数据内容与该所选部分的该第二数据封包;其中,先于该第二数据封包,发送该多个第一数据封包。

其它实施方式和优点在下面的详细描述中描述。该发明内容并不打算限定本发明。本发明由权利要求书限定。

附图说明

所包含的附图用以提供对发明的进一步理解,以及被并入且构成本发明的一部分。附图示出了发明的实施方式,并与说明书一起用于解释本发明的原理。可以理解的是,为了清楚地说明本发明的概念,附图不一定按比例绘制,所示出的一些组件可以以超出实际实施方式中尺寸的比例示出。

图1描述了本技术中rlc层与mac层之间交互,以及macpdu的帧结构。

图2是依据本发明实施例的通信装置的示意图。

图3是依据本发明实施例的数据封装进程的示意图。

图4依据本发明实施例描述了为当前数据封包选择部分的操作的示意图。

图5描述了被动与主动数据重传的时序进程的示意图。

具体实施方式

本文公开了所要求保护的主题的详细实施例和实施方式。然而,应该理解的是,所公开的实施例和实施方式仅仅是对所要求保护的主题的说明,其可以以各种形式实现。然而,本发明可以以许多不同的形式实施,并且不应该被解释为限于本文阐述的示例性实施例和实施方式。相反的是,提供该等示例性实施例和实施方式,使得本发明的描述是全面的和完整的,并且将向所属技术领域具有通常知识者充分传达本发明的范围。在下文描述中,可以省略公知特征和技术的细节以避免不必要地模糊所呈现的实施例和实施方式。

下面列出缩写词,应用于本发明的所有描述、权利要求书与附图。

ack确认信息

arq自动重传请求

asic特定应用集成电路

enb进化节点b

gnb下一代节点b

lte长期演进

mac介质访问控制

nvm非挥发性存储器

pdu协议数据单元

ram随机存取存储器

rlc无线电连结控制

rom只读存储器

sdu服务数据单元

sn序列号

soc片上系统

ue用户设备

ul上行链路

volte长期演进语音承载

确保数据传输完整性的机制,arq会引起额外延迟。此外,arq机制请求的数据重发将消耗额外网络资源,该网络资源是有限的,由该enb上的所有用户共享。

与被动数据重发相比,在本发明中,主动执行数据重发,预期能降低arq引起的延迟。此外,通过使用macpdu中的剩余资源/字段(field),执行主动数据重发,这在先前技术中通常设置填充(padding)。换句话说,取代在macpdu中的剩余字段设置填充(如先前技术所示),本发明在不使用额外网络资源情况下主动使用剩余字段重发数据。

图1描述了本技术中rlc层与mac层之间交互,以及macpdu的帧结构。在图1的左侧部分,rlc层(包含一个或多个rlc实体)可从上层接收rlcsdu,并且向mac层(或mac实体)发送rlcpdu。通过逻辑信道,mac层接收macsdu,从而将macsdu打包(pack)入macpdu,并且将macpdu发送至下层(例如,物理(phy)层)。在图1的右侧部分,基于最大数据长度(maximumdatalength,mdl)生成macpdu。macpdu可包含mac报头hdr、零个或少许mac控制单元ce以及零个或数量不等的macsdu。在图1描述的实施例中,最大数据长度mdl是100个比特,并且报头hdr占据5个比特,控制单元ce占据2个比特,第一sdu(标为sdu1)占据21个比特并且第二sdu(标为sdu2)占据44个比特。在将hdr、ce、sdu1与sdu2封装/打包入macpdu后,如果不存在其他待发送的macsdu并且仍存在剩余资源/字段,则填充macpdu以实现最大数据长度mdl。该填充(在图1所示实施例中占据28个比特,标为pad)将在目标接收端装置中被丢弃。

值得注意的是,位于剩余字段的该填充仅实现了最大数据长度mdl,但并未对网络数据传输有任何贡献。为了降低arq引起的延迟,本发明的基本概念是通过使用当前macpdu中剩余字段,重发先前发送过的封包数据内容,其中,该先前发送过的封包数据内容是在先前macpdu中已经发送/打包的内容,可将该数据内容理解为macsdu或rlcpdu。本实例中,在不使用额外网络资源情况下,主动执行数据重发,从而有效改善网络资源应用。

在通信装置中实施上述概念。图2是依据本发明实施例的通信装置10的示意图。在实施例中,通信装置10可工作在通信系统并且与其对应(通信)装置进行通信,其中,该通信系统可为lte系统或指向lte系统。可将通信装置称为ue,其可为手机、平板计算机或类似装置。在这种情况下,对应(通信)装置可为基站(例如,微基站或毫微微基站),或等效地,节点b(例如,enb或gnb)。

通信装置10包含处理电路12、存储电路14与缓冲器16。通信装置10可为asic或soc芯片。缓冲器16可为配置存储先前发送/封装数据(例如,先前发送/封装macsdu)的挥发性存储器,例如,ram。存储电路14可为配置存储程序代码140的nvm,例如,rom或闪存,以指示处理电路12执行数据封装进程20,即,将数据封装进程20集成为程序代码140。在图3中描述数据封装进程20,并且表明生成当前数据封包dpn、对应时间(或时间索引)n的数据封包dp。可将数据封包dp理解为,例如,macpdu。

图3是依据本发明实施例的数据封装进程的示意图。在图3中,处理电路12发送多个第一/先前数据封包dpn-k,…,dpn-1(步骤200),其中,第一/先前数据封包dpn-k,…,dpn-1分别包含多个第一/先前数据内容dncn-k,…,dncn-1。处理电路12将多个第一/先前数据内容dncn-k,…,dncn-1存储在缓冲器16(步骤202)。处理电路12获取第二/当前数据封包dpn的分配到的资源(步骤204)。处理电路12将第二/当前数据内容dncn插入第二/当前数据封包dpn(步骤206)。在将第二/当前数据内容dncn插入第二/当前数据封包dpn后,处理电路12确定在第二/当前数据封包dpn是否存在剩余资源(步骤208)。如果答案为是,响应于在第二/当前数据封包dpn存在剩余资源,处理电路12从多个第一/先前数据内容dncn-k,…,dncn-1中选择部分sp(步骤210)。接着,处理电路12将所选部分sp插入第二/当前数据封包dpn(步骤212)并且发送包含第二/当前数据内容dncn与所选部分sp的第二/当前数据封包dpn(步骤214)。

在步骤200中,分别对应时间索引(n-k),…,(n-1)的先前数据封包dpn-k,…,dpn-1是先于当前(第二)数据封包dpn发送的数据封包(例如,macpdu)。可将在进程20中“已发送数据封包”的描述称为“传输至下层的已封装数据封包”。可将称为macsdu或rlcpdu的数据内容dncn-k,…,dncn-1插入先前数据封包dpn-k,…,dpn-1。值得注意的是,时间索引(n-k),…,(n-1)先于时间索引n的时间,且相邻索引的时间差不必等间隔。

在步骤202中,将多个先前数据内容dncn-k,…,dncn-1存储在缓冲器16中。在实施例中,先前数据内容dncn-k,…,dncn-1的每一个可包含已发送(或传输)至下层的多个数据单元。在本发明中,例如,可将数据单元理解为macsdu或rlcpdu。

在步骤204中,处理电路12取得用于当前数据封包dpn的分配到的资源。例如,可将分配到的资源称为最大数据量或最大数据长度mdl,其可由当前数据封包dpn承载。对于作为ue的通信装置,处理电路12可从由enb或gnb提供的ul授权,得知最大数据长度mdl。

在步骤206中,处理电路12将当前数据内容dncn插入当前数据封包dpn。在实施例中,不限制地,处理电路12可执行逻辑信道优先权(logicalchannelprioritization,lcp)操作,以取得当前数据内容dncn,其中,lcp操作与mac标准(例如,3gppts36.321)相关。依据3gppts36.321,直到所有逻辑信道皆已无数据,或已达最大数据长度mdl中任意一个条件发生前,执行lcp操作。换句话说,在步骤206中,直到不存在待传输的macsdu或者在当前数据封包dpn无剩余资源,处理电路12将持续插入macsdu。

在通过执行lcp操作将当前数据内容dncn插入当前数据封包dpn之后,在步骤208,处理电路12将确定当前数据封包dpn是否剩余任何资源。在实施例中,处理电路12可确定当前数据内容dncn加上mac报头hdr与mac控制单元ce的数据长度是否小于最大数据长度mdl。如果答案为是(当前数据内容dncn加上mac报头hdr与mac控制单元ce的数据长度小于最大数据长度mdl),处理电路12将确定当前数据封包dpn存在剩余资源,并且进入步骤210。例如,对于图1描述的macpdu,处理电路12将取得mac报头hdr、mac控制单元ce与(当前)数据内容的数据长度为72(=5+2+21+44)比特,其小于100比特(图1中macpdu的最大数据长度mdl)。其意味着在图1中macpdu存在剩余资源。因此,对于图1所示macpdu情况,处理电路12将继续执行步骤210。

当处理电路12确定在当前数据封包dpn存在剩余资源时,在步骤210中,处理电路12将从数据内容dncn-k,…,dncn-1选择部分sp。在实施例中,处理电路12可依照arq选择接收端尚未确认收到的部分sp,毕竟重发接收端已确认收到的数据单元不具有实际改善,因此处理电路12可基于dncn-k,…,dncn-1中的数据单元,选择接收端尚未确认收到的部分sp。在实施例中,确认接收端是否收到特定数据单元,仰赖于通信装置10是否接收到该特定数据单元对应的ack。

更优化地,处理电路12可选择部分sp,从而使得所选部分sp包含尚未收到ack的最早数据单元(全部或部分),其在通信装置10的rlc实体(其可包含程序代码140)中,对应到tx窗口内拥有最小rlcsn的数据单元。背后的基本原理是对应通信装置(例如,enb)中rlc实体接收端将依照rlcsn排序其收到的封包,并且检查是否丢失任何封包,通信装置10尽快重发尚未被ack的最早数据单元,有机会避免初始化重发请求(由于arq),这是相当合理的。

另一方面,由于每组数据内容dncn-k,…,dncn-1可能包含一个或多个尚未被ack的数据单元,处理电路12可选择最早的数据单元作为部分sp。如前所述,所选部分sp为最早数据单元的全部或一部分,取决于当前数据封包dpn中剩余的资源大小。最早数据单元的一部分,可为最早数据单元的开头部分、中间部分或结尾部分。

在步骤212中,处理电路12将所选部分sp插在第二/当前数据封包dpn中第二/当前数据内容dncn后面。在实施例中,当前数据内容dncn与所选部分sp可完全占据当前数据封包dpn,使其完全不存在填充(padding)。

在步骤212中,处理单元12可发送(或传输)包含第二/当前数据内容dncn与所选部分sp的第二/当前数据封包dpn至下层。

返回步骤210,未限制如何选择数据单元的细节。在实施例中,可利用3gppts36.322(lte的rlc协议标准)指明的状态变量vt(a)与vt(s),得知哪个数据单元是尚未被ack的最早数据单元。状态变量vt(a)代表tx窗口中尚未被完整ack的第一个rlcsn,并且状态变量vt(s)代表下一个新数据单元所带有的rlcsn。可引入状态变量vt(f)代表在步骤210的下一次执行中待选择相应数据单元的rlcsn。

图4描述假设在分别插入数据内容dncn,…,dncn+5后存在剩余资源,为数据封包dpn,…,dpn+5选择部分sp的系列操作。

在图4中,具有小于vt(s)的sn的空白方块为等待被ack的rlcpdu。更明白地说,这些空白方块代表尚未被ack的数据单元。具有阴影以及字母“a”的方块代表已被ack的rlcpdu。具有斜线(向前斜线或向后斜线)的方块代表完整复制到macpdu剩余字段的rlcpdu,而具有斜线的矩形则代表复制到macpdu剩余字段的rlcpdu片段。

在时刻t=t0,状态变量vt(a)与vt(f)关系为vt(f)=vt(a)=1。在时刻t0与t1之间收到一笔ul授权,选择sn=1的rlcpdu复制到当前数据封包dpn的剩余资源,因此在t=t1将sn=1的rlcpdu标上斜线,且由于sn=2的rlcpdu已收到ack,故将状态变量vt(f)直接改为vt(f)=3。在时刻t1与t2之间收到一笔ul授权,将sn=3的rlcpdu的一部分复制到当前数据封包dpn+1的剩余资源,状态变量vt(f)保持为vt(f)=3。

在时刻t2与t3之间,通信装置10收到sn=1、sn=3与sn=4的rlcpdu对应的ack。因此在时刻t=t3,状态变量vt(a)与vt(f)变为vt(f)=vt(a)=5。

在时刻t3与t4之间收到一笔ul授权,将sn=5的rlcpdu的开头部分复制到当前数据封包dpn+2的剩余资源。在时刻t4与t5之间收到另一笔ul授权,将sn=5的rlcpdu的结尾部分以及sn=6的rlcpdu复制到当前数据封包dpn+3的剩余资源。因此在时刻t=t5,状态变量vt(f)变为vt(f)=7。

在时刻t5与t6之间收到一笔ul授权,发送承载sn=7的新rlcpdu的当前数据封包dpn+4。因此在时刻t=t6,状态变量vt(s)变为vt(s)=8。在时刻t6与t7之间收到一笔ul授权,将sn=7的rlcpdu复制到当前数据封包dpn+5的剩余资源。因此在时刻t=t7,状态变量vt(f)变为vt(f)=8。

图5显示延迟降低的效果。在图5a中,分别在时刻t_0与t_1发送数据封包dp0与dp1,其中,数据封包dp0与dp1可为时间索引0与1标示的macpdu。数据封包dp0承载sn=0标示的rlcpdu(以下简称“rlcpdu0”)。数据封包dp1承载sn=1与sn=2标示的rlcpdu(以下简称“rlcpdu1~2”)并且包含填充。在发现rlcpdu0丢失情况下,对应enb将请求ue重发rlcpdu0。接着,在时刻t_2,ue被动发送包含rlcpdu0的数据封包dp2(时间索引2标示)。碍于enb在收到rlcpdu1后才会发现rlcpdu0丢失,图5a所述方案会有大延迟,在真实网络中可能高于100毫秒(ms)。

相比之下,在图5b中,通信装置10可实现ue在收到rlcpdu0对应的arq重发请求前,直接使用数据封包dp1的剩余资源,主动重发尚未被ack的rlcpdu0,有效降低延迟。在真实网络中,图5b中的小延迟可为3~5毫秒。

附带地,对于图5b所述方案,如果通信装置10在t_1(在该时刻,通信装置10主动重发rlcpdu0)后的一小段时间收到rlcpdu0的重发请求,则通信装置10可选择忽略rlcpdu0的重发请求。换句话说,假设在时刻t_1,通信装置10重发rlcpdu0,如果在时刻(t_1+δ)通信装置10收到rlcpdu0的重发请求,并且处理电路12确定δ是小于特定门坎值,例如10毫秒,则通信装置10可选择不再次重发rlcpdu0。

很显然,利用上述实施例描述本发明的概念,精通本领域者可相应进行修改替换,并不限于此。例如,在步骤210,处理电路12不必然选择尚未被ack的最早数据单元做为部分sp。例如,处理电路12可选择最新发送过的数据单元做为部分sp,或者从数据内容dncn-k,…,dncn-1随机选择尚未被ack的数据单元。只要所选部分sp包含已发送但尚未被ack的数据单元的一部分,便满足本发明的需求。

此外,所选部分sp可包含用户面数据或控制面信令的数据单元,或两者兼具。

在实施例中,程序代码140可被包含在通信装置10的mac实体中。在另一实施例中,程序代码140可被包含在通信装置10的rlc实体中。

综上,本发明使用当前数据封包中的剩余资源,主动重发尚未收到arqack的数据单元,从而在不使用额外网络资源情况下降低延迟。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟习此技术者,在不脱离本发明的精神和范围内,当可作些许更动与润饰,因此本发明的保护范围当视后附的权利要求书所界定者为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1