CN100373900C - 头压缩中的上下文标识的拥塞解决方法 - Google Patents

头压缩中的上下文标识的拥塞解决方法 Download PDF

Info

Publication number
CN100373900C
CN100373900C CNB2004100482231A CN200410048223A CN100373900C CN 100373900 C CN100373900 C CN 100373900C CN B2004100482231 A CNB2004100482231 A CN B2004100482231A CN 200410048223 A CN200410048223 A CN 200410048223A CN 100373900 C CN100373900 C CN 100373900C
Authority
CN
China
Prior art keywords
context
data packet
compression ratio
packet stream
head
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.)
Expired - Fee Related
Application number
CNB2004100482231A
Other languages
English (en)
Other versions
CN1713544A (zh
Inventor
李斐
李来水
业绪进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNB2004100482231A priority Critical patent/CN100373900C/zh
Publication of CN1713544A publication Critical patent/CN1713544A/zh
Application granted granted Critical
Publication of CN100373900C publication Critical patent/CN100373900C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及移动通信领域,是一种在分组交换域数据传输时头压缩中的上下文标识的拥塞解决方法,包括:(1)首先检查是否存在与该数据包对应的上下文;(2)如果不存在,为该数据包重新建立上下文,并且分配相应的上下文标识;(3)判断是否存在可供分配的上下文标识,存在则直接执行第(4)步,否则在上下文结构数组中顺序查找压缩率最低的数据包流,对该上下文标识进行淘汰,并将该上下文标识值赋给新的数据包流;(4)更新该上下文标识对应的上下文信息;(5)新建上下文后,第一次发送完整数据包,累计完整数据包的发送个数,启动压缩率更新定时器,定时对压缩率进行更新。本方法提高了压缩数据包流的压缩率和稳定性。

Description

头压缩中的上下文标识的拥塞解决方法
技术领域
本发明属于移动通信技术领域,尤其关于一种在移动通信系统中涉及分组交换域(PS域)业务的数据包的头压缩算法中,快速高效进行头压缩的上下文标识更新的方法。
背景技术
在无线链路中,带宽是最宝贵的资源。相比之下,系统处理包的能力倒在其次。因此衡量一种包头压缩方案性能好坏最重要的标准是看它的压缩率和稳定性,而不是看它的实现或计算难易度。
在头压缩过程中,上一个包的相关信息保留在一个上下文中。上下文中的信息被用来压缩或解压缩后面的包。压缩器和解压缩器在某些事件的激励下更新它们的上下文信息。当由于数据流中的某些事件的触发,可能会导致数据包流的上下文发生变化,当压缩器解压缩器端的上下文不能同步时会导致上下文标识(Context Identifier,缩写为CID)的更新,一个稳定性好的数据包头压缩方案在这种情况下应该能够快速地恢复压缩器和解压缩器之间上下文信息的同步,减少上下文标识更新的频度。数据包流的压缩率取决于该数据包流的上下文变化频度,当数据包流的上下文信息变化过于频繁时,会导致压缩器不得不频繁的发送完整数据包,从而引起压缩率的下降。
在目前的头压缩算法中,当大量数据包流通过同一数据链路时,由于上下文标识的更新速度太快,会导致CID拥塞的现象发生,这时将会使数据包很难和现有的上下文匹配,因此不得不发送完整数据包,导致压缩效率的下降。
当很多数据包流(例如几百个)同时通过同一条数据链路时,可能会发生CID拥塞的现象,这时由于上下文标识更新的频率太快,新的数据包流的上下文很快覆盖了旧数据包流的上下文,数据头很难与现存的上下文匹配上,因此不得不发送完整数据头或者未压缩数据包。为了解决这种问题,可以采用一种滞后处理的技术,使得具有高压缩率的数据包流对应的上下文得以保留,并使得现存CID拥塞的现象得以缓解。
滞后处理的方法是指使压缩率高的CID维持它的上下文,这样可以有效的解决CID更新过快的问题。可以通过统计每一个CID对应的数据包流的压缩率,来决定该CID的取舍。数据包流的压缩率是由该数据包流中单个数据包流的压缩率以及数据包流的稳定性决定的,对于发送稳定性较高的CID对应的上下文,它对应的压缩率肯定会相应的提高。
发明内容
木发明的目的旨在解决在PS域的数据业务传输时的压缩数据包的头压缩上下文标识的拥塞问题,在遵从协议规定的前提下,提供一种方法,能快速高效的根据数据包的压缩率进行上下文标识的淘汰选择,以此来解决数据包流的上下文标识拥塞现象。
一个数据包流的稳定性是由它发送完整数据头的频率决定的,发送完整数据包的原因有以下几种:当解压缩器由于丢失数据包而不能修复上下文,解压缩器可能向压缩器请求一个完整数据头,或者当一个数据包流的非变化域(NOCHANGE)发生变化,或者由于非字段更新原因引起的完整数据头的发送(例如,非TCP数据包流中发送压缩帧次数到达指定压缩帧发送个数(F PERIOD)或压缩帧发送时间超过压缩帧最长发送时间(F MAX TIME)都可能引起完整数据头的发送。
本发明解决其技术问题所采用的技术方案是:头压缩中的上下文标识的拥赛解决方法,由下列步骤组成:
在头压缩过程中,当对一个数据包进行头压缩时,
1、首先检查是否存在与该数据包对应的上下文,如果已经存在,则累计数据包发送的个数,并且判断该数据包流对应的压缩率统计定时器是否超时,如果超时则对该数据包流的压缩率进行重新统计,重新设置定时器。
2、如果不存在与该数据包对应的上下文,则需要为该数据包重新建立上下文。
3、判断是否存在可供分配的CID,如果存在则将该可供分配的CID值赋给新的数据包流,执行第4步。如果找不到可供分配的CID,则在上下文结构数组中顺序查找压缩率最低的数据包流,对该压缩率最低的数据包流对应的CID进行淘汰,并将该压缩率最低的数据包流对应的CID值赋给新的数据包流。
4、更新该CID对应的上下文信息为新的数据包流的上下文信息,将上下文状态置为该上下文被使用且有效的状态tUsing,该上下文对应的数据包流的压缩率的初值置为该类型的数据包流的压缩率的平均值。
5、新建上下文后,第一次发送完整数据包,此时累计完整数据包的发送个数。同时启动压缩率统计定时器,以定时对该数据包流的压缩率进行更新。
在目前的头压缩算法中,当大量数据包流通过同一数据链路时,由于上下文信息的更新速度太快,会导致CID拥塞的现象发生,这时将会使数据包很难和现有的上下文匹配,因此不得不发送完整数据包,导致压缩效率的下降。因此本发明采用了一种滞后技术的方法,用于改善这种现象的发生。该方法通过统计数据包流发送过程中完整数据包和压缩数据包发送的比例,对数据包流的压缩率进行定时的刷新,并且当发送CID拥塞现象时,根据数据包流的压缩率来进行CID的淘汰,使得压缩率高的数据包流得以保存它们的上下文,以较小的计算代价,提高了压缩数据包流的压缩率和稳定性。
附图说明
附图1是实现本发明的一种可行的实现方式,但实现方式不限于这一种。目前上下文的存贮方式采用数组实现,缺省值按256个上下文进行分配。
具体实施方式
下面结合附图对本发明技术方案的实施作进一步的详细描述:
假设每N个数据包发送一个完整数据包,H是完整数据包头的大小,C是一个压缩数据头的大小,那么平均的数据头的大小为(H-C)/N+C,平均数据头的大小比压缩数据头大(H-C)/N。
以典型的IPv6/UDP数据包流为例,完整数据头大小为48字节,而压缩数据头为4字节,设置最大压缩帧发送数F MAX PERIOD>44,则意味着完整数据包会在平均数据包中形成小于1个字节大小的负荷。设置F MAX PERIOD为缺省值256,因此当IPv6/UDP数据包流到达稳定后,此时计算数据包流的平均数据头大小为(48-4)/256+4=4.17(BYTE),可以得出平均压缩率为4.17/48=8.7%。
因此可以通过计算不同数据包流的压缩率,并且将不同的数据包流的CID按照压缩率的大小进行排序,每次产生新的CID时优先保证压缩率高的数据包流对应的CID得以保存。压缩率根据该数据包流累计发送的压缩数据头和完整数据头的个数进行计算。
首先根据设计需要,建立一个由不同数据包流的上下文构成的结构体数组,在上下文结构体T Context中,包括如下信息:
typedef struct tagContext{
WORD  wCid;               (上下文标识CID)
FLOAT fCpRatio;           (数据包流对应的压缩率)
T_ContextType tCxtType;   (该上下文的状态)
DWORD dwFullHead;         (已经发送的完整头的个数)
DWORD dwCpHead;           (已经发送的压缩头的个数)
Timer tCpTimer;        (压缩率更新定时器)
…                      (具体的上下文信息在此省略)
} T_Context;
wCid为该数据包流对应的CID,(在本设计方案中,CID的范围为0-256),fCpRatio为该数据包流的平均压缩率,该压缩率是根据该数据包流的单个数据包的压缩率以及已发送完整数据头和压缩数据头的统计个数计算得出的平均值。
TCxtType标识了该上下文当前的使用状态,上下文状态结构的结构定义如下:
typedef enum tagContextType{
tNoUse    =-1,    (该上下文内存已分配,但未被使用)
tInValid  =0,     (该上下文被使用,但已失效,需要发送Context state报)
tUsing    =1       (该上下文被使用,且有效)
}T_ContextType;
dwFullHead,dwCpHead分别统计了该数据包流当前以及发送的完整数据头和压缩数据头的个数,初值为0。tCpTimer为压缩率更新定时器,用于周期性的对该上下文对应的数据包流的压缩率进行更新,压缩率的计算是根据dwFullHead,dwCpHead的统计数据进行计算的。
具体操作流程如下:
(1)首先检查是否存在与该数据包对应的上下文,当找不到匹配的上下文时,跳到第(3)步执行,如果找到匹配的上下文,则首先检查压缩率累计定时器是否超时,如果超时,则对该数据包流的压缩率进行重新计算,更新上下文信息中的fCpRatio值。
(2)根据压缩算法的需要决定是发送完整数据包或者压缩数据包,并在相应的上下文信息结构中对发送的压缩数据包dwCpHead或完整数据包dwFullHead的数目进行统计,压缩流程结束。
(3)当该数据包找不到匹配的上下文时,此时在上下文结构数组中查找是否存在没有使用的上下文,即是否存在tCxtType属性为tNoUse的结构元素。
(4)如果存在没有使用的CID,则直接到第(5)步,否则在数组中查找压缩率fCpRatio最低的数据包流,对该数据包流的CID进行淘汰,将该CID值赋给新的数据包流。
(5)更新分配的上下文信息为新的数据包流的上下文信息,该上下文的状态置为tUsing,压缩率的初值设为该类型的数据包流的平均值。
(6)发送完整数据包,进行完整数据包发送数目dwFullHead的累计。同时启动压缩率更新定时器tCpTimer,以定时对该数据包流的压缩率进行更新,压缩流程结束。
尽管在上文当中以及参照本发明的具体实施方式,对本发明的方法进行了详细的描述,但上述具体实施方式应当理解为是说明性的,本领域的普通技术人员在不脱离本发明方法的范围情况下,可以做出各种改进。这些改进不脱离本发明的权利要求书及其等同物所限定的保护范围。

Claims (4)

1.一种头压缩中的上下文标识的拥塞解决方法,其特征是包括下列步骤:在头压缩过程中,当对一个数据包进行头压缩时,
(1)首先检查是否存在与该数据包对应的上下文,如果已经存在,则累计数据包发送的个数,并且判断数据包流对应的压缩率统计定时器是否超时,如果超时则对该数据包流的压缩率进行重新统计,重新设置定时器;
(2)如果不存在与该数据包对应的上下文,则需要为该数据包重新建立上下文;
(3)判断是否存在可供分配的上下文标识,如果存在则将该可供分配的上下文标识值赋给新的数据包流,执行第(4)步,如果找不到可供分配的上下文标识,则在上下文结构数组中顺序查找压缩率最低的数据包流,对该压缩率最低的数据包流对应的上下文标识进行淘汰,并将该压缩率最低的数据包流对应的上下文标识值赋给新的数据包流;
(4)更新新的数据包流的上下文标识对应的上下文信息为新的数据包流的上下文信息,将上下文状态置为该上下文被使用且有效的状态tUsing,该上下文对应的数据包流的压缩率的初值置为同类型的数据包流的压缩率的平均值;
(5)新建上下文后,第一次发送完整数据包,此时累计完整数据包的发送个数,同时启动压缩率统计定时器,以定时对该数据包流的压缩率进行更新。
2.根据权利要求1所述的头压缩中的上下文标识的拥塞解决方法,其特征是:压缩率根据数据包流累计发送的压缩数据头和完整数据头的个数进行计算。
3.根据权利要求1或2所述的头压缩中的上下文标识的拥塞解决方法,其特征是:通过计算不同数据包流的压缩率,将不同的数据包流的上下文标识按照压缩率的大小进行排序。
4.根据权利要求1所述的头压缩中的上下文标识的拥塞解决方法,其特征是:步骤(4)中所述的数据包流的压缩率的平均值通过数据包流的平均数据头大小和完整数据头大小计算得到。
CNB2004100482231A 2004-06-15 2004-06-15 头压缩中的上下文标识的拥塞解决方法 Expired - Fee Related CN100373900C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100482231A CN100373900C (zh) 2004-06-15 2004-06-15 头压缩中的上下文标识的拥塞解决方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100482231A CN100373900C (zh) 2004-06-15 2004-06-15 头压缩中的上下文标识的拥塞解决方法

Publications (2)

Publication Number Publication Date
CN1713544A CN1713544A (zh) 2005-12-28
CN100373900C true CN100373900C (zh) 2008-03-05

Family

ID=35719010

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100482231A Expired - Fee Related CN100373900C (zh) 2004-06-15 2004-06-15 头压缩中的上下文标识的拥塞解决方法

Country Status (1)

Country Link
CN (1) CN100373900C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212404B (zh) * 2006-12-27 2011-04-06 大唐移动通信设备有限公司 鲁棒头压缩分组数据传输的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1340255A (zh) * 1999-02-17 2002-03-13 诺基亚移动电话有限公司 实时业务中的标题压缩
CN1462534A (zh) * 2000-09-22 2003-12-17 诺基亚有限公司 在头字段压缩中定义上下文标识符
WO2004015957A1 (ja) * 2002-08-09 2004-02-19 Matsushita Electric Industrial Co., Ltd. ヘッダ圧縮/復元装置及びヘッダ圧縮/復元方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1340255A (zh) * 1999-02-17 2002-03-13 诺基亚移动电话有限公司 实时业务中的标题压缩
CN1462534A (zh) * 2000-09-22 2003-12-17 诺基亚有限公司 在头字段压缩中定义上下文标识符
WO2004015957A1 (ja) * 2002-08-09 2004-02-19 Matsushita Electric Industrial Co., Ltd. ヘッダ圧縮/復元装置及びヘッダ圧縮/復元方法

Also Published As

Publication number Publication date
CN1713544A (zh) 2005-12-28

Similar Documents

Publication Publication Date Title
EP2854359B1 (en) Compression and decompression methods of ethernet header and corresponding devices
KR100913900B1 (ko) 이동통신 시스템에서 미리 정의된 길이 지시자를 이용해서 패킷 데이터를 송수신하는 방법 및 장치
CN1201608C (zh) 分组数据系统中提高性能的装置和方法
JP3751823B2 (ja) 実時間サービスにおけるヘッダ圧縮
CA2375830C (en) Robust header compression in packet communications
JP4309118B2 (ja) 通信システムのパケットデータ伝送方法
CN1156124C (zh) 传输数据分组的方法和设备
CN101568144B (zh) 一种适用于无线自组织网络的报头压缩方法
CN101204068A (zh) 动态鲁棒首部压缩
CN101237419A (zh) 航空电信网空地通信中的报头压缩方法
WO2013149587A1 (zh) 一种压缩和解压缩以太网报文的方法及网元设备
CN100433841C (zh) 用于因特网协议第6版移动子协议MIPv6的鲁棒性头标压缩/解压方法
CN104917591A (zh) 一种适用于单向有损链路的卫星网络数据包压缩方法
JP2003526265A (ja) ヘッダ圧縮統合型アクセステクノロジー
CN1780296B (zh) 一种快速恢复压缩解压缩上下文的方法
CN1992582B (zh) 宽带信令链路自适应可变滑动接收窗口的实现方法
CN104394117A (zh) Rtp包的传输方法及装置
CN101534291A (zh) Ip报文的发送、接收的方法及装置
CN100373900C (zh) 头压缩中的上下文标识的拥塞解决方法
CN104811265B (zh) 基带帧的封装方法及解封装方法
WO2009079141A1 (en) Method for recovering lost header
CN101123617B (zh) 一种稳健头标压缩过程中反馈报文的存储管理方法及装置
Jin et al. Performance comparison of header compression schemes for RTP/UDP/IP packets
CN112769743A (zh) 一种报头压缩方法、装置及设备
US9591106B2 (en) Robust header compression processing method and robust header compression processor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080305

Termination date: 20140615

EXPY Termination of patent right or utility model