发明内容
为了解决以上问题,使ROHC可以在在无线环境恶劣的情况下保证较好的 压缩比和性能,本发明提出一种基于跨层优化的无线网络协议头压缩方法,具 体包括以下步骤:
S1、将压缩器建模为三种状态的有限状态机,包括刷新状态、一阶状态和 二阶状态;
S2、将解压器建模为三种状态的有限状态机,包括非文本状态、全上下文 状态以及中间静态上下文状态;
S3、将ROHC信道建模成K种状态的马尔可夫信道,其中为信道好的状 态,为信道不好的状态;
S4、基于压缩器、解码器以及信道的建模,将如何选择下一个需要传输的 包报头的类型建模为部分可观测的马尔科夫决策模型,通过求解该模型获取下 一个需要传输的包报头的类型。
进一步的,压缩器总是在初始化和刷新状态下启动,初始化和刷新状态表 示数据包报头未压缩,此时通过数据包建立上下文同步;一阶状态表示数据包 的报头被部分压缩,数据包中包括动态域的差分信息,数据包中部分包含静态 域的差分信息;二阶状态表示数据包的报头被完全压缩。
进一步的,在解压器中,若处于非文本状态下,解压器需要一个刷新状态 的数据包建立上下文同步,完成初始化过程;初始化成功后解压器可以从非文 本状态转换到全上下文状态,全上下文状态可以对刷新状态、一阶状态和二阶 状态的数据包进行解压,且当全上下文状态重复解压失败的情况下,可以切换为中间静态上下文状态;中间静态上下文状态在成功接收刷新状态或一阶状态 的数据包后也可以上移转换为全文本状态,但中间静态上下文状态重复解压失 败时也会向下转移至非文本状态。
进一步的,解压器有k1+k2+3个状态包括一个非文本状态、k1+1全上下文 状态以及k2+1中间静态上下文状态,解压器处于全上下文状态时连续k1个数据 包解压失败情况下,解压器转换为静态上下文状态,该状态只能解压刷新状态、 一阶状态的数据包,且当一个一阶状态的数据包或者刷新状态数据包的分组解 压成功,则将状态转换为全上下文状态;若在连续k2个数据包解压失败,则将 状态转换为非文本状态。
进一步的,部分可观测的马尔科夫决策模型用一个七元组进行表示,表示 为(S,A,T,R,Ω,O,γ),其中S为系统状态集合,某一时刻的系统状态为解压器状 态和信道状态的笛卡尔积;A为智能体动作的集合,T为状态之间的条件转移概 率集合,R为奖励函数集合,Ω为观测值集合,O为条件观测概率集合,γ为折扣 因子集合。
进一步的,当给定动作a时,系统从状态s到状态s′的状态转移矩阵表示为:
T(s,a,s′)=p(s′H∣sH)p(s′D∣sD,a,s′H);
其中,T(s,a,s′)表示当给定动作a时、系统从状态s到状态s′的状态转移矩 阵,其属于状态之间的条件转移概率集合;p(s′H∣sH)表示信道从当前sH状态转 移到下一时刻s′H状态的概率;p(s′D∣sD,a,s′H)表示给定动作a,下一时刻信道状 态为s′H时,解压端的状态转移概率;a属于智能体动作的集合,状态s属于系统 状态集合。
进一步的,在执行动作a之后,在状态s′下观测到o的概率表示为:
O(s′,a,o)=p(oH∣s′H)p(oT∣a,s′D,s′H);
其中,O(s′,a,o)表示在执行动作a之后、在状态s′下观测到o的概率,其属 于条件观测概率集合;p(oH∣s′H)表示,s′H表示下一时刻信道状态为s′H时观测到 信道状态oH的概率;p(oT∣a,s′D,s′H)表示在给定动作a,下一时刻信道状态为s′H, 解压端状态为s′D时观测到数据包传输状态的概率,,s′D表示下一时刻的解压端状 态的集合;a属于智能体动作的集合,状态s属于系统状态集合,o属于观测值集 合,oH属于观测信道状态的集合,oT表示观测数据包传输状态的集合。
进一步的,在执行动作a之后,系统从状态s到状态s′的奖励函数表示为:
其中,R(s,a,s′)表示在执行动作a之后、系统从状态s到状态s′的奖励函数, 其属于奖励函数集合;s′D表示下一时刻的解压器状态;LP表示未压缩前的数据 包总长度;Li表示解压器处于i状态时,压缩包的总长度。
进一步的,利用PBVI算法求解部分可观测的马尔科夫决策模型,即为每个 信念求最大化期望回报,优化目标表示为:
其中,表示信念b(s)的优化目标;a属于智能体动作的集合; ρ(b,a)=∑sb(s)R(s,a)表示总的期望奖励,b(s)表示在智能体状态为s时的置 信,R(s,a)表示表示在状态s时选择动作a的奖励;P(o∣b,a)表示在当前置信 为b,动作为a的情况下,获得观测o的概率;/>表示决策步骤为n-1的 情况下,置信为b′的最优期望。
进一步的,在当前置信为b、状态为s,且执行动作a得到观测o的条件下, 下个状态为s′的概率,更新置信为b′,置信b′(s′)表示为:
其中,P(o∣a,b)表示在当前置信为b,动作为a的情况下,获得观测o的 概率;b(s)为当前置信为b,状态为s的概率。
本发明提高ROHC-U模式的效率和可靠性,且不需要传统O模式和R模式 那样的显式和昂贵的反馈,本发明根据引入较低层的部分信息来预测解压端状 态,并自适应决策ROHC的压缩端状态,从而在不需要引入单独的反馈信道就 能实现较高的效率和可靠性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出一种基于跨层优化的无线网络协议头压缩方法,具体包括以下 步骤:
S1、将压缩器建模为三种状态的有限状态机,包括刷新状态、一阶状态和 二阶状态;
S2、将解压器建模为三种状态的有限状态机,包括无上下文状态、全上下 文状态以及静态上下文状态;
S3、将ROHC信道建模成K种状态的马尔可夫信道,其中为信道好的状 态,为信道不好的状态;
S4、基于压缩器、解码器以及信道的建模,将如何选择下一个需要传输的 包报头的类型建模为部分可观测的马尔科夫决策模型,通过求解该模型获取下 一个需要传输的包报头的类型。
ROHC有三种模式可以选择,分别为单向U模式、双向乐观O模式、双向 可靠R模式。其中O、R模式需要引入反馈机制,需要单独的反馈信道反而增 加带宽压力。单向U模式不采用反馈信道,解压方不能向压缩方发送反馈信息, 为保证压缩健壮性和压缩率,压缩方采用乐观逼近原则和周期性原则进行状态 转移。本发明主要讨论ROHC-U模式的优化,U模式下的ROHC使用,本发明 通过利用从较低层获得的有用信息预测解压端状态,并自适应调整ROHC压缩器,从而实现双端同步。本发明适用于无线环境恶劣的情况下,且计算复杂度 在系统承受的范围之内,适合运用在实际的无线分组链路中。
本实施例将ROHC压缩器建模为具有三种状态的有限状态机(FSM),每个 状态用在该状态下传输的数据包类型表示,包括刷新(IR)状态、一阶(FO)状 态和二阶(SO)状态,则在各个状态中的数据包表示为刷新数据包(IR包)、 一阶数据包(FO包)和二阶数据包(SO包)。数据包报头的字段可以大致分类 为静态的,在整个包会话期间不改变(例如IP地址),和动态的其有规律地并且 主要以特定模式改变(例如数据包长度)。压缩器总是在初始化和IR状态下启动, 通过传输IR包(其报头未压缩)来建立上下文同步,FO包通常被部分压缩,其中 包含动态域的差分信息,很少包含静态域的差分信息,以便有效地传输数据包 中的不规则信息;SO包的报头被完全压缩。
单向U模式不采用反馈信道,此时解压方不能向压缩方发送反馈信息,为 保证压缩健壮性和压缩率,压缩方采用乐观逼近原则和周期性原则进行状态转 移。如图2,U模式下的是根据计时器和计数器来控制压缩状态的转换,压缩器 状态通过在每个较低状态(即IR和FO)发送多个分组,然后向上转换到较高 阶状态(FO和SO)。为了方便运算,压缩端的状态表示为SC={0,1,2},0,1,2 分别代表着IR,SO,FO数据包,PC,yx表示压缩器中从状态x转换为状态y的概率, x、y={0,1,2}。
解压器刚开始时解压缩程序需要初始化,初始化后处于无上下文(NC)状 态,该状态只能解压IR数据包。一旦成功地接收到至少一个IR分组,默认成 功建立静态和动态字段的上下文,解压缩器向上转换到全上下文(FC)状态,其中 所有三种类型的(IR、FO、SO)分组都可以被成功解压。如图3,在连续k1个数 据包解压失败情况下,解压缩器转换为静态上下文(SC)状态,该状态只能解压 IR、FO的数据包,其中一个FO或IR分组解压成功,就足以重新建立上下文同 步以将解压缩器状态再次向上移动到FC状态,若连续k2个数据包解压失败,则 默认解压端静态字段失去同步,则向下转化为NC状态。本发明将解压端建模成 一个拥有k1+k2+3状态的有限状态机,表示为SD={0,1,…,k1,k1+1,…,k1+k2+1, k1+k2+3},其中[0,k1]代表着图中的FC0-FCk1状态,[k1+1,k1+k2+1]代表着 SC0-SCk2状态,k1+k2+2代表着NC状态,sT=1和sT=0分别代表分组的传输成功 和失败。
本发明将ROHC信道建模成K种状态的马尔可夫信道,如图4,其中为 信道好的状态,/>为信道不好的状态,信道状态等效为SH=m,m∈{1,...,K}, 其中t代表时间变量。则状态k转化为状态m的转移概率为:
因此,信道转移概率矩阵P可以表示为一个K×K矩阵:
本发明根据引入较低层的部分信息来预测解压端状态,并自适应决策ROHC 的压缩端状态,从而在不需要引入反馈信道就能实现较高的效率和可靠性。前 一个数据包是否传输成功,可以通过引入MAC层的HARQ反馈来评估,而 ROHC信道状态,可以根据来自PHY层的CQI报告、链路自适应等信息来估计。 HARQ是与CRC校验码相关,可以根据重传次数来估计当前传输的成功率。
在U型ROHC模型中,压缩器不知道解压器的明确状态信息无法确知双端 状态是否同步,采用POMDP的目的就是想让压缩器在没有解压器的反馈条件 下,凭借可以得到的低层信息来评估解压器的状态。基本原则是,基于解压器 的初始状态、传输状态和信道状态估计,可以不断更新对ROHC系统状态的信念,并且可以就下一个要传输的包报头的类型做出最优决策。该问题可以归结 为一个部分可观测的马尔可夫决策过程,就是智能体在环境不确定的情况下采 取一系列行动使回报最大化。POMDP可以用一个七元组来表示:(S,A,T,R,Ω,O,γ), 其中S为系统状态集合,A是智能体动作的集合,T是状态之间的条件转移概率, R是奖励函数,Ω是观测值,O是条件观测概率,γ∈[0,1]是折扣因子。
在任意时间段内,环境都处于某种状态s∈S。本发明将解压器状态和信道 状态的笛卡尔积作为系统状态:
智能体采取的行动为这导致环境转换到状态s′的概率为, 给定动作a时,从s到s′的状态转移矩阵:
T(s,a,s′)=p(s′H∣sH)p(s′D∣sD,a,s′H);
同时智能体收到一个观测o=(oT,oH)∈Ω=ΩT×ΩH,其中oT∈ΩT={0,1}跟ST一样都代表着传输状态,ΩH=SH={0,...,K-1}代表着信道状态。这影响了环境的 新状态s′以及智能体采取的动作a。观测函数为在执行动作a之后,在s′状态下 观测到o的概率为:
O(s′,a,o)=p(oH∣s′H)p(oT∣a,s′D,s′H)
最后,智能体收到奖励R(s,a,s′)函数为:
如图3,当解压成功后sD的状态为FC0,及sD=0时代表解压成功,LP代表未 压缩前的数据包总长度,Li,i=1,2,3分别代表sc处于IR、FO、SO状态时,ROHC 数据包的负载,而LP/Li就代表当前数据包的压缩比,只有当s′D=0时,代表解压 成功,l(s′D=0)为在s′D=0该函数值为1,否则为0。
当POMDP模型已知的时,智能体可以在与环境交互时更新其信念b′(s′), 在当前置信为b的情况下智能体做了动作a得到观测o的条件下,下个状态为s′ 的概率:
PBVI算法背后的思想是近似求解POMDP模型。PBVI的算法流程如下:
POMDP的目标就是找到一系列行动{a0,...,at}来求得最大化期望回报,表示 为:
当然,由于POMDP中的每个状态不能被完全观测到,需要为每个信念求 最大化期望回报,优化目标为最大化折扣累计奖励,其值函数可以表述为:
其中
在迭代n次之后,值函数可以表示为一系列的α-vector:Vn={α0,α1,...,αm}。每一个α-vector定义了某个区间里的值函数,表示为:
在POMDP值迭代中,第n个平线的值函数可以通过回溯,算子H从第n-1 个平线的值函数构造出:
V=HV′
为了实现以上步骤,对每个动作观测集合都生成中间体:
Γa,*←αa,*(s)=R(s,a)
由于只用考虑有限个信念点,只需要在一组有限的点上进行运算,复杂度 大大简化,公式为:
本发明为了验证算法的有效性,本发明将与传统的U-ROHC模型做对比, 来验证本发明算法的有效性。本发明使用PC端(Intel Core i5-7500 CPU、16GB DDR3)打开VMareWorkstation 15的Ubuntu16操作系统,并将ROHC模块集成 到NS-3开源网络模拟器上对ROHC跨层进行仿真分析。POMDP的实例中的转 移概率皆可用统计法来计算。仿真使用平均标头压缩长度(ACL)来进行效率的评估,表示为:
其中T代表分组字节总数,P代表有效负载的字节数,C代表发送数据包的 总数,平均协议头长度越小代表压缩比越高。
仿真分别在信道误码率为10-3,10-4,10-5时,发送10000个数据包,每一个数 据包的长度为40的字节,并第一个采样点为发送100个数据包,后面对每发送 1000个包的点进行采样分析,仿真结果如图5-7,图5-7中靠上的线为传统的 ROHC-U模型,靠下的线为本发明基于POMDP的模型。仿真结果显示,在无 线信道越恶劣的情况下,本文提出的算法较原始的U-ROHC模型提升明显。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言, 可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变 化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。