首页> 中国专利> 基于组件的协议栈重配置方法、设备及系统

基于组件的协议栈重配置方法、设备及系统

摘要

本发明公开了一种基于组件的协议栈重配置方法,该方法包括:将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比;确定存在不相同的协议组件后,停止当前协议栈的运行;将所述不相同的协议组件中当前协议栈的协议组件替换为功能相同或相似的重配置的协议栈的协议组件后,启动重配置的协议栈的运行。本发明同时公开一种基于组件的协议栈重配置设备及系统。采用本发明可以提高重配置的成功率,有效降低重配置时延。

著录项

  • 公开/公告号CN101599854A

    专利类型发明专利

  • 公开/公告日2009-12-09

    原文格式PDF

  • 申请/专利权人 中国移动通信集团公司;

    申请/专利号CN200810114523.3

  • 发明设计人 冯志勇;张平;迟骋;王军;

    申请日2008-06-06

  • 分类号H04L12/24;H04L29/06;

  • 代理机构北京同达信恒知识产权代理有限公司;

  • 代理人魏杉

  • 地址 100032 北京市西城区金融大街29号

  • 入库时间 2023-12-17 23:10:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-06-01

    授权

    授权

  • 2010-02-03

    实质审查的生效

    实质审查的生效

  • 2009-12-09

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,尤其涉及基于组件的协议栈重配置方法、设备及系统。

背景技术

多种异构无线接入技术(Radio Access Technology,RAT)共存将成为未来B3G(后三代通信系统Beyond 3rd Generation)环境的一个重要的特征。重叠的网络覆盖、多样的业务需求以及互补的技术特性使得异构RAT间的协同成为必须。在这种网络环境下,未来的通信设备需要支持多种无线接入标准和多模协议栈。重配置技术作为异构网络融合的核心技术,能够支持多标准的移动通信系统和跨越不同频段的联合无线资源管理。

重配置技术的主要思想包括:在运行过程中,对网元(如移动设备、基站等)中的协议子系统进行动态的修改。为此,现有技术提出了基于组件的协议栈的概念,其基本理念是将协议栈分为离散的协议层,层与层之间的通信可以通过标准定义接口,例如业务接入点(Service Access Point,SAP)来完成,也可以使用基于队列的通信方案。一个协议层由若干协议组件构成,这些组件在功能上相对独立,它们通过接口相互连接,共同完成协议层的功能。现有技术中,一般将协议功能分为两类:一类是模式相关的协议功能,这些功能与具体的无线接口技术相关,对于不同的接入技术不能重用;一类是相对公共的协议功能,这些功能至少可以用于参与两种不同的无线接入技术的实现。

可重配置的协议栈结构主要用于满足两类重配置需求。一方面,终端设备需要切换到一种完全不同的接入网络中,或者在保持当前网络连接的前提下准备与另外的接入网络进行连接时,终端设备应当下载本机中缺少的协议软件,然后进行协议的重配置来保证无缝的连接。另一方面,在同一个接入网中,当由于业务质量下降或其他因素影响的条件下,也有可能触发协议栈的重配置。

现有技术提供了基于组件的协议栈框架模型和基本运行机制,其中涉及对协议组件的绑定和替换方法。还可以通过预先定义的组件信息,对组件进行选择,即当协议栈重配置需求到来时,发现协议栈中需要被替换或删除的组件,然后通过备选组件库中协议组件的基本信息,选择适合的组件配置到重配置的协议栈中。其中的组件信息包括:一个唯一的组件识别号、组件版本号、组件的接口特性、组件的源代码路径。如果需要配置到系统中的组件不存在于本机中,那么需要该通信设备从网络下载缺失的协议软件(组件)。在选择组件时,可以考虑备选组件对业务的影响,以及将备选组件配置到协议栈中带来的时延等因素。

如图1所示,现有技术中重配置执行一般包括如下步骤:

步骤101、可重配置协议栈中的决策实体确定当前组件库中的组件信息。具体的,确定是否缺少以及缺少哪些协议组件。

步骤102、可重配置协议栈中的软件下载实体通过空中接口,下载当前协议栈中缺少的协议组件。

步骤103、可重配置协议栈中的重配置控制实体完成协议组件的绑定和替换过程。具体的,组件绑定的过程如下:

获取重配置的协议组件的基本信息;

实例化重配置的协议组件(这里是指重配置的协议组件的程序构造过程);

检查接口信息;

构建用于连接协议组件间接口的FIFO(First In First Out,先进先出)队列;

将该队列的Handler(管理者)传递给重配置的协议组件。

具体的,协议组件替换的过程如下:

获取重配置的协议组件的信息;

实例化重配置的协议组件;

检查接口信息;

暂停旧协议组件的工作;

获取旧协议组件的状态;

将该状态传递给重配置的协议组件;

将FIFO队列的Handler传递给重配置的协议组件。

发明人经过分析,发现现有技术中协议栈的重配置都是针对单个协议组件进行的,并且,讨论的重点是如何将一个旧的协议组件停用,并将一个重配置的协议组件绑定到协议子系统中。在协议组件选择方面,考虑的因素主要是协议组件的接口是否匹配目标位置的需求,以及该协议组件能够带来的服务质量。并且,实施时均是先发现协议子系统中运行不佳或在模式转换时无法重用的协议组件,然后寻求备选协议组件将其替换。上述实施方式可能会带来以下的问题:

首先,如果重配置到系统中的协议组件与协议栈中已有的某个协议组件不兼容,将会导致整个重配置失败。

其次,如果重配置到系统中的协议组件严重的降低了系统的性能,则可能会产生新的重配置需求。考虑到存在一个协议组件被替换导致其他协议组件也要被替换的可能性,协议组件替换的多米诺效应应当慎重的避免。

另外,协议组件的替换或绑定都会产生一定的重配置时间开销,连续不断的协议重配置行为会给整个系统带来严重时延影响。

发明内容

本发明实施例提供一种基于组件的协议栈重配置方法,用以提高重配置的成功率,有效降低重配置时延,该方法包括:

将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比;

确定存在不相同的协议组件后,停止当前协议栈的运行;

将所述不相同的协议组件中当前协议栈的协议组件替换为功能相同或相似的重配置的协议栈的协议组件后,启动重配置的协议栈的运行。

本发明实施例还提供一种基于组件的协议栈重配置设备,用以提高重配置的成功率,有效降低重配置时延,该设备包括:

对比模块,用于将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比;

第一处理模块,用于确定存在不相同的协议组件后,停止当前协议栈的运行;

第二处理模块,用于将所述不相同的协议组件中当前协议栈的协议组件替换为功能相同或相似的重配置的协议栈的协议组件后,启动重配置的协议栈的运行。

本发明实施例还提供一种基于组件的协议栈重配置系统,用以提高重配置的成功率,有效降低重配置时延,该系统包括:

协议栈管理决策模块,用于将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比;确定存在不相同的协议组件后,停止当前协议栈的运行;将所述不相同的协议组件中当前协议栈的协议组件替换为功能相同或相似的重配置的协议栈的协议组件后,启动重配置的协议栈的运行。

本发明实施例中,将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比;确定存在不相同的协议组件后,停止当前协议栈的运行;将所述不相同的协议组件中当前协议栈的协议组件替换为功能相同或相似的重配置的协议栈的协议组件后,启动重配置的协议栈的运行,从而以整个协议栈的角度考虑重配置的实施,以避免问题陷入局部化,约束协议重配置的自由度,增加系统的可控可管性,提高重配置的成功率,并且有效的降低重配置时延。

附图说明

图1为背景技术中基于组件的协议栈重配置的流程图;

图2为本发明实施例中基于组件的协议栈重配置的流程图;

图3为本发明实施例中协议图的示意图;

图4为本发明实施例中基于组件的协议栈重配置的一个具体实例的流程图;

图5为本发明实施例中Q学习的模型图;

图6为本发明实施例中基于神经网络泛化的Q学习模型图;

图7为本发明实施例中基于组件的协议栈重配置设备的结构示意图;

图8为本发明实施例中基于组件的协议栈重配置系统的结构示意图。

具体实施方式

下面结合说明书附图对本发明实施例进行详细说明。

如图2所示,本发明实施例中,基于组件的协议栈重配置流程如下:

步骤201、将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比。

步骤202、确定存在不相同的协议组件后,停止当前协议栈的运行。

步骤203、将所述不相同的协议组件中当前协议栈的协议组件替换为功能相同或相似的重配置的协议栈的协议组件后,启动重配置的协议栈的运行。

不同的协议栈的协议组件可以支持通信设备完成不同模式的通信,也可以在单一通信模式下为不同的业务条件和通信环境配置不同的协议栈特性。一个实施例中,将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比是指:将当前协议栈的协议图与重配置的协议栈的协议图进行对比。即将协议栈中的协议组件(包括协议组件的连接方式)整体形成协议图,显然,前述的协议图仅为一例,本领域普通技术人员可以理解,也可以用其它方式将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比。

实施中,可以提供一协议栈数据库存储协议栈的信息。其中存储的协议栈的信息可以包括:协议栈的标识、协议栈中包含的协议组件及其连接方式、说明协议栈应在何种条件下以何种方式运行的信息、协议栈完成其功能所需的系统资源、协议栈的安全及稳定性说明之一或任意组合。

具体的,本发明实施例中以协议图为例进行说明,则协议栈数据库存储的协议栈的信息可以包括:协议图标识、协议图包含的协议组件及其连接方式、说明协议图应在何种条件下以何种方式运行的信息、协议图完成其功能所需的系统资源、协议图的安全及稳定性说明之一或任意组合。

下面提供一个协议图的具体实例。

如图3所示,其中CID_1,CID_2,CID_3,CID_4,CID_i,CID_j表示该协议图中包含的协议组件。Ri-j表示协议组件CID_i和协议组件CID_j的输入输出接口关系。如果Ri-j为1,表示在这两个协议组件间存在一个接口,并且该接口的数据流向是从协议组件CID_i到协议组件CID_j的。相反的,如果Ri-j为0,则表示在这两个协议组件间没有一个数据流向为从协议组件CID_i到协议组件CID_j的接口。Ri-j和Rj-i具有完全不同的物理意义,它们代表接口的数据流向相反。

协议图中用来表示协议组件间连接关系的方式也是多种多样的,图3所示的表格方式仅为一例。

实施中可以有多种方式生成和提供协议栈。例如协议组件的开发商。协议组件开发商在编写完协议组件后,可以根据不同的用户需求,将协议组件拼装成不同的协议栈,并将这些协议栈放到对应的环境条件进行测试,以确保所提供的协议栈的可用性和稳定性。

一个实施例中,可以根据触发条件触发将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比,所述触发条件包括下述之一或任意组合:

通信设备进行通信模式转换;

通信设备增加通信模式;

通信设备在单一通信模式下的业务质量变化满足触发要求。

一个实施例中,在启动重配置的协议栈的运行之后,对本次运行进行性能评估;并提供一历史数据库将评估数据作为历史经验信息存储,作为获得重配置的协议栈的依据。具体的,对本次运行的效果进行评估,例如可以根据协议栈运行时为用户带来的业务质量对协议栈的效能进行评估。评估数据可以包括时延、抖动、传输速率、误码率之一或任意组合。

当然,实施中也可以事先对协议栈进行性能预测,在本领域内已经有许多方法完成这样的工作,这里不再赘述。当协议栈的信息被通信设备获得后,在后续的使用过程中可能存在修正和升级的问题,这时就需要性能预测功能对重配置后的协议栈的性能进行保证。

一个实施例中,可以根据开启业务信息、通信环境信息、协议栈数据库中协议栈的信息、历史数据库中的历史经验信息之一或任意组合,获得所述重配置的协议栈。其中的开启业务信息可以是发起业务的时间地点信息;通信环境信息可以包括:通信链路条件、通信业务需求、终端设备的通信能力之一或任意组合。

通过持续对协议栈进行性能评估,形成历史经验信息,参考历史经验信息获得重配置的协议栈,可以实现决策-评估-再决策-再评估的自主学习循环过程。这一过程使得通信设备不断学习其特定用户的通信特性,协议栈在运行过程中不断符合用户的通信需求,也就使得通信设备中的协议子系统具有强烈的用户属性。

如图4所示,一个具体实例中,基于组件的协议栈重配置处理流程如下:

步骤401、触发协议栈的重配置过程。协议栈的重配置存在多种触发可能,例如当通信设备进行通信模式转换时需要进行协议栈的重配置;当通信设备增加通信模式时需要进行协议栈的重配置;当通信设备在单一通信模式下,考虑业务质量等因素,发现更适合当前条件下的协议栈配置时,也可能进行协议栈的重配置。

步骤402、信息采集,即收集重配置必要信息。这些信息包括:开启业务信息、通信环境信息、协议栈数据库中协议栈的信息、历史数据库中的历史经验信息之一或任意组合。

步骤403、协议栈选择决策,即根据以上收集的信息进行决策,获得重配置的协议栈。

步骤404、重配置执行。首先,将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比,确定它们之间是否存在不相同的协议组件,确定存在时停止当前协议栈的运行,将不相同的协议组件中当前协议栈的协议组件替换为功能相同或相似的重配置的协议栈的协议组件后,启动重配置的协议栈的运行,完成重配置。其中,在确定存在不相同的协议组件后,还包括将不相同协议组件中当前协议栈的协议组件的状态信息传送给功能相同或相似的重配置的协议组件。

通过上述对协议栈的处理,可以实现不相同协议组件替换的同时进行,与现有的逐一发现要进行替换的协议组件对并执行逐一重配置的方法相比,不仅能够提高稳定性和成功率,而且能够有效的缩短重配置时延。

步骤405、协议栈性能评估,即在协议栈重配置完成并运行后,根据重配置带来的业务质量对本次重配置运行进行评估,并将评估数据作为历史经验信息存储在历史数据库中,作为后续再次获得重配置的协议栈的依据。

步骤406、等待下一次触发。一次协议栈重配置及评估循环完成,等待下一次协议栈重配置的触发。

下面以“Q学习”(强化学习的一种)为例,实现本发明实施例的决策-评估-再决策-再评估的循环学习过程。显然,强化学习仅为一例,本领域普通技术人员完全可以理解,能够实现自学习的方法均能以本发明方法实施。

基本的Q学习模型由有限、离散的环境状态的集合S={s1,s2,...,sn},有限、离散的学习者动作的集合A={a1,a2,...,am},标量的强化信号r和学习者的策略π:S→A等基本要素组成。

本例中,根据开启业务信息、通信环境信息、协议栈数据库中协议栈的信息、历史数据库中的历史经验信息的组合,获得所述重配置的协议栈。如图5所示,在每一轮的迭代中,学习者按开启业务信息感知环境状态s∈S(即通信环境信息),并根据当前策略(即协议栈数据库中协议栈的信息)选择动作a∈A作用于环境;环境状态由此变化为s′∈S,同时产生一个强化信号(称为“回报”,即历史数据库中的历史经验信息)r(s,a)反馈给学习者;学习者据此更新其策略,并进入下一轮迭代。通过不断的“试错”,学习的最终目标是找到每个状态的最佳策略π*(s)∈A以最大化期望的长期累积回报:

Vπ(s)=E(Σt=0γtr(st,π(st))|s0=s)---(1)

其中γ∈(0,1)为常数时间折现因子,它体现了未来回报相对当前回报的重要性。根据Bellman最优准则,式(1)的最大值为:

V*(s)=Vπ*(s)=maxπVπ(s)

=maxaA[R(s,a)+γΣsSPs,s(a)V*(s)]---(2)

其中R(s,a)为r(st,at)的数学期望,Ps,s′(a)为状态s在动作a的作用下达到状态s′的转移概率。

Q学习的优点是能够在未知R(s,a)和Ps,s′(a)的情况下,通过简单的Q值迭代找到最优的策略π*满足式(2)。将策略π的每一对状态和动作(s,a)与一个“Q值”相关联:

Qπ(s,a)=R(x,a)+γΣsSPs,s(a)Vπ(s)---(3)

由式(2)和(3)可以得到

V*(s)=maxaAQ*(s,a)---(4)

π*(s)=argmaxaQ*(s,a)---(5)

Q学习通过以下迭代规则来获得Q*(s,a):

Qt+1(s,a)=(1-α)Qt(s,a)+α(rt+γmaxaQt(s,a))---(6)

其中,α∈[0,1)为学习率。随着t→∞,若每对(s,a)的Q值能够经历无穷多次更新,且α递减至0,则Qt(s,a)将以概率1收敛到最优值Q*(s,a)。此时,最优策略π*可以由式(5)得到。

作为一种离策略(off-policy)算法,Q学习中式(6)的收敛并不依赖于动作空间的探索方法。

由于Q值的迭代更新需要大量存储空间,而实际问题中的状态或动作空间往往非常庞大甚至连续化,本例中的协议栈管理问题涉及链路条件、终端能力等这样非离散的状态参数,因此为了使所有(s,a)都能被充分地尝试同时兼顾效率,采用泛化方法处理,在迭代过程中采用ε-贪婪算法来选择动作。例如,采用基于神经网函数近似的方法来记忆和表达Q值,并用最小化均方误差的反向传播(BP)算法进行调整。

如图6所示,一个多层前馈神经网络(MFNN)被集成在学习者内部,其输入为构成环境状态的参数向量,输出为对应当前状态下对应所有动作的Q值向量。基于获得的Q值向量,动作选择模块采用ε-贪婪算法决定所要采取的动作。根据动作执行后反馈强化信号,Q值得到更新,而MFNN的权值则以更新的Q值为训练集用BP算法进行调整。为提高算法稳定性,更新的Q值先被缓存到训练队列里,再以批处理的方式送给MFNN。

映射到本发明实施例的协议栈管理机制,有如下算法中的要素需要定义:

1、状态:为了使得协议栈更加具有个性化的特点,对于输入的定义需要具有灵活性和可扩展性。本例中,有许多参数可以被看作环境变量,例如通信链路条件、通信业务需求、终端设备的通信能力等。

2、动作:本例中,动作就是依据环境信息选择最佳的协议栈。

3、回报:可以定义某种协议栈的评估机制,根据协议栈部署实际带来的用户满意度来生成一个协议栈的效用值。用该值作为回报。

基于同一发明构思,本发明实施例还提供一种基于组件的协议栈重配置设备,其结构如图7所示,可以包括:

对比模块701,用于将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比;

第一处理模块702,用于在确定存在不相同的协议组件后,停止当前协议栈的运行;

第二处理模块703,用于将所述不相同的协议组件中当前协议栈的协议组件替换为功能相同或相似的重配置的协议栈的协议组件后,启动重配置的协议栈的运行。

一个实施例中,对比模块701还可以用于将当前协议栈的协议图与重配置的协议栈的协议图进行对比。

一个实施例中,对比模块701还可以用于根据触发条件触发将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比,所述触发条件包括下述之一或任意组合:

通信设备进行通信模式转换;

通信设备增加通信模式;

通信设备在单一通信模式下的业务质量变化满足触发要求。

一个实施例中,图7所示的设备还可以包括:

确定模块704,用于根据开启业务信息、通信环境信息、协议栈数据库中协议栈的信息、历史数据库中的历史经验信息之一或任意组合,获得重配置的协议栈。

基于同一发明构思,本发明实施例还提供一种基于组件的协议栈重配置系统,其结构如图8所示,可以包括:

协议栈管理决策模块801,用于将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比;确定存在不相同的协议组件后,停止当前协议栈的运行;将所述不相同的协议组件中当前协议栈的协议组件替换为功能相同或相似的重配置的协议栈的协议组件后,启动重配置的协议栈的运行。

一个实施例中,图8所示的系统还可以包括:

协议栈评估模块802,用于在启动重配置的协议栈的运行之后,对本次运行进行性能评估;

历史数据库803,用于将评估数据作为历史经验信息保存。这些历史经验信息将在以后的协议栈选择行为触发时被访问,是参与协议栈选择决策的重要依据。

一个实施例中,图8所示的系统还可以包括:

协议栈数据库804,用于保存协议栈的信息;

则协议栈管理决策模块801还可以用于根据开启业务信息、通信环境信息、协议栈数据库中协议栈的信息、历史数据库中的历史经验信息之一或任意组合,获得重配置的协议栈。

协议栈管理决策模块801对整个协议栈的管理流程进行调度控制在给定条件下(比如业务类型,链路条件),根据协议栈数据库提供的基本信息,并结合以往重配置的历史经验,对协议栈进行选择决策,并指导后续的重配置执行。另外,协议栈管理决策模块801还负责完成协议栈的修改、升级、注册功能。显然,执行这些功能都需要对协议栈数据库中的相应信息做出修改、增加或删除。

需要进一步说明的是,以上的模块在工作时相互配合,或以形成决策-评估-再决策-再评估的自主学习循环过程。这一过程使得通信设备不断学习其特定用户的通信特性,协议栈在运行过程中不断符合用户的通信需求,也就使得通信设备中的协议子系统具有了强烈的用户属性。

本发明实施例中,将当前协议栈的协议组件与重配置的协议栈的协议组件整体同时进行对比;确定存在不相同的协议组件后,停止当前协议栈的运行;将所述不相同的协议组件中当前协议栈的协议组件替换为功能相同或相似的重配置的协议栈的协议组件后,启动重配置的协议栈的运行,从而以整个协议栈的角度考虑重配置的实施,以避免问题陷入局部化,约束协议重配置的自由度,增加系统的可控可管性,提高重配置的成功率,并且有效的降低重配置时延。

本发明实施例将自主机制引入到协议栈重配置领域中,通过决策和评估的循环,不断进行系统优化,使得系统具备个性化的特点。针对不同用户的通信特点,形成符合该用户需求的协议栈配置属性,使得通信设备能够根据发起业务的需求和通信环境自主选择最佳的协议栈配置,为用户提供最好的业务体验。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号