无线链路控制乱序传输功能中协议数据单元数据处理方法

文档序号:7623056阅读:158来源:国知局
专利名称:无线链路控制乱序传输功能中协议数据单元数据处理方法
技术领域
本发明涉及移动网络多媒体组播广播业务(MBMS,MultimediaBroadcast/Multicast Service)中的无线链路控制(RLC,Radio Link Control)乱序传输(OSD,Out of Sequence Delivery)技术,特别是指一种RLC OSD功能中协议数据单元(PDU,Packet Data Unit)数据处理方法。
背景技术
现在,人们对移动通信的需求已不再满足于电话和消息业务,随着互联网(Internet)的迅猛发展,大量多媒体业务涌现出来,其中一些应用业务要求多个用户能同时接收相同数据,如视频点播、电视广播、视频会议、网上教育、互动游戏等。这些移动多媒体业务与一般的数据相比,具有数据量大、持续时间长、时延敏感等特点。目前的IP组播技术只适用于有线IP网络,不适用于移动网络,因为移动网络具有特定的网络结构、功能实体和无线接口,这些都与有线IP网络不同。
为了有效地利用移动网络资源,宽带码分多址(WCDMA)/全球移动通信系统(GSM)全球标准化组织在第三代伙伴计划(3GPP)中提出了多媒体组播广播业务(MBMS,Multimedia Broadcast/Multicast Service),在移动网络中提供一个数据源向多个用户发送数据的点到多点业务,实现网络资源共享,提高网络资源的利用率,尤其是空口接口资源。3GPP定义的MBMS不仅能实现纯文本低速率的消息类组播和广播,而且还能实现高速多媒体业务的组播和广播,这无疑顺应了未来移动数据发展的趋势。
参见图1所示,目前3GPP TS25.322协议中对于OSD功能的过程描述大致如下
步骤11~13,当从MAC子层收到一个PDU时,首先判断是否为收到的第一个PDU,如果是,初始化状态变量VR(UOH)为这一个PDU的序号减1(SN-1);步骤14,一般情况下收到的PDU不是第一个,则判断收到的PDU是否在窗口之内;步骤15~17,如果收到的PDU序号在接收窗口之内,即VR(UOH)≥SN>VR(UOH)-OSD_Window_Size,则判断是否有相同序号的PDU已被缓存,如果是,则删除当前PDU,否则,将当前PDU缓存起来;步骤18~23,如果收到的PDU序号在窗口之外,则将PDU缓存起来,更新VR(UOH)=SN,窗口随之移动,删除所有序号在窗口之外的PDU,如果计时器Timer_OSD启动,则停止计时器,重启定时器,更新VR(UDR)=VR(UDH)-DAR_Window_Size+1。
对于被缓存的PDU,考虑所有连续的PDU是否有“长度指示”表示完整的业务数据单元(SDU,Service Data Unit),如果有,将这些PDU重组成SDU,将这些RLC SDU通过无确认模式服务接入点(UM-SAP)送到上层,删除已恢复出SDU的PDU,含有特殊长度指示的PDU除外;如果计时器Timer_OSD超时,删除所有缓存的PDU。
现有技术的缺点是忽略了PDU包含完整SDU的情况,当含有完整SDU的PDU被单独接收到时,接收端就不会考虑直接恢复SDU,而是等待前后的PDU,如果前后PDU都丢失或是在一定时间内无法接收到,这个PDU中所含有的SDU就无法被恢复出来而被删除了。
另外,含有完整SDU的PDU中还可能含有其他SDU的部分内容,而这些SDU并不完整,这时这种完整SDU是否应恢复出来,并不明确,而且可能造成重复重组,例如如果在部分SDU不完整的时候把刚收到的完整的SDU就进行恢复,则可能在收到该SDU的其他部分的时候,对这个SDU重新恢复一遍,造成了完全不必要的副本。
这种情况可能对在主控制信道(MCCH)上发送的接入信息(accessinformation)的影响表现的更为明显,因为乱序传输作为MCCH上应用的功能之一被引入发送端针对接入信息的打断问题,造成了接入信息发送时前后的序号都不连续。在接收端造成接入信息在收到的时候是单独不连续的,而接入信息也往往是全部的SDU在单独一个PDU中,这时对于这样的接入信息进行及时恢复是必要的。

发明内容
有鉴于此,本发明的目的在于提供一种无线链路控制乱序传输功能中的协议数据单元数据处理方法,针对在MCCH乱序传输功能的重组缓存中单独不连续的PDU的操作,以避免不必要的SDU的丢失或是副本。
基于上述目的本发明提供的无线链路控制乱序传输功能中的协议数据单元PDU数据处理方法,包括a)当一个新的PDU被接收并缓存起来后,检查窗口内是否已缓存有与当前PDU连续的PDU,如果有,则按现有协议进行处理;否则,根据预先制定的策略对数据进行处理;b)当发生窗口移动或计数器超时而需要删除窗口中的PDU时,根据预先制定的策略对包含有完整SDU的PDU进行数据处理。
该方法步骤a)所述根据预先制定的策略对数据进行处理的过程包括a1)根据当前PDU中的长度指示判断该PDU是否单独包含有至少一个完整的SDU,如果是,则根据预先制定的策略对该PDU进行数据处理,返回步骤a);否则,直接返回步骤a)。
该方法步骤a1)所述对PDU进行数据处理的方法为直接将该PDU缓存,或先对PDU进行重组恢复出其中完整的SDU后送到上层,再将该PDU删除。
该方法步骤a)所述根据预先制定的策略对数据进行处理的过程为将当前PDU继续进行缓存。
该方法步骤b)所述数据处理过程包括根据PDU中的长度指示检查当前需要删除的PDU中是否包含有完整的SDU,如果有,则从这些PDU中重组恢复出所述完整的SDU并送到上层,删除因窗口移动或计数器超时而需要删除的PDU;否则,直接删除因窗口移动或计数器超时而需要删除的PDU。
该方法步骤b)所述数据处理过程为直接删除因窗口移动或计数器超时而需要删除的PDU。
该方法步骤b)所述数据处理过程为根据当前PDU中的长度指示判断该PDU是否单独包含有至少一个完整的SDU,如果是,则根据预先制定的策略对该PDU进行数据处理;否则,删除因窗口移动或计数器超时而需要删除的PDU。
该方法所述步骤a1)中如果当前PDU中包含有至少一个完整SDU和其他SDU部分内容,则重组恢复当前PDU中的完整的SDU,缓存起来,等待一段预设时间后送到上层,当前PDU继续缓存返回步骤a);否则,直接返回步骤a);步骤b)所述数据处理过程为直接删除因窗口移动或计数器超时而需要删除的PDU。
该方法所述步骤a1)中如果当前PDU中包含有至少一个完整SDU和其他SDU部分内容,则重组恢复当前PDU中的完整的SDU送到上层,在缓存中标记出该SDU已被恢复以后不再向上层发送该SDU,当前PDU继续缓存,返回步骤a);步骤b)所述数据处理过程为直接删除因窗口移动或计数器超时而需要删除的PDU。
该方法所述在缓存中加的标记至少包括已恢复的SDU的序号。
该方法所述步骤a1)中如果当前PDU中包含有至少一个完整SDU和其他SDU部分内容,则重组恢复当前PDU中的完整的SDU后删除,通知上层删除的是哪一个SDU,当前PDU继续缓存返回步骤a);步骤b)所述数据处理过程为直接删除因窗口移动或计数器超时而需要删除的PDU。
从上面所述可以看出,本发明的无线链路控制乱序传输功能中的协议数据单元数据处理方法在新接收到一个PDU,且没有找到与之连续的PDU时,进一步根据当前PDU中的长度指示区别出单独包含有一个完整的SDU,及包含有一个完整SDU和其他SDU部分内容的PDU的情况,并分别根据预先指定的策略进行数据处理,从而既避免了有用信息的丢失,也避免了处理过程中可能产生的副本问题。


图1为现有3GPP TS25.322协议无线链路控制乱序传输功能中的协议数据单元数据处理方法流程示意图;图2为本发明较佳实施例一的流程示意图;图3为本发明较佳实施例二的流程示意图;图4为本发明较佳实施例三的流程示意图;图5为本发明较佳实施例四的流程示意图;图6为本发明较佳实施例五的流程示意图。
具体实施例方式
本发明的无线链路控制乱序传输功能中的协议数据单元PDU数据处理方法的核心思想包括当一个新的PDU被接收并缓存起来后,检查窗口内是否已缓存有与当前PDU连续的PDU,如果有,则按现有协议进行处理;否则,继续缓存等待接收下一个PDU;当发生窗口移动或计数器超时而需要删除窗口中的PDU时,根据预先制定的策略对包含有完整SDU的PDU进行数据处理。
下面结合附图和具体实施例对本发明方法进行进一步详细说明。
实施例一步骤101,MAC子层进行PDU接收,当一个新的PDU被接收并缓存起来后,检查窗口中是否已缓存有与当前PDU连续的PDU,如果有,则按现有协议进行处理,即对能够构成完整SDU的PDU重组恢复出SDU送入上层;否则,进入步骤102。
步骤102,根据当前PDU中的长度指示判断该PDU是否单独包含有至少一个完整的SDU,如果是,则重组恢复出该SDU后送到上层,并将当前PDU删除;否则,继续缓存该PDU。
步骤103,当由于窗口移动而使缓存中的PDU移出窗口或由于计数器Timer_OSD超时而需要删除窗口中的PDU时,根据PDU中的长度指示检查当前需删除的每个PDU中是否包含有完整的SDU,如果有,则从这些PDU中重组恢复出所述完整的SDU并送到上层,删除因窗口移动或计数器超时而需要删除的PDU;否则,直接删除因窗口移动或计数器超时而需要删除的PDU。
通常情况下,步骤103中检测出来的包含有完整SDU的PDU是那些包含有至少一个完整SDU和其他SDU部分内容的情况,因此通过本步骤可以将这种情况下PDU中含有的完整的SDU恢复出来并送到上层。
本实施例中,步骤102的过程也可以省去,这样对于PDU中单独包含有至少一个完整的SDU的情况与包含有至少一个完整SDU和其他SDU部分内容的情况可以在步骤103中一起进行处理;如此,与之配合的步骤101中如果窗口中没有缓存与当前PDU连续的PDU,则继续缓存该PDU。
实施例二步骤201,MAC子层进行PDU接收,当一个新的PDU被接收并缓存起来后,检查窗口中是否已缓存有与当前PDU连续的PDU,如果有,则按现有协议进行处理;否则,进入步骤202。
步骤202,根据当前PDU中的长度指示判断该PDU是否单独包含有至少一个完整的SDU,如果是,则重组恢复出该SDU后送到上层,并将当前PDU删除;否则,继续缓存该PDU。
步骤203,当由于窗口移动而使缓存中的PDU移出窗口或由于计数器Timer_OSD超时而需要删除窗口中的PDU时,直接删除需要删除的PDU。
可见,本实施例与实施例一的区别在于,对于包含有至少一个完整SDU和其他SDU部分内容的情况,本实施例将其直接删除而不进行恢复。
另外,本实施例中,步骤202的过程也可以放在步骤203中当需要删除窗口中的PDU时再执行,即根据当前PDU中的长度指示判断该PDU是否单独包含有至少一个完整的SDU,如果是,则根据预先制定的策略对该PDU进行数据处理;否则,删除当前窗口中缓存的PDU;或者步骤202的过程也可以省去,这样无论对于PDU中单独包含有至少一个完整的SDU的情况,还是包含有至少一个完整SDU和其他SDU部分内容的情况将在步骤203中一起被删除。与这两种方案配合的步骤201中如果窗口中没有缓存与当前PDU连续的PDU,则继续缓存该PDU。
实施例三步骤301,MAC子层进行PDU接收,当一个新的PDU被接收并缓存起来后,检查窗口中是否已缓存有与当前PDU连续的PDU,如果有,则按现有协议进行处理;否则,进入步骤302。
步骤302,根据当前PDU中的长度指示判断该PDU是否包含有完整的SDU,如果单独包含有一个SDU,则重组恢复出该SDU后送到上层,并将当前PDU删除;如果包含有至少一个完整SDU和其他SDU部分内容,则进入步骤303;如果没包含有完整的SDU,继续缓存该PDU。
其中,本步骤所述判断过程具体可分两步骤实现,即先判断当前PDU是否单独包含有完整的SDU,若不是,则进一步判断当前PDU是否包含有至少一个完整SDU和其他SDU部分内容。
步骤303,重组恢复当前PDU中的完整的SDU,缓存起来,等待一段预设时间后送到上层,继续缓存当前PDU,等待接收到当前PDU所述其他SDU的剩余部分后一起进行恢复。
其中,所述等待的一段预设时间应小于窗口移出和计数器Timer_OSD超时的时间,比如如果窗口移出的时间为64个TTI左右,则该段预设时间可设置为16TTI。
步骤304,当由于窗口移动而使缓存中的PDU移出窗口或由于计数器Timer_OSD超时而需要删除窗口中的PDU时,直接删除这些需要删除的PDU。
实施例四步骤401,MAC子层进行PDU接收,当一个新的PDU被接收并缓存起来后,检查窗口中是否已缓存有与当前PDU连续的PDU,如果有,则按现有协议进行处理;否则,进入步骤402。
步骤402,根据当前PDU中的长度指示判断该PDU是否包含有完整的SDU,如果单独包含有一个SDU,则重组恢复出该SDU后送到上层,并将当前PDU删除;如果包含有至少一个完整SDU和其他SDU部分内容,则进入步骤403;如果没包含有完整的SDU,继续缓存该PDU。
步骤403,重组恢复当前PDU中的完整的SDU,然后送到上层,在缓存中加标记,以标识该SDU已被恢复并发送到上层,继续缓存当前PDU,等待接收到当前PDU所述其他SDU的剩余部分后一起进行重组恢复,然后将除了加标记外的其他SDU送入上层。
其中,所述加标记可以是在缓存中保存所述SDU的序号。当然,本领域人员很容易想到也可以采取其他方式加标记,只要标识出该已被恢复SDU即可,从而避免重复重组的问题。
步骤404,当由于窗口移动而使缓存中的PDU移出窗口或由于计数器Timer_OSD超时而需要删除窗口中的PDU时,直接删除这些需要删除的PDU。
实施例五步骤501,MAC子层进行PDU接收,当一个新的PDU被接收并缓存起来后,检查窗口中是否已缓存有与当前PDU连续的PDU,如果有,则按现有协议进行处理;否则,进入步骤502。
步骤502,根据当前PDU中的长度指示判断该PDU是否包含有完整的SDU,如果单独包含有一个SDU,则重组恢复出该SDU后送到上层,并将当前PDU删除;如果包含有至少一个完整SDU和其他SDU部分内容,则进入步骤503;如果没包含有完整的SDU,继续缓存该PDU。
步骤503,重组恢复当前PDU中的完整的SDU,然后将其删除,通知上层删除的是哪一个SDU,继续缓存当前PDU,等待接收到当前PDU所述其他SDU的剩余部分后一起进行重组恢复,并送入上层。
所述通知可以是向上层发送当前删除的SDU的PDU序号+SDU位,来表示当前删除的SDU。当然,本领域人员很容易想到也可以采取其他方式通知上层。这样上层就可以知道哪个SDU已执行了恢复操作,避免重复重组的问题。
步骤504,当由于窗口移动而使缓存中的PDU移出窗口或由于计数器Timer_OSD超时而需要删除窗口中的PDU时,直接删除这些需要删除的PDU。
以上各实施例中,对于PDU中单独包含有一个SDU的情况,也可以采取不进行恢复而将当前PDU直接删除的策略。
权利要求
1.无线链路控制乱序传输功能中的协议数据单元PDU数据处理方法,其特征在于,包括a)当一个新的PDU被接收并缓存起来后,检查窗口内是否已缓存有与当前PDU连续的PDU,如果有,则按现有协议进行处理;否则,根据预先制定的策略对数据进行处理;b)当发生窗口移动或计数器超时而需要删除窗口中的PDU时,根据预先制定的策略对包含有完整业务数据单元SDU的PDU进行数据处理。
2.根据权利要求1所述的方法,其特征在于,步骤a)所述根据预先制定的策略对数据进行处理的过程包括a1)根据当前PDU中的长度指示判断该PDU是否单独包含有至少一个完整的SDU,如果是,则根据预先制定的策略对该PDU进行数据处理,返回步骤a);否则,直接返回步骤a)。
3.根据权利要求2所述的方法,其特征在于,步骤a1)所述对PDU进行数据处理的方法为直接将该PDU缓存,或先对PDU进行重组恢复出其中完整的SDU后送到上层,再将该PDU删除。
4.根据权利要求1所述的方法,其特征在于,步骤a)所述根据预先制定的策略对数据进行处理的过程为将当前PDU继续进行缓存。
5.根据权利要求2或4所述的方法,其特征在于,步骤b)所述数据处理过程包括根据PDU中的长度指示检查当前需要删除的PDU中是否包含有完整的SDU,如果有,则从这些PDU中重组恢复出所述完整的SDU并送到上层,删除因窗口移动或计数器超时而需要删除的PDU;否则,直接删除因窗口移动或计数器超时而需要删除的PDU。
6.根据权利要求2或4所述的方法,其特征在于,步骤b)所述数据处理过程为直接删除因窗口移动或计数器超时而需要删除的PDU。
7.根据权利要求4所述的方法,其特征在于,步骤b)所述数据处理过程为根据当前PDU中的长度指示判断该PDU是否单独包含有至少一个完整的SDU,如果是,则根据预先制定的策略对该PDU进行数据处理;否则,删除因窗口移动或计数器超时而需要删除的PDU。
8.根据权利要求2所述的方法,其特征在于,所述步骤a1)中如果当前PDU中包含有至少一个完整SDU和其他SDU部分内容,则重组恢复当前PDU中的完整的SDU,缓存起来,等待一段预设时间后送到上层,当前PDU继续缓存返回步骤a);否则,直接返回步骤a);步骤b)所述数据处理过程为直接删除因窗口移动或计数器超时而需要删除的PDU。
9.根据权利要求2所述的方法,其特征在于,所述步骤a1)中如果当前PDU中包含有至少一个完整SDU和其他SDU部分内容,则重组恢复当前PDU中的完整的SDU送到上层,在缓存中标记出该SDU已被恢复以后不再向上层发送该SDU,当前PDU继续缓存,返回步骤a);步骤b)所述数据处理过程为直接删除因窗口移动或计数器超时而需要删除的PDU。
10.根据权利要求9所述的方法,其特征在于,所述在缓存中加的标记至少包括已恢复的SDU的序号。
11.根据权利要求2所述的方法,其特征在于,所述步骤a1)中如果当前PDU中包含有至少一个完整SDU和其他SDU部分内容,则重组恢复当前PDU中的完整的SDU后删除,通知上层删除的是哪一个SDU,当前PDU继续缓存返回步骤a);步骤b)所述数据处理过程为直接删除因窗口移动或计数器超时而需要删除的PDU。
全文摘要
本发明公开了一种无线链路控制乱序传输功能中的协议数据单元PDU数据处理方法包括当一个新的PDU被接收并缓存起来后,检查窗口内是否已缓存有与当前PDU连续的PDU,如果有,则按现有协议进行处理;否则,根据预先制定的策略对数据进行处理;当发生窗口移动或计数器超时而需要删除窗口中的PDU时,根据预先制定的策略对包含有完整SDU的PDU进行数据处理。本发明针对在MCCH乱序传输功能的重组缓存中单独不连续的PDU的操作,可避免不必要的SDU的丢失或是副本。
文档编号H04L29/06GK1794696SQ200510097908
公开日2006年6月28日 申请日期2005年8月24日 优先权日2005年8月24日
发明者郑潇潇, 胡灏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1