一种对呈现业务网络载荷进行控制的系统和方法

文档序号:7757950阅读:125来源:国知局
专利名称:一种对呈现业务网络载荷进行控制的系统和方法
技术领域
本发明涉及一种对呈现业务网络载荷进行控制的系统和方法,属于电信技术领域,特别是属于IP多媒体子网络IMS技术领域。
背景技术
呈现(presence)业务的一个主要特点是“一对多消息通知模式”。当用户状态发生改变时,呈现服务器需要将变化的状态信息发送给所有在线订阅者。在实际应用中,一个用户经常有很多在线订阅者,当用户数量较多时,呈现服务器会对网络产生很大负载。研究表明,在IMS网络中,presence业务相关负载占到了 IP多媒体子系统网络IMS中的服务呼叫会话控制功能S-CSCF总负载的50%。对presence业务量分布分析表明presence业务的大部分负载都是由通知NOTIFY消息造成的。因此,只有控制住presence业务中的通知 NOTIFY消息负载,才能很好控制IMS网络的负载。国际互联网工程任务组IETF的RFC 3865提出了一种基于延时的通知NOTIFY消息负载控制机制。每个用户的状态发生改变时,presence服务器会启动一个定时器,只有当定时器超时后,才会将变化的状态信息发送给相应订阅者。如果在定时器超时之前用户的状态又发生改变,则用较新的状态取代较旧的状态信息。最终只向订阅者发送最新的用户状态信息。使用固定延时定时器控制通知NOTIFY消息负载方式的效果并不理想当 presence服务器的负载较低时,会对用户体验造成不必要的影响;当负载较高时,这种方式又不能完全限制presence服务器对网络产生的负载总量。因此,如何设计一种灵活的通知NOTIFY消息负载控制机制,在限制presence服务器对网络产生负载总量的前提下,尽量缩短每个用户通知NOTIFY消息的延时,从而提高用户体验,是一个急需要解决的技术难题。

发明内容
有鉴于此,本发明的目的是在现有的呈现业务网络中,提供一种对呈现业务网络载荷进行控制的系统和方法,降低呈现业务通知NOTIFY消息对网络载荷的巨大影响,同时提高用户的业务满意度。为了达到上述目的,本发明提出了一种对呈现业务网络载荷进行控制的系统,所述系统至少包括IP多媒体子系统网络IMS、呈现服务器等,所述的呈现服务器包括如下功能模块用户和业务管理模块,功能是实现呈现业务的用户签约和注销,用户呈现状态的订阅和注销,用户优先级的设定和变更处理,提供接口实现对载荷控制模块的管理等;用户优先级由用户自己设定或者由呈现服务器根据用户呈现状态订阅者数量的多少来自动设定;用户和业务数据存贮模块,用以保存用户的业务签约信息,用户优先级状态信息, 用户实时呈现状态信息,用户呈现状态订阅关系信息等;用户呈现状态订阅关系信息即该用户呈现状态被哪些用户所订阅的信息;发布PUBLISH消息分发模块,接收外部网络实体发送过来的发布PUBLISH消息,并根据发布PUBLISH消息中所携带的外部网络实体的地址,把发布PUBLISH消息转发给相应的载荷控制模块;载荷控制模块,根据载荷监测模块反馈的外部网络实体的载荷信息,对所收到的发布PUBLISH消息进行流量控制,然后把进行了流量控制后的发布PUBLISH消息发送给通知NOTIFY消息发送模块;根据外部网络情况,呈现服务器可以有多个载荷控制模块;通知NOTIFY消息发送模块,通过查询用户和业务数据存贮模块,获得用户呈现状态的订阅关系信息;对于收到的每条发布PUBLISH消息,查找其来源用户的呈现状态的所有订阅者,并向每个在线订阅者生成并发送对应的通知NOTIFY消息; 载荷监测模块,接收通知NOTIFY模块发送的通知NOTIFY消息,转发给相应的外部网络实体;对外部网络实体的载荷情况进行监测,并把监测获得的外部网络实体的载荷信息反馈给载荷控制模块;根据外部网络情况,呈现服务器可以有多个载荷监测模块;所述的呈现服务器的载荷控制模块包括下述子模块接口子模块,实现载荷控制模块与呈现服务器其他模块之间除发布PUBLISH消息之外的其他信息的交互功能;发布PUBLISH消息分类转发子模块,根据发布PUBLISH消息来源用户的优先级,把同一优先级的发布PUBLISH消息转发到对应优先级的状态更新缓存子模块;状态更新缓存子模块,对所收到的发布PUBLISH消息进行缓存,如果在缓存等待的过程中用户的呈现状态发生改变的话,则用来源于这一用户的新发布PUBLISH消息替换该用户的旧发布PUBLISH消息;发布PUBLISH消息被流量控制子模块发出后,就从缓存空间中删除;所述的载荷控制模块有多个状态更新缓存子模块,其数目的多少与用户优先级的级别数目相同;一个状态更新缓存子模块对应处理来源于同一个优先级用户的发布 PUBLISH 消息;流量控制子模块,按照流量速率生成子模块所指示的流量控制参数,对发布 PUBLISH消息进行相应速率的流量控制,并把进行了流量控制后的发布PUBLISH消息发送给发布PUBLISH消息汇集发送子模块;所述的载荷控制模块有多个流量控制子模块,其数目的多少与用户优先级的级别数目相同;一个流量控制子模块对应处理来源于同一个优先级用户的发布PUBLISH消息;流量速率生成子模块,根据所述的载荷监测模块反馈的外部网络实体的载荷信息,计算出各个优先级发布PUBLISH消息的流量控制参数,并把该流量控制参数通知相应优先级的流量控制子模块;发布PUBLISH消息汇集发送子模块,接收来自各个流量控制子模块的发布 PUBLISH消息,进行汇集后发送给所述的呈现服务器的通知NOTIFY消息发送模块;为了达到上述目的,本发明还提出了一种对呈现业务网络载荷进行控制的方法, 所述方法包括下列操作步骤(1)把呈现业务用户划分为若干不同的优先级;划分方法可以是呈现服务器根据用户呈现状态订阅者数量的多少来自动设定,订阅者数量越多的用户优先级越低,反之订阅者数量越少的用户优先级越高;或者用户根据需要自己设定或选定优先级;用户优先级的划分结果保存在用户和业务数据存储模块中;(2)呈现服务器的各个载荷监测模块按照系统设定的时间间隔对对应的外部网络实体的载荷进行监测,并把监测得到的外部网络实体的载荷信息反馈给对应的载荷控制模块;(3)载荷控制模块中的流量速率生成子模块通过接口子模块获得外部网络实体的载荷信息后,计算各个流量控制子模块的流量控制参数;(4)发布PUBLISH消息分发模块根据发布PUBLISH消息的来源实体,即来自于哪一个外部网络实体,把该发布PUBLISH消息转发到与该外部网络实体对应的载荷控制模块;(5)载荷控制模块对所收到的发布PUBLISH消息进行载荷控制后,转发给通知 NOTIFY消息发送模块;(6)通知NOTIFY消息发送模块根据发布PUBLISH消息的来源用户,向用户和业务数据存贮模块查询该发布PUBLISH消息来源用户呈现状态的订阅者,给每一个在线订阅者生成一条通知NOTIFY消息;然后通知NOTIFY消息发送模块根据该发布PUBLISH消息所来源的外部网络实体,把生成的通知NOTIFY消息发送给与该外部网络实体所对应的载荷监测模块;(7)载荷监测模块把收到的通知NOTIFY消息发送给与其相联的外部网络实体;所述步骤O)中所述的呈现服务器的载荷监测模块对外部网络实体进行载荷监测的具体方法是包括如下步骤(21)按照设定的时间间隔,载荷监测模块随机抽取一条通知NOTIFY消息,在其上面添加载荷报告OC请求消息头,载荷报告OC请求消息头的具体格式是OC =Req;oc_tag其中,Req表示载荷报告OC请求消息,0C_tag为一个随机生成的10位字符串,用来唯一标识一条载荷报告OC请求消息;(22)当外部网络实体收到这条带有载荷报告OC请求消息头的通知NOTIFY消息后,在返回的2000K消息中添加载荷报告OC响应消息头,或者新建一条带有载荷报告OC响应消息头的SIP消息返回给载荷监测模块,所述的载荷报告OC响应消息头的具体格式是OC :Rsp;oc;oc_type;oc_validity;oc_tag其中,Rsp表示载荷报告OC响应消息,oc表示具体的载荷信息,oc_type表示载荷的类型,oc_validity表示此载荷信息的有效时间,oc_tag与载荷报告OC请求消息头中的 0C_tag相同,用来关联请求和响应消息。所述步骤3中流量速率生成子模块计算各个流量控制子模块的流量控制参数的具体方法是包括如下步骤(31)流量速率生成子模块根据获得的外部网络实体的载荷信息,对外部网络实体的载荷信息进行处理,具体方法是如果载荷类型oc_type是通知NOTIFY消息准入速率,则不作处理;如果载荷类型oc_type是外部网络实体的CPU占用率,则把oc表示的CPU占用率换算成相应的通知NOTIFY消息准入速率;如果载荷类型0C_type是外部网络实体的通知 NOTIFY消息缓存空间占用率,则把oc表示的通知NOTIFY消息缓存空间占用率换算成相应的通知NOTIFY消息准入速率;(32)流量速率生成子模块根据步骤(31)中得到的通知NOTIFY消息准入速率,以及通过查询用户和业务数据存储模块获得的用户优先级的划分信息和用户呈现状态订阅者数量信息,为每个流量控制子模块计算出流量控制参数;具体计算方法是方法一如果用户的优先级是由用户自己选定的,则计算过程如下设总共有N个优先级别,N为一个大于1的自然数,第1优先级为最高优先级。流量速率生成子模块按照下式为每个流量控制子模块计算一个流量控制初步参数,
权利要求
1.一种对呈现业务网络载荷进行控制的系统,所述系统至少包括IP多媒体子系统网络IMS、呈现服务器,其特征在于所述的呈现服务器包括如下功能模块用户和业务管理模块,功能是实现呈现业务的用户签约和注销,用户呈现状态的订阅和注销,用户优先级的设定和变更处理,提供接口实现对载荷控制模块的管理等;用户优先级由用户自己设定或者由呈现服务器根据用户呈现状态订阅者数量的多少来自动设定;用户和业务数据存贮模块,用以保存用户的业务签约信息,用户优先级状态信息,用户实时呈现状态信息,用户呈现状态订阅关系信息等;用户呈现状态订阅关系信息即该用户呈现状态被哪些用户所订阅的信息;发布PUBLISH消息分发模块,接收外部网络实体发送过来的发布PUBLISH消息,并根据发布PUBLISH消息中所携带的外部网络实体的地址,把发布PUBLISH消息转发给相应的载荷控制模块;载荷控制模块,根据载荷监测模块反馈的外部网络实体的载荷信息,对所收到的发布 PUBLISH消息进行流量控制,然后把进行了流量控制后的发布PUBLISH消息发送给通知 NOTIFY消息发送模块;根据外部网络情况,呈现服务器可以有多个载荷控制模块;通知NOTIFY消息发送模块,通过查询用户和业务数据存贮模块,获得用户呈现状态的订阅关系信息;对于收到的每条发布PUBLISH消息,查找其来源用户的呈现状态的所有订阅者,并向每个在线订阅者生成并发送对应的通知NOTIFY消息;载荷监测模块,接收通知NOTIFY模块发送的通知NOTIFY消息,转发给相应的外部网络实体;对外部网络实体的载荷情况进行监测,并把监测获得的外部网络实体的载荷信息反馈给载荷控制模块;根据外部网络情况,呈现服务器可以有多个载荷监测模块;
2.根据权利要求1所述的一种对呈现业务网络载荷进行控制的系统,其特征在于所述的呈现服务器的载荷控制模块包括下述子模块接口子模块,实现载荷控制模块与呈现服务器其他模块之间除发布PUBLISH消息之外的其他信息的交互功能;发布PUBLISH消息分类转发子模块,根据发布PUBLISH消息来源用户的优先级,把同一优先级的发布PUBLISH消息转发到对应优先级的状态更新缓存子模块;状态更新缓存子模块,对所收到的发布PUBLISH消息进行缓存,如果在缓存等待的过程中用户的呈现状态发生改变的话,则用来源于这一用户的新发布PUBLISH消息替换该用户的旧发布PUBLISH消息;发布PUBLISH消息被流量控制子模块发出后,就从缓存空间中删除;所述的载荷控制模块有多个状态更新缓存子模块,其数目的多少与用户优先级的级别数目相同;一个状态更新缓存子模块对应处理来源于同一个优先级用户的发布PUBLISH 消息;流量控制子模块,按照流量速率生成子模块所指示的流量控制参数,对发布PUBLISH 消息进行相应速率的流量控制,并把进行了流量控制后的发布PUBLISH消息发送给发布 PUBLISH消息汇集发送子模块;所述的载荷控制模块有多个流量控制子模块,其数目的多少与用户优先级的级别数目相同;一个流量控制子模块对应处理来源于同一个优先级用户的发布PUBLISH消息;流量速率生成子模块,根据所述的载荷监测模块反馈的外部网络实体的载荷信息,计算出各个优先级发布PUBLISH消息的流量控制参数,并把该流量控制参数通知相应优先级的流量控制子模块;发布PUBLISH消息汇集发送子模块,接收来自各个流量控制子模块的发布PUBLISH消息,进行汇集后发送给所述的呈现服务器的通知NOTIFY消息发送模块;
3.—种对呈现业务网络载荷进行控制的方法,其特征在于所述方法包括下列操作步骤(1)把呈现业务用户划分为若干不同的优先级;划分方法可以是呈现服务器根据用户呈现状态订阅者数量的多少来自动设定,订阅者数量越多的用户优先级越低,反之订阅者数量越少的用户优先级越高;或者用户根据需要自己设定或选定优先级;用户优先级的划分结果保存在用户和业务数据存储模块中;(2)呈现服务器的各个载荷监测模块按照系统设定的时间间隔对对应的外部网络实体的载荷进行监测,并把监测得到的外部网络实体的载荷信息反馈给对应的载荷控制模块;(3)载荷控制模块中的流量速率生成子模块通过接口子模块获得外部网络实体的载荷信息后,计算各个流量控制子模块的流量控制参数;(4)发布PUBLISH消息分发模块根据发布PUBLISH消息的来源实体,即来自于哪一个外部网络实体,把该发布PUBLISH消息转发到与该外部网络实体对应的载荷控制模块;(5)载荷控制模块对所收到的发布PUBLISH消息进行载荷控制后,转发给通知NOTIFY 消息发送模块;(6)通知NOTIFY消息发送模块根据发布PUBLISH消息的来源用户,向用户和业务数据存贮模块查询该发布PUBLISH消息来源用户呈现状态的订阅者,给每一个在线订阅者生成一条通知NOTIFY消息;然后通知NOTIFY消息发送模块根据该发布PUBLISH消息所来源的外部网络实体,把生成的通知NOTIFY消息发送给与该外部网络实体所对应的载荷监测模块;(7)载荷监测模块把收到的通知NOTIFY消息发送给与其相联的外部网络实体;
4.根据权利要求3所述的一种对呈现业务网络载荷进行控制的方法,其特征在于所述步骤O)中所述的呈现服务器的载荷监测模块对外部网络实体进行载荷监测的具体方法是包括如下步骤(21)按照设定的时间间隔,载荷监测模块随机抽取一条通知NOTIFY消息,在其上面添加载荷报告OC请求消息头,载荷报告OC请求消息头的具体格式是OC=Req;oc_tag其中,Req表示载荷报告OC请求消息,oc_tag为一个随机生成的10位字符串,用来唯一标识一条载荷报告OC请求消息;(22)当外部网络实体收到这条带有载荷报告OC请求消息头的通知NOTIFY消息后,在返回的2000K消息中添加载荷报告OC响应消息头,或者新建一条带有载荷报告OC响应消息头的SIP消息返回给载荷监测模块,所述的载荷报告OC响应消息头的具体格式是OC =Rsp;OC;oc_type
5.根据权利要求3所述的一种对呈现业务网络载荷进行控制的方法,其特征在于所述步骤(3)中流量速率生成子模块计算各个流量控制子模块的流量控制参数的具体方法是包括如下步骤(31)流量速率生成子模块根据获得的外部网络实体的载荷信息,对外部网络实体的载荷信息进行处理,具体方法是如果载荷类型oc_type是通知NOTIFY消息准入速率,则不作处理;如果载荷类型oc_type是外部网络实体的CPU占用率,则把oc表示的CPU占用率换算成相应的通知NOTIFY消息准入速率;如果载荷类型0C_type是外部网络实体的通知 NOTIFY消息缓存空间占用率,则把oc表示的通知NOTIFY消息缓存空间占用率换算成相应的通知NOTIFY消息准入速率;(32)流量速率生成子模块根据步骤(31)中得到的通知NOTIFY消息准入速率,以及通过查询用户和业务数据存储模块获得的用户优先级的划分信息和用户呈现状态订阅者数量信息,为每个流量控制子模块计算出流量控制参数;具体计算方法是方法一如果用户的优先级是由用户自己选定的,则计算过程如下 设总共有N个优先级别,N为一个大于1的自然数,第1优先级为最高优先级。流量速率生成子模块按照下式为每个流量控制子模块计算一个流量控制初步参数,
6.根据权利要求3所述的一种对呈现业务网络载荷进行控制的方法,其特征在于所述步骤( 中载荷控制模块对所收到的发布PUBLISH消息进行载荷控制的方法是具体包括如下步骤(51)载荷控制模块的发布PUBLISH消息分类转发子模块根据发布PUBLISH消息来源用户的优先级,把该发布PUBLISH消息转发到对应该优先级的状态更新缓存子模块;(52)状态更新缓存子模块对所收到的发布PUBLISH消息进行缓存,如果在缓存等待的时间内,用户的呈现状态发生改变的话,则用来源于这一用户的新发布PUBLISH消息替换该用户的旧发布PUBLISH消息;如果缓存空间已满,并且新收到的发布PUBLISH消息在缓存空间内没有对应的旧发布PUBLISH消息,则丢弃该新收到的发布PUBLISH消息;发布 PUBLISH消息被流量控制子模块发出后,就从缓存空间中删除;(53)流量控制子模块按照流量速率生成子模块所分配的流量控制参数,生成令牌,并把令牌存贮在一个设定容量的令牌桶中;如果令牌桶已满,则新生成的令牌被丢弃;如果令牌桶内有令牌可用,则流量控制子模块从状态更新缓存子模块中取出一条发布PUBLISH 消息,发送给发布PUBLISH消息汇集发送子模块,同时从令牌桶中删除一个令牌;(54)发布PUBLISH消息汇集发送子模块把所收到的发布PUBLISH消息汇集后发送给通知NOTIFY消息发送模块。
全文摘要
一种对呈现业务网络载荷进行控制的系统和方法,该系统包括IP多媒体子系统网络IMS、呈现服务器等,呈现服务器由用户和业务管理模块、用户和业务数据存贮模块、发布PUBLISH消息分发模块、载荷控制模块、通知NOTIFY消息发送模块、载荷监测模块等模块组成,其中载荷控制模块又由状态更新缓存子模块、流量控制子模块、流量速率生成子模块等子模块组成。本发明基于该系统,还提供一种对呈现业务网络载荷进行控制的方法,在对外部网络实体的载荷进行测量的基础上,按照优先级对用户的发布PUBLISH消息进行流量控制,从而实现对呈现业务通知NOTIFY消息的有效控制,最终保证业务网络的正常运行。本发明所提系统和方法简便可行,能有效提高用户业务的使用满意度。
文档编号H04L12/56GK102195985SQ201110130198
公开日2011年9月21日 申请日期2011年5月19日 优先权日2011年5月19日
发明者廖建新, 张乐剑, 张磊, 徐童, 朱晓民, 李彤红, 李炜, 樊利民, 沈奇威, 王敬宇, 王晶, 王纯, 王金柱, 程莉 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1