一种基于服务能力p2p分布化的s-cscf分配方法

文档序号:7866103阅读:178来源:国知局
专利名称:一种基于服务能力p2p分布化的s-cscf分配方法
技术领域
本发明属于移动互联网领域与电信运营商核心控制网领域,更具体地,涉及一种基于服务能力P2P分布化的S-CSCF分配方法。。
背景技术
标准第三代合作伙伴计划(3rdGeneration Partnership Project,简称 3GPP)定义的IP多媒体子系统(IP Multimedia Subsystem,简称頂S)中提出查询呼叫会话控制功能(Interrogating Call Session ControlFunction,简称 I-CSCF)按照服务会话控制功能(Serving Call SessionControl Function,简称 S-CSCF)的服务能力(Server Capability)为注册的客户端(User Equipment,简称UE)进行S-CSCF分配。然而,为了提高效率,标准IMS中I-SCCF每次启动的时候通过向归属服务器(HomeSubscriber Server,简称HSS)请求MS系统中所有S-CSCF和其服务能力,然后将其缓存在本地,并不实时的更新,没有保证I-CSCF缓存的S-CSCF和其对应的服务能力与真实的服务能力是一致的机制,同时每次I-CSCF启动的时候,都是集中式的向HSS请求S-CSCF、以及其服务能力,这样存在单点故障和性能瓶颈,另外在标准IMS中在满足用户对服务能力要求的前提条件下,并没有考虑S-CSCF之间的负载均衡的问题。

发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于服务能力P2P分布化的S-CSCF分配方法,其取消集中向HSS请求的S-CSCF的服务能力的集中式瓶颈,通过分布式的方式匹配用户服务能力需求的S-CSCF,在满足用户终端不同能力需求的前提条件下,根据S-CSCF最近服务时延来为用户最终分配一个合适的S-CSCF,在服务能力层级别中实现系统的S-CSCF负载均衡,并提高系统的服务能力和减低系统的服务时延。为实现上述目的,本发明提供了一种基于服务能力P2P分布化的S-CSCF分配方法,包括以下步骤(I)判断加入Reload覆盖网的节点的类型是S-CSCF还是I-CSCF,若加入的节点是S-CSCF,则进入步骤(2),若加入的节点是I-CSCF,则进入步骤(7);(2) S-CSCF节点加入Reload覆盖网,构建拓扑结构,并根据自身能提供的服务能力集在Reload覆盖网上进行发布;(3)S_CSCF节点以其拥有的每个服务能力值作为键值,在Reload覆盖网中进行查找,以得到该服务能力值对应的所有S-CSCF节点的SIP URI集合;(4)对SIP URI集合对应的每个S-CSCF节点每隔一段时间进行ping心跳包测试;(5)判断ping心跳包测试的S-CSCF节点是否5次还没有收到回应,若没有回应则进入步骤(6),否则过程结束;(6)从该SIP URI集合中删除没有回应的S-CSCF节点,将新加入的S-CSCF节点和SIP URI集合中剩余的S-CSCF节点作为值、以其服务能力值作为键值对在Reload覆盖网中进行发布,过程结束;(7) I-CSCF节点按照Reload协议加入Reload覆盖网;(8) I-CSCF节点判断是否接收到来自用户终端的注册请求,若有则进入步骤(9),否则过程结束;(9)I-CSCF节点根据用户终端所需求的服务能力为用户终端分配S-CSCF节点,过
程结束。步骤(2)包括以下子步骤(2-1)获取S-CSCF节点可提供的服务能力集;
(2-2) S-CSCF节点按照Reload协议加入Reload覆盖网;(2-3)将该S-CSCF节点的每种服务能力值作为键值,在Reload覆盖网中查找是否存在对应于服务能力值的S-CSCF节点集合,如果存在则进入步骤(2-4),否则进入步骤(2-5) ;3GPP协议中规定,在整个分布式网络中,必须保证每种服务能力的键值是唯一的。(2-4)将该S-CSCF节点的SIP URI作为值加入到S-CSCF节点集合中,并在Reload覆盖网中发布,过程结束;(2-5)构建一个新的键值对,该键值对中的键是S-CSCF节点的服务能力值,键值对中的值是该S-CSCF的SIP URI,并将该键值对在Reload覆盖网中发布,过程结束。S-CSCF的服务能力包括必须服务能力和可选服务能力。步骤(9)包括(9-1) I-CSCF节点接收来自用户终端的注册请求;(9-2) I-CSCF节点对用户终端进行鉴权;(9-3) I-CSCF节点从HSS获得用户终端所要求的服务能力集;(9-4) I-CSCF节点根据用户终端的服务能力集,并按照最适合匹配算法在Reload覆盖网中进行查找,以获得能提供该服务能力集的S-CSCF候选集;(9-5) I-CSCF节点在S-CSCF候选集中根据S-CSCF节点负载情况选择合适的S-CSCF 节点;(9-6) I-CSCF将注册请求转发给选择的S-CSCF节点;(9-7) S-CSCF节点处理用户终端的注册请求,并将注册的结果返回给I-CSCF节占.(9-8)I-CSCF节点缓存记录下S-SCCF处理时延和记录该时延的时间,并将注册的结果返回给用户终端。步骤(9-4)包括(9-4-1)根据用户终端要求的服务能力集判断服务能力集对应的S-CSCF列表是否已经缓存到本地,若已经缓存到本地,则进入步骤(9-4-3 ),否则进入步骤(9-4-2 );(9-4-2)对于没有缓存到本地的S-CSCF列表,则以该服务能力值作为键值,在Reload覆盖网中进行查找拥有该服务能力的S-CSCF列表,并将查找结果加入到I-CSCF的缓存中;(9-4-3)对于用户终端要求的每项必须服务能力在I-CSCF的缓存中进行匹配,以判断能满足用户终端要求的所有必须服务能力集的S-CSCF列表是否为空,若该列表为空,则转到步骤(9-4-4),否则转到步骤(9-4-5);
(9-4-4)返回一个空的集合,表示没有找到满足用户终端需求的S-CSCF,I-CSCF分配S-CSCF失败,过程结束;(9-4-5)对于获得满足所有用户终端所要求的必须服务能力集的S-CSCF列表中的每项S-CSCF进行打分;(9-4-6)对获得的打分之后的S-CSCF列表按照分数高低进行排序;(9-4-7)排序之后的S-CSCF列表即为能满足用户终端服务能力需求的S-CSCF候选集,过程结束。步骤(9-4-5)中打分的具体规则是,若该S-CSCF所满足用户终端要求的可选服务能力集合中的每项服务能力值,将该S-CSCF的得分加I。步骤步骤(9-5 )包括 (9-5-1)根据得到的S-CSCF候选集列表,判断得分最高的S-CSCF的个数是一个还是多个,若是一个,则转到步骤(9-5-2),否则转到步骤(9-5-3);(9-5-2)返回该唯一得分最高的S-CSCF作为用户终端注册的S-CSCF,过程结束;(9-5-3)将I-CSCF本地缓存的S-CSCF访问时延列表中在30分钟前记录的S-CSCF访问时延设置为O ;(9-5-4)查找本地缓存的S-CSCF最近访问时延表中S-CSCF候选集中得分最高的几个S-CSCF的最近访问时延;(9-5-5)对得分最高的几个S-CSCF的按照最近访问时延从小到大进行排序;(9-5-6)返回得分最高且最近访问时延最低的S-CSCF,即找到了最适合用户的且负载最低的S-CSCF,过程结束。通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果( I) 一致性和正确性由于将S-CSCF的服务能力集分布化的储存在基于资源定位与发现(REsourceLOcation And Discovery,简称Reload)协议的覆盖网中,并进行动态的发布和更新,当用户终端注册时,I-CSCF通过本地缓存以及缓存的更新策略和及时分布化查找获得相关的服务能力的S-CSCF,根据一定的策略为用户分配相应的S-CSCF,从而保证了 S-CSCF的服务能力本地缓存的一致性和准确性。(2)最佳适配性本发明通过提出根据S-CSCF必须服务能力(MandatoryCapabiIities,简称MC)选出候选集的选取策略,并根据可选服务能力(Optional Capabilities,简称0C)为用户选出最适合的S-CSCF,从而可以很好的根据S-CSCF的服务能力与用户需求的服务能力做一个最佳适配。(3)实现基于S-CSCF服务能力的负载均衡在S-CSCF候选集中,通过选取最近最小时延的方法选取一个合适的S-CSCF,若时延最小的有多个,则随机选取一个S-CSCF作为满足用户终端服务能力需求的负载较小的S-CSCF为用户提供注册,从而保证S-CSCF上的负载均衡性。


图I为本发明基于服务能力P2P分布化的S-CSCF分配方法的流程图。图2为本发明方法中步骤(2)的细化流程图。图3为本发明方法中步骤(9)的细化流程图。图4为本发明方法中子步骤(9-4)的细化流程图。图5为本发明方法中子步骤(9-5)的细化流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。 如图I所示,本发明一种基于服务能力P2P分布化的S-CSCF分配方法包括以下步骤(I)判断加入Reload覆盖网的节点的类型是S-CSCF还是I-CSCF,若加入的节点是S-CSCF,则进入步骤(2),若加入的节点是I-CSCF,则进入步骤(7);(2) S-CSCF节点加入Reload覆盖网,构建拓扑结构,并根据自身能提供的服务能力集在Reload覆盖网上进行发布;(3)S_CSCF节点以其拥有的每个服务能力值作为键值,在Reload覆盖网中进行查找,以得到该服务能力值对应的所有S-CSCF节点的会话初始化协议(Session InitiationProtocol,简称SIP)的全局统一资源定位标识(uniform resource locator,简称URI)集合;(4)对SIP URI集合对应的每个S-CSCF节点每隔一段时间进行ping心跳包测试;(5)判断ping心跳包测试的S-CSCF节点是否5次还没有收到回应,若没有回应则进入步骤(6),否则过程结束;(6)从该SIP URI集合中删除没有回应的S-CSCF节点,将新加入的S-CSCF节点和SIP URI集合中剩余的S-CSCF节点作为值、以其服务能力值作为键值对在Reload覆盖网中进行发布,过程结束;(7) I-CSCF节点按照Reload协议加入Reload覆盖网;(8) I-CSCF节点判断是否接收到来自用户终端的注册请求,若有则进入步骤(9),否则过程结束;(9)I-CSCF节点根据用户终端所需求的服务能力为用户终端分配S-CSCF节点,过
程结束。如图2所示,本发明方法中的步骤(2)包括以下子步骤(2-1)获取S-CSCF节点可提供的服务能力集,具体而言,S-CSCF的服务能力可定义为必须服务能力(Mandatory Capabilities,简称MC)和可选服务能力(OptionalCapabilities,简称 0C);(2-2) S-CSCF节点按照Reload协议加入Reload覆盖网;(2-3)将该S-CSCF节点的每种服务能力值作为键值,在Reload覆盖网中查找是否存在对应于服务能力值的S-CSCF节点集合,如果存在则进入步骤(2-4),否则进入步骤(2-5) ;3GPP协议中规定,在整个分布式网络中,必须保证每种服务能力的键值是唯一的。
(2-4)将该S-CSCF节点的SIP URI作为值加入到S-CSCF节点集合中,并在Reload覆盖网中发布,过程结束;(2-5)构建一个新的键值对,该键值对中的键是S-CSCF节点的服务能力值,键值对中的值是该S-CSCF的SIP URI,并将该键值对在Reload覆盖网中发布,过程结束。如图3所示,本发明方法中的步骤(9)包括(9-1) I-CSCF节点接收来自用户终端的注册请求;(9-2) I-CSCF节点对用户终端进行鉴权;(9-3) I-CSCF节点从HSS获得用户终端所要求的服务能力集;
(9-4) I-CSCF节点根据用户终端的服务能力集,并按照最适合匹配算法在Reload覆盖网中进行查找,以获得能提供该服务能力集的S-CSCF候选集;(9-5) I-CSCF节点在S-CSCF候选集中根据S-CSCF节点负载情况选择合适的S-CSCF 节点;(9-6) I-CSCF将注册请求转发给选择的S-CSCF节点;(9-7) S-CSCF节点处理用户终端的注册请求,并将注册的结果返回给I-CSCF节占.(9-8)I-CSCF节点缓存记录下S-SCCF处理时延和记录该时延的时间,并将注册的结果返回给用户终端。如图4所示,本发明方法中的步骤(9-4)包括(9-4-1)根据用户终端要求的服务能力集判断服务能力集对应的S-CSCF列表是否已经缓存到本地,若已经缓存到本地,则进入步骤(9-4-3 ),否则进入步骤(9-4-2 );(9-4-2)对于没有缓存到本地的S-CSCF列表,则以该服务能力值作为键值,在Reload覆盖网中进行查找拥有该服务能力的S-CSCF列表,并将查找结果加入到I-CSCF的缓存中;(9-4-3)对于用户终端要求的每项必须服务能力在I-CSCF的缓存中进行匹配,以判断能满足用户终端要求的所有必须服务能力集的S-CSCF列表是否为空,若该列表为空,则转到步骤(9-4-4),否则转到步骤(9-4-5)。(9-4-4)返回一个空的集合,表示没有找到满足用户终端需求的S-CSCF,I-CSCF分配S-CSCF失败,过程结束;(9-4-5)对于获得满足所有用户终端所要求的必须服务能力集的S-CSCF列表中的每项S-CSCF进行打分,具体的规则是,若该S-CSCF所满足用户终端要求的可选服务能力集合中的每项服务能力值,将该S-CSCF的得分加I。(9-4-6)对获得的打分之后的S-CSCF列表按照分数高低进行排序;(9-4-7)排序之后的S-CSCF列表即为能满足用户终端服务能力需求的S-CSCF候选集,过程结束。如图5所示,本发明方法中的步骤(9-5)包括(9-5-1)根据得到的S-CSCF候选集列表,判断得分最高的S-CSCF的个数是一个还是多个,若是一个,则转到步骤(9-5-2),否则转到步骤(9-5-3);(9-5-2)返回该唯一得分最高的S-CSCF作为用户终端注册的S-CSCF,过程结束;(9-5-3)将I-CSCF本地缓存的S-CSCF访问时延列表中在30分钟前记录的S-CSCF访问时延设置为O ;(9-5-4)查找本地缓存的S-CSCF最近访问时延表中S-CSCF候选集中得分最高的几个S-CSCF的最近访问时延;(9-5-5)对得分最高的几个S-CSCF的按照最近访问时延从小到大进行排序;(9-5-6)返回得分最高且最近访问时延最低的S-CSCF,即找到了最适合用户的且负载最低的S-CSCF,过程结束。实例为了验证本发明方法的可行性和有效性,在真实的环境下验证本发明方法。试验环境包括安装CentOS Release 5. 6操作系统、开源HSS系统实现FHoSS、开源MS实现系 统Open IMS Core中的标准P-CSCF服务器,按照本专利的方法进行改造后的I-CSCF服务器和S-CSCF服务器,以及标准IMS客户端Boghe。时延环境配置如表I所示表I
I网络带
节点类型操作系统 LPU 内存硬盘一

CentOS
HSS 服务器2.4GHz 2GB 300GB IOOMbps
release 5. 6
CentOS
标准 P-CSCF 服务器2.4GB 2GB 300GB 100Mbps
release 5. 6
改造后的I-CSCF服务CentOS
2.4tB 2GB 300GB IOOMbps
器release 5. 6 改造后的S-CSCF服务CentOS
口2.4GB 2GB 300GB IOOMbps
器release 5. 6
Boghe 客户端Windows 72. 0GBHB 150GB IOOMbpsHSS服务器采用的是开源服务器FHoSS,按照标准的方式安装在分布式IMS拓扑结构之外。主要是存储鉴权签约计费相关的数据。Boghe客户端就是本发明中提到的用户,按照一般的用户软件安装在Windows 7系统中后,用户输入相应的信息,比如用户的SIPURI、密码和相应P-CSCF服务器的地址,然后用户可以进行注册。在注册的时候,用户的注册请求首先到达頂S的标准的P-CSCF服务器,然后P-CSCF将注册请求转发到改造后的
I-CSCF服务器,I-CSCF按照本专利中提出的方法为用户分配一个合适的S-CSCF完成注册。通过以上的方法建立的试验系统,我们可以验证,用于系统中S-CSCF的服务能力存储在Reload覆盖网中,通过本专利中提供的方法,可以保证S-CSCF服务能力的实时更新和匹配,保证用户需求的服务能力和S-CSCF提供的服务能力精确匹配。同时在满足用户对服务能力要求的前提条件下,考虑服务器负荷,将注册用户分配到实际负荷较小的S-CSCF服务器上。保证系统的稳定性,减少系统中用户的通信时延,提高用户的体验。通过多次测试,采用本发明所论述的一种基于服务能力P2P分布化的S-CSCF分配方法,实现了按照S-CSCF服务能力的动态更新,用户需求的服务能力和S-CSCF提供的服务能力实时精确匹配,同时在满足用户对服务能力要求的前提条件下,考虑服务器负荷,将注册用户分配到实际负荷较小的S-CSCF服务器上。 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于服务能力P2P分布化的S-CSCF分配方法,其特征在于,包括以下步骤 (1)判断加入ReI oad覆盖网的节点的类型是S-CSCF还是I-CSCF,若加入的节点是S-CSCF,则进入步骤(2),若加入的节点是I-CSCF,则进入步骤(7); (2)S-CSCF节点加入Reload覆盖网,构建拓扑结构,并根据自身能提供的服务能力集在Reload覆盖网上进行发布; (3)S-CSCF节点以其拥有的每个服务能力值作为键值,在Reload覆盖网中进行查找,以得到该服务能力值对应的 所有S-CSCF节点的SIP URI集合; (4)对SIPURI集合对应的每个S-CSCF节点每隔一段时间进行ping心跳包测试; (5)判断ping心跳包测试的S-CSCF节点是否5次还没有收到回应,若没有回应则进入步骤(6),否则过程结束; (6)从该SIPURI集合中删除没有回应的S-CSCF节点,将新加入的S-CSCF节点和SIPURI集合中剩余的S-CSCF节点作为值、以其服务能力值作为键值对在Reload覆盖网中进行发布,过程结束; (7)I-CSCF节点按照Reload协议加入Reload覆盖网; (8)I-CSCF节点判断是否接收到来自用户终端的注册请求,若有则进入步骤(9),否则过程结束; (9)I-CSCF节点根据用户终端所需求的服务能力为用户终端分配S-CSCF节点,过程结束。
2.根据权利要求I所述的S-CSCF分配方法,其特征在于,步骤(2)包括以下子步骤 (2-1)获取S-CSCF节点可提供的服务能力集; (2-2) S-CSCF节点按照Reload协议加入Reload覆盖网; (2-3)将该S-CSCF节点的每种服务能力值作为键值,在Reload覆盖网中查找是否存在对应于服务能力值的S-CSCF节点集合,如果存在则进入步骤(2-4),否则进入步骤(2-5);3GPP协议中规定,在整个分布式网络中,必须保证每种服务能力的键值是唯一的。
(2-4)将该S-CSCF节点的SIP URI作为值加入到S-CSCF节点集合中,并在Reload覆盖网中发布,过程结束; (2-5)构建一个新的键值对,该键值对中的键是S-CSCF节点的服务能力值,键值对中的值是该S-CSCF的SIP URI,并将该键值对在Reload覆盖网中发布,过程结束。
3.根据权利要求2所述的S-CSCF分配方法,其特征在于,S-CSCF的服务能力包括必须服务能力和可选服务能力。
4.根据权利要求I所述的S-CSCF分配方法,其特征在于,步骤(9)包括 (9-1) I-CSCF节点接收来自用户终端的注册请求; (9-2) I-CSCF节点对用户终端进行鉴权; (9-3) I-CSCF节点从HSS获得用户终端所要求的服务能力集; (9-4)I-CSCF节点根据用户终端的服务能力集,并按照最适合匹配算法在Reload覆盖网中进行查找,以获得能提供该服务能力集的S-CSCF候选集; (9-5) I-CSCF节点在S-CSCF候选集中根据S-CSCF节点负载情况选择合适的S-CSCF节点; (9-6) I-CSCF将注册请求转发给选择的S-CSCF节点;(9-7) S-CSCF节点处理用户终端的注册请求,并将注册的结果返回给I-CSCF节点;(9-8)I-CSCF节点缓存记录下S-SCCF处理时延和记录该时延的时间,并将注册的结果返回给用户终端。
5.根据权利要求4所述的S-CSCF分配方法,其特征在于,步骤(9-4)包括 (9-4-1)根据用户终端要求的服务能力集判断服务能力集对应的S-CSCF列表是否已经缓存到本地,若已经缓存到本地,则进入步骤(9-4-3),否则进入步骤(9-4-2); (9-4-2)对于没有缓存到本地的S-CSCF列表,则以该服务能力值作为键值,在Reload覆盖网中进行查找拥有该服务能力的S-CSCF列表,并将查找结果加入到I-CSCF的缓存中; (9-4-3)对于用户终端要求的每项必须服务能力在I-CSCF的缓存中进行匹配,以判断 能满足用户终端要求的所有必须服务能力集的S-CSCF列表是否为空,若该列表为空,则转到步骤(9-4-4 ),否则转到步骤(9-4-5 ); (9-4-4)返回一个空的集合,表示没有找到满足用户终端需求的S-CSCF,I-CSCF分配S-CSCF失败,过程结束; (9-4-5)对于获得满足所有用户终端所要求的必须服务能力集的S-CSCF列表中的每项S-CSCF进行打分; (9-4-6)对获得的打分之后的S-CSCF列表按照分数高低进行排序; (9-4-7)排序之后的S-CSCF列表即为能满足用户终端服务能力需求的S-CSCF候选集,过程结束。
6.根据权利要求5所述的S-CSCF分配方法,其特征在于,步骤(9-4-5)中打分的具体规则是,若该S-CSCF所满足用户终端要求的可选服务能力集合中的每项服务能力值,将该S-CSCF的得分加I。
7.根据权利要求4所述的S-CSCF分配方法,其特征在于,步骤步骤(9-5)包括 (9-5-1)根据得到的S-CSCF候选集列表,判断得分最高的S-CSCF的个数是一个还是多个,若是一个,则转到步骤(9-5-2),否则转到步骤(9-5-3); (9-5-2)返回该唯一得分最高的S-CSCF作为用户终端注册的S-CSCF,过程结束;(9-5-3)将I-CSCF本地缓存的S-CSCF访问时延列表中在30分钟前记录的S-CSCF访问时延设置为O ; (9-5-4)查找本地缓存的S-CSCF最近访问时延表中S-CSCF候选集中得分最高的几个S-CSCF的最近访问时延; (9-5-5)对得分最高的几个S-CSCF的按照最近访问时延从小到大进行排序; (9-5-6)返回得分最高且最近访问时延最低的S-CSCF,即找到了最适合用户的且负载最低的S-CSCF,过程结束。
全文摘要
本发明公开了一种基于服务能力P2P分布化的S-CSCF分配方法,包括以下步骤判断加入Reload覆盖网的节点的类型是S-CSCF还是I-CSCF,若加入的节点是S-CSCF,则S-CSCF节点加入Reload覆盖网,构建拓扑结构,并根据自身能提供的服务能力集在Reload覆盖网上进行发布,S-CSCF节点以其拥有的每个服务能力值作为键值,在Reload覆盖网中进行查找,以得到该服务能力值对应的所有S-CSCF节点的SIP URI集合,对SIP URI集合对应的每个S-CSCF节点每隔一段时间进行ping心跳包测试,判断ping心跳包测试的S-CSCF节点是否5次还没有收到回应,若没有回应则从该SIPURI集合中删除没有回应的S-CSCF节点。本发明在服务能力层级别中实现系统的S-CSCF负载均衡,并提高系统的服务能力,降低了系统的服务时延。
文档编号H04L29/08GK102970756SQ20121047606
公开日2013年3月13日 申请日期2012年11月22日 优先权日2012年11月22日
发明者金海 , 彭扬威, 陆枫, 廖小飞 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1