CN105117309B - 刀片集群交换中心服务器中的资源池化 - Google Patents
刀片集群交换中心服务器中的资源池化 Download PDFInfo
- Publication number
- CN105117309B CN105117309B CN201510431345.7A CN201510431345A CN105117309B CN 105117309 B CN105117309 B CN 105117309B CN 201510431345 A CN201510431345 A CN 201510431345A CN 105117309 B CN105117309 B CN 105117309B
- Authority
- CN
- China
- Prior art keywords
- blade
- main controller
- partner
- new
- resource
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种交换中心服务器,包括:刀片集群,带有多个刀片(110);多个池化资源,所述多个刀片(110)为了对呼叫进行处理而能够接入所述多个池化资源;以及主控器(112),被提供在刀片之一上,用于对池化资源的使用进行集中协调,所述主控器作为负责对池化资源进行分配、解分配和维持的中心实例。在一个或多个刀片断供时,本发明提供了使得对正在进行的呼叫的影响保持为最小并且使得池化资源保持为对于其余刀片可用的机制。
Description
本申请是申请日为2008年5月21日、申请号为200880129373.1的中国发明专利申请“刀片集群交换中心服务器中的资源池化”的分案申请。
技术领域
本发明涉及一种用于处理呼叫的交换中心服务器。本发明特别地但不排他地涉及一种移动服务交换中心服务器(MSC-S)。
背景技术
现有的高容量MSC服务器的典型架构是具有带有多个刀片的刀片集群结构的服务器结构。承载有效载荷的传输线端接于媒体网关(MGw)。这些资源的交换由MSC服务器(MSC-S)来控制。
时分复用端接(TDM端接)如同其在当前电信系统中所使用一样,并不能非常好地适于被刀片集群服务器所控制,这是由于呼叫控制信令和媒体网关控制信令都不提供对多刀片架构的支持。由于诸如端接之类的资源可以用于呼叫,因此必须在交换中心服务器的不同刀片之间执行对专门使用的协调。此外,需要将信令消息路由至处理相应呼叫的刀片。
临时端接更好地适于多刀片架构。端接的占用(seizure)由媒体网关来协调。在MSC服务器侧不需要刀片间协调。需要将信令消息路由至处理相应呼叫的刀片。BICC(与承载无关的呼叫控制)使用临时端接,但需要MSC服务器侧对呼叫实例码(CIC)的协调,这是由于它们是所有刀片的公共资源。
利用现有技术,难以在若干刀片之间共享TDM端接和CIC。必须对可用TDM电路的范围进行区分,以及对于BICC,对呼叫实例码的范围进行区分。在这种情况下,可管理地将每个分区指派给特定MSC服务器刀片。
然而,资源的分区具有以下缺陷:分区禁止有效使用用户平面电路。如果刀片发生故障,则专用于发生故障的刀片的资源不可用于其他业务。此外,与不需要对TDM电路进行分区的系统相比,对MSC服务器进行配置是更难的。尤其是当添加刀片或从集群移除刀片时,需要执行对指派给其他刀片的资源的重新分区。处于活动状态的刀片的数目可以例如由于个别刀片断供而改变,或者在通过添加新刀片来提高服务器性能的情况下改变。如果要分区的电路的数目仅稍稍高于刀片的数目,则与刀片的连接性的均匀分布变得困难。如果要分区的电路比集群中的刀片更少,则无法提供与所有刀片的连接。
发明内容
鉴于上述缺陷,需要提供一种具有刀片结构的交换中心服务器,所述刀片结构允许有效使用诸如用户平面电路之类的资源以及对服务器中存在的刀片数目的改变进行简化适配,这两者都是从资本支出以及操作支出的观点来看的。这种需要由独立权利要求的特征来满足。在从属权利要求中,描述了本发明的优选实施例。
根据本发明的一个方面,提供了一种交换中心服务器,包括带有多个刀片的刀片集群。此外,提供了所述多个刀片为了处理呼叫而能够接入的多个资源池。此外,对于每个资源池,在刀片之一上提供了专用的主控器,用于对池化资源的使用进行集中协调。上述交换中心服务器是有利的,这是由于其允许刀片集群服务器中的可扩展的刀片集合共享资源池。在不进行分区的情况下,利用负责对资源的使用(如分配、解分配和维持)的池化资源的单个实例(即主控器),执行共享。
电路的集合、信道和用户平面端接是对于任何刀片上的呼叫处理来说应当能够接入的池化资源的示例。本发明的交换中心服务器通过使主控器集中协调对所执行的池化资源的使用,避免了这些资源的子集专用于个别刀片。
对于干线来说,可以针对具有相同属性的每个电路集合提供路由主控器。TDM端接与CIC具有固定的受管理关系。每个路由具有用于对与路由相连接的CIC的选择和释放进行协调的主控器实例。主控器考虑适用于所讨论的路由的选择类型。包括对维持消息的处理在内的对维持过程的协调由路由主控器来执行。
可以针对每个ISDN接入提供接入主控器。对于IDSN接入,TDM端接与信道具有固定的受管理关系。每个一次群速率接入具有用于对与所连接的信道的选择和释放进行协调的主控器。该主控器被称作接入主控器,其考虑适用于所讨论的接入的搜寻类型。包括对维持消息的处理在内的对维持过程的协调由接入主控器来执行。相应地,对于每个路由或每个接入,可以提供主控器实例,每个主控器实例对共享资源池进行控制。
根据本发明的一个实施例,还在刀片之一上提供了呼叫控制器,用于在呼叫持续时间内对资源进行控制。在呼叫持续时间内,媒体网关中所使用的端接可以由呼叫控制器被提供在其上的刀片来控制。呼叫控制器可以向路由/接入主控器请求对资源的控制,并且可以在不再需要资源的情况下将对资源的控制返回给所述主控器。诸如状态改变和审核之类的维持过程可以由媒体网关主控器在媒体网关级别进行协调。
刀片和刀片集群可能由于硬件或软件错误而发生故障。故障意味着刀片不再可用于呼叫处理和维持处理。这些错误可以具有暂时或永久的特性。本发明提供了较高的可保持性,这意味着呼叫在可能的最大程度上保持完好。主持对用于呼叫的任何资源的主控器功能的刀片的故障不影响所建立的呼叫。
优选地,刀片集群被设计为使得在两个不同刀片上保存与针对呼叫所使用的资源有关的信息。通过一次将信息保持为在两个不同刀片上冗余,实现了以下优点。第一个优点是:可用性方面,意味着即使当主持主控器的刀片执行可对满足特定稳定性准则的呼叫进行保持的恢复动作时,池化资源也仍可用于集群中的其余刀片。另一个优点是:完整性方面,意味着除了由于断开由发生故障的刀片所控制的呼叫而导致的资源释放以外,各个刀片的故障是网络中其他节点看不见的。在单个刀片故障时,不会大规模地重置未使用的资源。
呼叫控制器维持与针对呼叫所使用的资源有关的信息。作为主要来源的主控器实例还知道任意刀片使用哪些资源。在主控器和呼叫控制器被提供在两个不同刀片上的情况下,在两个不同刀片上提供与所使用的资源有关的信息。如果主控器和呼叫控制器驻留于相同刀片上,则在另一刀片上使用伙伴,所述伙伴包含与主控器所使用的资源有关的信息。
根据本发明的另一方面,提供了刀片状态信息单元,用于确定不同刀片的状态。该刀片状态信息单元在一个刀片的状态改变时向另一个刀片通知所述状态改变。该刀片状态信息单元可以被设计为使得在每个刀片上提供刀片状态信息单元,其中不同刀片的不同刀片状态信息单元互相连接并交换与每个刀片的状态改变有关的信息。
此外,可以提供组通信服务单元,用于控制刀片之间的消息传送,使得消息以相同顺序传送至多个刀片。一个刀片上接收消息的用户可以确保在作为规定数目一部分的所有其他刀片上消息被传送至用户。此外,每个刀片知道哪些其他刀片是规定数目的一部分。
如上所示,集群中的刀片可能由于硬件或软件的错误而发生故障。相应地,可能失去在发生故障的刀片上提供的主控器。发生故障的刀片上存在的主控器失去主控器角色。为了创建新的主控器,可以提供协调器,用于创建新的主控器以替代发生故障的刀片上存在的主控器。优选地,协调器还决定在哪个刀片上分配新的主控器。协调器还可以创建新的伙伴以替代发生故障的刀片上存在的伙伴,协调器还决定在哪个刀片上分配新的伙伴。优选地,协调器考虑到不同刀片的用于分配新主控器或新伙伴的计算负载。因此,可以实现在不同刀片之间对计算负载的适当分发。
为了恢复发生故障的刀片,可以在每个刀片上提供刀片恢复单元,用于在刀片故障的情况下执行恢复过程。根据由发生故障的刀片应用的恢复机制,可以保持由临时发生故障的刀片所控制的呼叫。刀片恢复单元可以决定要保持由发生故障的刀片所处理的哪些呼叫以及不保持哪些呼叫,并在恢复过程结束时发送与用于所保持的呼叫的资源以及其控制被返回给主控器的资源有关的信息。在从发生故障的刀片接收到所述信息时,主控器断开未保持的呼叫并释放相关资源。对于刀片恢复,可以在所有不同刀片上保存配置数据。因此,其在抵御多刀片故障方面是鲁棒的。如果刀片在故障情形下丢失存储器,则刀片恢复单元从完好的刀片拷贝必需的数据。
本发明还涉及一种用于对交换中心服务器进行控制的方法,包括以下步骤:提供所述多个刀片能够接入的池化资源;以及由主控器协调所述多个刀片对所述呼叫的池化资源的使用。在呼叫持续时间内,呼叫控制由建立呼叫控制器来处理,所述呼叫控制器建立呼叫、监督呼叫、断开呼叫、向路由/接入主控器请求对资源的控制、并在不再需要资源的情况下将控制返回给所述主控器。相应地,在呼叫控制器和主控器驻留于其上的刀片上存在与所使用的资源有关的信息。优选地,资源信息一般被控制以使得在多于一个刀片上存在与所使用的资源有关的信息。
在附加步骤中,检测刀片的状态,其中,在一个刀片的状态改变的情况下,向其他刀片通知所述一个刀片的状态改变。通过检测刀片的状态改变,检测刀片故障。在附加步骤中,可以检测是否针对所述刀片执行恢复过程。如果不执行,则可以释放由所述发生故障的刀片所控制的所有资源,以用于其他呼叫。重置发生故障的刀片的资源。在单个刀片发生故障的情况下,在另一刀片上存在所有信息的拷贝。在发生故障的刀片上执行恢复过程的情况下,向主控器通知与用于在恢复过程之后未保持的呼叫的资源有关的信息,使得主控器随后可以重置未保持的呼叫的资源。当主控器从已执行刀片恢复的刀片接收到不再使用哪些CIC/信道的信息时,主控器就重置不再使用的那些CIC/信道,并可以将涉及相关TDM和临时端接的GCP(网关控制协议)扣除(subtract)命令发送至媒体网关。
当未保持发生故障的刀片的呼叫时,主控器重置发生故障的刀片已使用的CIC/信道和所连接的TDM端接,媒体网关主控器使用通配符机制来扣除临时端接。
当检测到在发生故障的刀片上存在主控器时,创建新主控器并将每个刀片所使用的资源的第一列表从每个其他刀片发送至新主控器。此时可能发生的是:用于呼叫的主控器和呼叫控制器驻留于相同刀片上。在这种情况下,向伙伴通知状态改变,例如由于常规业务处理而引起的CIC或信道的忙碌状况。相应地,在主控器刀片和呼叫控制器刀片相同的情况下,伙伴包含与主控器已使用哪些资源有关的信息。因此,在呼叫控制器和主控器存在于相同的发生故障的刀片上的情况下,伙伴(相应地,在其上提供伙伴的刀片)将由发生故障的刀片的呼叫控制器使用的已使用资源的第二列表发送至新主控器。如果发生故障的刀片不执行具有呼叫保持的恢复动作,则新主控器可以重置第二列表上存在的所有资源,并立即重新使用它们。
每个刀片接收与集群中的其他刀片的状态改变有关的通告。现在将被指派给发生故障的刀片的主控器和伙伴角色指派给不同刀片。每个刀片将其已租用的CIC/信道的列表发送至新主控器。到目前为止主持发生故障的刀片上的主控器的伙伴的刀片还将发生故障的刀片上的主控器已租用的CIC/信道的第二列表发送至协同定位于相同刀片上的呼叫控制器。可以针对新主控器中的每一个创建新伙伴,并可以利用新主控器驻留于其上的刀片上的用户当前租用的资源的忙碌数据以及从先前伙伴接收到的数据来更新该新伙伴。然后,新主控器和媒体网关主控器可以如上所述地执行对设备和端接的重置。
在发生故障的刀片上存在伙伴的情况下,主控器是活动的,创建新伙伴,并且当前主控器将由其自身的刀片所控制的CIC/信道的列表的拷贝发送至该新伙伴。对业务处理或维持活动没有影响。
如果主控器和又一个刀片同时发生故障,则其余刀片中的每一个向新主控器发送其已租用的CIC/信道的列表。新主控器不具有与两个发生故障的刀片上的呼叫控制器已租用哪些电路有关的信息。如果发生故障的刀片都不执行具有呼叫保持的恢复动作,则新主控器重置不存在于从其余刀片接收到的任何列表上的所有CIC/信道,并可以立即重新使用它们。
如上所述,可以在刀片故障时保持呼叫。在这种刀片恢复的情况下,不再使用的电路最终由主控器来重置。进行恢复的刀片仅在完成恢复过程之后才将仍使用的和不再使用的资源的列表发送至主控器。在接收到这些列表之前,主控器不能重置由发生故障的刀片使用的资源,这是由于不知道在发生故障的刀片的恢复过程中将可能保持哪些呼叫。在接收到包含不再使用的CIC/信道在内的所述列表时,主控器重置包含在该列表中的CIC/信道,并可以重新使用它们。
如果一个刀片执行具有呼叫保持的这种恢复过程,并且该刀片主持了主控器,则在不同刀片上立即指派新主控器。其余刀片中的每一个向新主控器发送其已租用的CIC/信道的列表。此时,伙伴具有与发生故障的刀片的呼叫控制器已使用哪些电路有关的信息。通过伙伴还发送由主持了主控器的发生故障的刀片的呼叫控制器所使用的资源的第二列表这一事实,新主控器就知道当前使用哪些资源以及未使用哪些资源。新主控器可以立即重新使用未包含在从其他刀片接收到的所述任何列表上的、且未被协同定位于相同刀片上的呼叫控制器使用的资源,这是由于新主控器知道当前未使用这些资源。新主控器将会把由发生故障的刀片租用的资源视为已使用,直到其在完成恢复时从该刀片接收到不再使用的资源的列表为止。在接收到包含不再使用的CIC/信道在内的所述列表时,主控器重置包含在该列表中的CIC/信道,并可以重新使用它们。
如果执行具有呼叫保持的这种恢复过程的刀片主持了主控器,并且如果不存在伙伴,则新主控器可以在发生故障的刀片的恢复过程的整个持续时间内不租出未包括在来自其余刀片的列表中的任何资源。原因是:新主控器可能不知道哪些未报告的CIC/信道已被进行恢复的刀片租用以及哪些CIC/信道已经空闲。在这种情形下,主控器可能限于在已释放呼叫之后变为可用的当前使用的资源。对于这些资源,主控器明确地知道所释放的资源可以用于其他呼叫。这将减少在池中可用的资源的数目并提高阻塞概率,尤其是在故障事件时池使用级别较低时。
伙伴的信息有助于避免对可用池化资源的限制,这是由于新主控器接收与哪些资源被发生故障的刀片使用有关的信息。新主控器可以重置除由发生故障的刀片使用的资源以外的、未由其他刀片使用的所有资源,这是由于这些资源中的一些可以由所保持的呼叫使用。在恢复过程之后,向新主控器通知所保持的和未保持的呼叫。然后,新主控器可以重置所述刀片的所有不再使用的资源。
在仅一个刀片处于活动状态的情况下,无法在其他刀片上创建伙伴。相应地,当检测到多于一个刀片处于活动状态时,可以针对另一刀片上的主控器创建伙伴。
当必须针对发生故障的刀片上存在的主控器创建新主控器时,可以执行以下步骤:首先,可以由协调器确定在哪个刀片上创建新主控器。在下一步骤中,协调器可以向其他刀片通知新主控器的创建。然后,新主控器可以构建由每个刀片所使用的资源的状态表,使得其他刀片此时可以将新主控器为了协调多个刀片对池化资源的使用而需要的信息发送给新主控器。然后,主控器可以向伙伴提供与由自身刀片所执行的呼叫控制相关的数据的拷贝,该伙伴在已接收到并成功存储数据时通知主控器。最后,新主控器向其他刀片通知主控器的创建的完成。
对于计算资源原因,可能需要将主控器和/或伙伴移动至其他刀片。
为了对伙伴进行移动,执行与针对对伙伴进行创建相同的步骤。对伙伴进行移动可以包括以下步骤。在第一步骤中,协调器确定应当移动哪个伙伴以及或该伙伴应当被移动至哪个刀片。在下一步骤中,主控器将新伙伴所需的所有数据发送至新伙伴,并且新伙伴向其他刀片通知移动的成功完成。
此外,可能必须移动协调器。根据本发明的一个方面,在具有最小寿命等级从而意味着在最长时间内处于活动状态的刀片上提供协调器。优选地,对用于控制新主控器的移动或创建的协调器的移动不影响对新主控器的移动或创建。
在移动主控器期间接收到针对资源的占用请求的情况下,对这些占用请求进行缓冲,并且在完成传送之后,将这些占用请求发送至新主控器。在完成传送之前检测到新主控器的故障的情况下,中止移动。
为了确保当将新刀片添加至刀片集群时将新添加的刀片与其他刀片进行协调,将主控器和伙伴的当前状态和分配从另一刀片发送至新的活动刀片。
附图说明
以下将参照附图来描述本发明,在附图中:
图1示出了本质上协调主控器对资源的使用的具有刀片集群结构的交换中心服务器;
图2a和b示出了具有三个刀片的刀片集群的示例以及对呼叫控制器和主控器的分配;
图3示出了给出在不同刀片上提供的资源信息的总览的刀片结构;
图4示出了具有三个刀片的刀片结构和三个路由的不同置换以及对资源的使用;
图5示出了具有四个刀片的刀片结构以及在没有呼叫保持的情况下在一个刀片的刀片故障时主控器和伙伴角色的分配;
图6示出了向图5的结构的新主控器传送数据的刀片结构;
图7示出了向新伙伴传送数据的图5的刀片结构;
图8示出了创建新主控器的流程图;
图9示出了在移动主控器期间由用户缓冲服务请求的流程图;
图10示出了主控器移动的状态机;
图11示出了在移动主控器期间刀片改变状态的流程图;
图12示出了示出伙伴的成功移动的流程图;
图13示出了伙伴的状态机;
图14示出了移动伙伴期间的流程图;
图15示出了具有四个刀片的刀片结构以及在一个刀片的刀片故障时在执行不具有呼叫保持的恢复的情况下主控器和伙伴角色的分配。
图16示出了向图15的结构的新主控器传送数据的刀片结构;
图17示出了向新伙伴传送数据的图15的刀片结构;
图18示出了在刀片恢复结束时传送数据的图15的刀片结构;
具体实施方式
在图1中,示出了具有带有多个刀片110的集群结构的移动服务交换服务器(MSC服务器)100的示例性实施例。为了处理呼叫,移动交换中心100连接至媒体网关(MGw)200。每个MGw包括多个端接210。如本领域公知,MGw充当各个电信网络之间的转换单元,MGw通过多种传输协议来实现多媒体通信。诸如用户平面端接210或电路集合或信道之类的资源是所有刀片110应当可接入的池化资源的示例。对池化资源的使用的协调由如图1右侧部分所示的主控器112来执行,而在刀片上提供的模块中的一些在示例性实施例中示出。对于干线,主控器是用于对与路由相连接的CIC的选择和释放进行协调的路由主控器。对于每个路由,提供了路由主控器,每个主控器用于对池化资源的池进行协调。换言之,每个共享资源池由专用主控器来控制。对于ISDN接入,主控器是用于对与接入相连接的信道的选择和释放进行协调的接入主控器。此外,提供了呼叫控制器111,用于在呼叫期间对各个资源进行控制,即,建立呼叫、监督呼叫和断开呼叫。此外,在每个刀片上提供了刀片状态确定单元,与其他刀片上的刀片状态确定单元进行通信,以便向其他刀片通知状态改变,例如在刀片故障的情况下。
此外,可以在刀片上提供协调器115,用于决定哪些刀片将主持主控器112或伙伴113。如以下将更详细地解释的,在用于特定呼叫的主控器112和呼叫控制器111被提供在相同刀片上的情况下,提供伙伴113。此外,提供了组通信服务单元116,用于对不同刀片之间的消息传送进行控制,使得消息以相同顺序传送至所有刀片。此外,提供了刀片恢复单元(未示出),用于在刀片故障的情况下发起刀片恢复过程。媒体网关级别的维持过程由图1的实施例中未示出的媒体网关主控器来协调。
现在,集群的刀片110可能由于硬件或软件的错误而发生故障。刀片恢复单元执行在路由和PRA级别执行的刀片恢复过程。以下,当提到所有呼叫或所有设备时,这指的是由路由或PRA承载的所有呼叫以及与路由或PRA相连接的所有设备。
刀片配置改变和故障恢复
恢复准备
恢复原理是:在不同刀片上尽快恢复受影响的刀片向其他刀片提供的所有功能,而不等待受影响的刀片恢复。恢复准备有助于将这种功能向其他刀片的转移时间保持为较短。
每个路由/PRA主控器具有伙伴。为了减少刀片间通信,不向伙伴(即,伙伴刀片)通知由于常规业务处理而引起的CIC或信道的状态改变(忙碌状况),而只通知其中路由/PRA主控器刀片和呼叫控制刀片相同的呼叫。对于后一种情况,还将忙碌状态信息存储在伙伴刀片上,并且不给呼叫控制器租用CIC,直到忙碌状况由伙伴成功存储为止。这样,业务相关(忙碌)状态信息在任何时刻都在呼叫控制刀片和又一个刀片处可用。
作为示例,图2a示意了由主控器112b、伙伴113b和呼叫控制器111存储哪个信息。在刀片1上,呼叫控制器111具有条目“R-B;CIC-08”,这意味着已租用路由B的CIC 08。路由主控器B 112b的忙碌电路的列表中的第一条目是“B-1;CIC-08”。这意味着已将CIC号码08租给刀片1上的呼叫控制器111。由于主控器112b和呼叫控制器111不驻留于相同刀片上,因此在刀片3上的路由伙伴113b中不存在对应的条目。
图2b示出了主控器112a和呼叫控制器111驻留于相同刀片上的情况的示例。在刀片1上,呼叫控制器111具有条目“R-A;CIC-12”,这意味着已租用路由A的CIC 12。路由主控器A 112a的忙碌电路的列表中的第一条目是“B-1;CIC-12”。这意味着已将CIC号码12租给刀片1上的呼叫控制器。由于主控器112a和呼叫控制器111驻留于相同刀片上,因此已将CIC12用于刀片1上的呼叫控制器这一信息还由驻留于刀片2上的伙伴113a存储。
在图3中,概括了不同刀片对属于一个路由的电路的了解。图3针对每个刀片示出了阴影区域,用于指示刀片知道其状态的电路的集合。大区域130表示可用于所述路由的电路的总数。较小区域131表示由每个刀片租用的电路。用于表示区域130和131的区别的区域132表示所述路由的空闲电路。在所示的实施例中,提供了四个不同刀片。刀片1知道哪些电路由刀片1租用,而刀片2知道由刀片2租用的电路。在所示的实施例中,刀片3包括:路由主控器,知道不同刀片针对该预定路由而使用哪些电路。在刀片3上提供的主控器具有与由刀片1、刀片2、刀片3、刀片4租用的电路以及未租给任何呼叫控制器的空闲电路有关的信息。可见,主控器还知道未使用的电路的状态。在所示的实施例中,在刀片4上包含伙伴。因此,伙伴刀片不仅仅知道哪些电路由刀片4租用。在用于呼叫的呼叫控制器还被提供在提供了主控器的刀片3上的情况下,刀片4以其伙伴角色还知道由刀片3租用的电路。对于每个呼叫,提供了呼叫控制器,这些呼叫控制器分布在刀片上。在与主控器相同的刀片上针对特定路由提供用于使用所述路由的呼叫的呼叫控制器的情况下,伙伴还包含于哪些电路由提供了主控器的刀片租用有关的信息。
MGw主控器不具有伙伴。在所有刀片上复制MGw状态信息。以下示出了用于指示如何分发呼叫相关信息的表。
主存储器是在正常操作期间保存信息的地方并用于参考。辅存储器是在正常操作期间保存信息以用于备份的地方。如果主存储器不可用,则使用备份存储器来恢复主存储器中的信息。如果主存储器和辅存储器位于相同刀片上,则备选备份是用来代替辅存储位置的存储位置。
与上述不同,如果仅存在一个刀片来处理业务,则无法提供冗余。在这种情形下,不存在伙伴。一旦又一个刀片处理业务,就创建伙伴。重新平衡将确保当两个或更多个刀片处于业务模式时,主控器是均匀分布的。
在图4中,示例示出了由主控器、伙伴和呼叫控制器存储哪个信息。路由主控器A112a的忙碌电路的列表中的第一条目是“B-1;CIC-12”。这意味着已将CIC号码12租给刀片1上的呼叫控制器。在相同的刀片上,呼叫控制器具有条目“R-A;CIC-12”,这意味着已租用路由A的相同CIC。由于主控器112a和呼叫控制器111驻留于相同刀片上,因此刀片2上的路由A伙伴113a也具有条目“B-1;CIC-12”,用于指示已将CIC-12租给刀片1上的呼叫控制器。
在图4所示的示例中,刀片1上的呼叫控制器111-1还租用了路由A的电路25。由于包含与忙碌电路25有关的信息在内的路由主控器112a还包含在刀片1的路由A上,因此伙伴113a还具有由刀片1使用的忙碌电路CIC-25的条目。路由C伙伴113c具有在刀片3上电路34忙碌的条目,这是由于电路34的呼叫控制器和路由C主控器112c都被提供在相同的刀片(即刀片3)上。同样地,路由B伙伴113b包含在刀片2上电路18对于路由B来说忙碌的信息,该信息另外被提供在刀片2上的呼叫控制器111-2和路由B主控器112b中。在所示的其他示例中,在两个不同刀片上提供了与所租用的电路和忙碌电路有关的信息,使得不需要伙伴中的附加信息。
在刀片故障时的恢复
一旦刀片离开活动状态,其曾具有的任何主控器和伙伴角色就会丢失。必须建立对主控器和伙伴的角色的替代。
根据是执行具有呼叫保持的恢复过程还是执行不具有呼叫保持的恢复过程,对由发生故障的刀片租用的资源的处理有所不同。如果可以保持由发生故障的刀片控制的呼叫,则通知其他刀片。
在单个刀片故障时由其他刀片执行的动作
设备和端接的重置
在正在进行的呼叫丢失的情况下的刀片恢复:
路由主控器知道哪些CIC由发生故障的刀片使用,PRA主控器知道哪些信道由发生故障的刀片使用。一旦知道刀片已发生故障并且不执行具有呼叫保持的恢复,(新)路由/PRA主控器就重置发生故障的刀片已使用的CIC/信道和所连接的TDM端接。MGw主控器使用用于标识进行恢复的刀片所使用的端接的通配符机制来扣除临时端接。
允许呼叫保持的刀片恢复:
主控器从已执行具有呼叫保持的恢复过程的刀片接收来自进行恢复的刀片的、与仍使用哪些CIC/信道以及不再使用哪些CIC/信道有关的信息。然后,主控器重置不再使用的那些CIC/信道,并将涉及相关TDM和临时端接的GCP扣除命令发送至MGw。这里,通配符机制不可能用于扣除临时端接。
媒体网关主控器处于发生故障的刀片上
不同的刀片被指派了MGw主控器的角色。正在进行的呼叫不受影响。
路由/PRA主控器处于发生故障的刀片上,伙伴是活动的
每个刀片接收与集群中的其他刀片的状态改变有关的通告。被指派给发生故障的刀片的主控器和伙伴角色现在被指派给不同刀片。每个刀片将其已租用的CIC/信道的第一列表发送至新主控器。到目前为止主持发生故障的刀片上的主控器的伙伴的刀片还将发生故障的刀片上的主控器已租用的CIC/信道的第二列表发送至协同定位于自身刀片上的呼叫控制器。将针对新主控器中的每一个创建新伙伴,并将利用新主控器驻留于其上的刀片上的用户当前租用的CIC/信道的忙碌数据以及从先前伙伴接收到的数据来更新该新伙伴。然后,新主控器和MGw主控器如上所述地执行对设备和端接的重置。
伙伴处于发生故障的刀片上,主控器是活动的
创建新伙伴,并且当前主控器将由其自身的刀片所控制的CIC/信道的列表的拷贝发送至该新伙伴。对业务处理或维持活动没有影响。在多刀片故障时由其他刀片执行的动作
没有刀片执行具有呼叫保持的刀片恢复
将由于刀片故障而变为空缺的主控器和伙伴角色重新指派给其他刀片。
如果两个刀片同时发生故障,则一些设备将失去呼叫控制器和主控器角色。如果没有刀片执行具有呼叫保持的刀片恢复,则新主控器可以识别哪些电路/信道未被任何刀片使用:在创建新主控器时,所有刀片将其已租用的电路的列表发送至新主控器。未被指示为由任何刀片租用的电路是空闲的,或者已由重新启动的刀片中的任一个租用,它们处于未知的状态。
由于双刀片故障,新主控器无法确定这些电路中哪些是空闲的以及这些电路中哪些被租给应断开的呼叫。其将重置所有这些电路/信道并扣除相应端接。
在设备处于未知状态的时段内,路由/PRA主控器不能针对新呼叫而将其租出。任何刀片从租用返回的、处于已知状态的设备可以被立即指派给新呼叫。
对不能以这种方式而服务的任何占用请求进行缓冲(FIFO)和处理,直到已知为空闲的设备可用为止。在缓冲器溢出时,拒绝最早的占用请求。
针对在发生故障的刀片上具有伙伴的每个路由/PRA主控器分配新伙伴。新伙伴将负担有针对由(新)主控器所驻留的刀片所控制的呼叫而租用的CIC/信道的忙碌状况。
一个或多个刀片执行具有呼叫保持的刀片恢复
如果有任何刀片执行可能导致呼叫得以保持的恢复过程,则活动刀片不能假定可以重置其租用的哪些电路/信道。由进行恢复的刀片来决定哪些呼叫被保持。在恢复过程结束时,主控器接收与由于呼叫断开而要重置哪些电路/信道有关的信息。
当主持主控器的刀片与不同刀片同时发生故障并且它们中的一个或两个执行具有呼叫保持的恢复过程时,新分配的主控器不能判断出未被其余刀片报告的电路中哪些是空闲的以及哪些被执行这种恢复过程的刀片所占用。因此,无法重置状态未知的这些电路中的任一个,直到不再进行具有呼叫保持的恢复过程为止。
在设备处于未知状态的时段内,路由/PRA主控器不能针对新呼叫而将其租出。任何刀片从租用返回的、处于已知状态的设备可以被立即指派给新呼叫,直到它们被阻塞为止。
对不能以这种方式而服务的任何占用请求进行缓冲(FIF0)和处理,直到已知为空闲的设备可用为止。在缓冲器溢出时,拒绝最早的占用请求。
将针对在发生故障的刀片上具有伙伴的那些路由/PRA主控器确定新伙伴。新伙伴将负担有针对由(新)主控器所驻留于的刀片所控制的呼叫而租用的CIC/信道的忙碌状况。
执行不具有呼叫保持的恢复的刀片上丢失的主控器的伙伴向新主控器发送所丢失的主控器已租给协同定位的呼叫控制器的电路的列表。新主控器可以立即重置这些电路,扣除所连接的端接,并重新使用它们。
由执行具有呼叫保持的恢复的刀片执行的动作
角色分发
执行允许呼叫得以保持的恢复动作的刀片立即失去其在恢复发生之前所具有的任何主控器或伙伴角色。在恢复期间没有信息从进行恢复的刀片传递至新主控器或伙伴(或任何其他刀片)。
在不同的但进行恢复的刀片上具有主控器的CIC/信道
主控器向进行恢复的刀片对CIC/信道的任何租用保持有效。该刀片自身将确定要保持哪些呼叫以及要断开哪些呼叫。在恢复过程结束时,进行恢复的刀片将与由于呼叫断开而要重置哪些电路/信道有关的信息发送至路由/PRA路由器。
进行恢复的刀片无法判断出在其上将占用请求发送至主控器所驻留的刀片的CIC/信道的状态,但未接收到肯定应答。可能的情况是在恢复过程期间丢失了占用请求,但也可能的情况是肯定应答丢失。必须释放相关呼叫,并也请求CIC/信道以释放。如果从占用了资源的相同刀片接收到对CIC/信道的释放,则主控器将仅接受该对CIC/信道的释放。该预防措施是必要的,这是由于如果主控器从未执行可疑的占用,则CIC/信道可能由不同刀片占用。
进行恢复的刀片无法判断出在其上发送释放请求的CIC/信道的状态,但未接收到肯定应答。可能的情况是在恢复期间丢失了释放请求,但也可能的情况是肯定应答丢失。必须释放相关呼叫,并且进行恢复的刀片再次请求CIC/信道以释放。如果从占用了资源的相同刀片接收到对CIC/信道的释放请求,则主控器将仅接受该对CIC/信道的释放请求。该预防措施是必要的,这是由于如果主控器执行了可疑的占用,则CIC/信道可能由不同刀片占用。主控器容忍对不处于忙碌状态的CIC/信道的释放尝试。
由执行不具有呼叫保持的恢复的刀片执行的动作
该刀片对资源的任何租用变为无效。进行恢复的刀片不向主控器报告任何CIC/信道。进行恢复的刀片清除所有呼叫,但不发送重置消息和扣除命令。
具有呼叫保持的刀片恢复的示例
以下图示出了路由的处理;PRA的处理是根据相同原理来进行的。
图5示出了具有四个刀片的集群。刀片2离开活动状态以执行恢复动作。在恢复期间,无法与其他节点进行通信。恢复的类型不允许保持由该刀片所控制的任何呼叫。
路由A主控器112a驻留于刀片1上。其重置已被租给刀片2的所有电路。在示例中,其仅是CIC-50。路由A主控器将针对与路由A的CIC-50相连接的端接的扣除命令发送至MGw。
路由C主控器112c驻留于刀片3上。其重置已被租给刀片2的所有电路。在示例中,其仅是CIC-98。路由C主控器将针对与路由C的CIC-98相连接的端接的扣除命令发送至MGw。
需要重新指派路由B的主控器角色,这是由于其先前被指派给刀片2。现在其被指派给刀片3。无论何时重新指派主控器角色,也都重新指派伙伴角色。现在将路由B的伙伴角色指派给刀片1。
需要重新指派路由A的伙伴角色,这是由于其先前被指派给刀片2。现在其被指派给刀片4。
图6示出了路由B的新主控器112b现在如何从处于活动状态的所有刀片的呼叫控制器接收CIC状态。CIC-36由相同刀片上的呼叫控制器111-3租用,CIC-08由刀片1上的呼叫控制器111-1租用。
路由B的旧伙伴113b向路由B的新主控器112b报告CIC-18已被租给刀片2。为了在任何时刻将信息保持为在两个刀片上冗余,新主控器将该数据传递给新伙伴,参见图7。旧伙伴保存数据,直到整个角色移动序列成功完成为止。新主控器重置已被租给刀片2的所有电路。在示例中,其仅是CIC-18。新主控器将针对与路由A的CIC-18相连接的端接的扣除命令发送至MGw。
新路由B主控器112b向新路由B伙伴113b报告被租给自身的刀片上的呼叫控制器的所有电路。在图7所示的示例中,其是CIC-36。
图7示出了路由A的主控器112a如何将与由自身刀片所控制的呼叫相关的数据馈送至其新伙伴113a。在示例中,其是CIC-12。
具有呼叫保持的刀片恢复的示例
该示例示出了路由的处理;PRA的处理是根据相同原理来进行的。
图15示出了具有四个刀片的集群。刀片2离开活动状态以执行恢复动作。在恢复期间,无法与其他节点进行通信。恢复的类型允许保持由该刀片控制的呼叫。将断开不被视为稳定的一些呼叫。其他刀片直到完成刀片恢复之前都无法判断出将保持哪些呼叫。
路由A的主控器112a驻留于刀片1上。其知道已被租给刀片2的所有电路。在示例中,其仅是CIC-50。租用继续。
路由C的主控器112c驻留于刀片3上。其知道已被租给刀片2的所有电路。在示例中,其仅是CIC-98。租用继续。
需要重新指派路由B的主控器角色112b,这是由于其先前被指派给刀片2。现在其被指派给刀片3。无论何时重新指派主控器角色,也都重新指派伙伴角色。现在将路由B的伙伴角色指派给刀片1。
图16示出了路由B的新主控器现在如何从处于活动状态的所有刀片的呼叫控制器接收CIC状态。CIC-36由相同刀片上的呼叫控制器租用,CIC-08由刀片1上的呼叫控制器租用。
路由B的旧伙伴113b向新主控器112b报告CIC-18已被租给刀片2。租用继续。
为了在任何时刻将信息保持为在两个刀片上冗余,新主控器将该数据传递给新伙伴,参见图17。旧伙伴保存数据,直到整个角色移动序列成功完成为止。
需要重新指派路由A的伙伴角色,这是由于其先前被指派给刀片2。现在其被指派给刀片4。图17示出了路由A的主控器112a如何将与由自身刀片所控制的呼叫相关的数据馈送至其新伙伴113a。在示例中,其是CIC-12。
在恢复过程结束时,刀片2上的呼叫控制器向路由主控器通知由于因恢复过程而断开使用电路的呼叫从而应当重置的电路,参见图18。相应主控器将重置这种电路,并扣除相应端接。
主控器和伙伴的创建
创建的触发点
当在所有活动刀片上定义可分发的对象时,协调器决定在哪个刀片上分配主控器和伙伴角色。凭借所广播的消息来通知处于活动状态的所有刀片。如果集群中仅一个刀片处于活动状态,则不能创建伙伴。在这种情形下,一旦第二刀片可用,协调器随后就将创建伙伴。
主控器和伙伴的创建的另一触发是当主持主控器的刀片在没有先前成功移动的情况下离开活动状态时。
主控器和伙伴的创建还在协调器决定正在进行的创建已由于超时而失败时被触发。
分配算法
用于分配主控器和伙伴的算法必须满足以下准则:
·必须在目标刀片上定义对象的交换数据;
·必须从未在相同刀片上分配相同的所分发的对象的主控器和伙伴;
·应当在所有刀片上分发处理负载,使得所有刀片被加载至其个体容量的相同百分比。
主控器和伙伴的创建
协调器决定哪些刀片将主持主控器和伙伴。序列在图8中示意。没有从主控器至MGw的伙伴的数据传送。在以下逐步骤的描述中指出不适用于MGW对象的步骤。
当创建主控器和伙伴时,无法知道先前是否存在主控器和伙伴。在没有主控器和伙伴的情况下,呼叫可能正在进行,呼叫也可能已被断开。由于该刀片的恢复过程,针对在呼叫控制刀片处缓冲的所租用的资源的释放请求可能丢失。因此,不能排除电路和端接由发生故障的刀片租用并可能挂起的可能性。作为修正,需要重置不具有已知租用者的任何资源,除非在非业务处理刀片上正在进行具有呼叫保持的恢复动作。
步骤1:具有最小寿命等级的活动刀片始终具有协调器角色。其确定将主持新主控器和新伙伴的刀片。
然后,协调器通过将NEW_MASTER消息多播至所有活动刀片来触发创建过程。从而在没有进一步肯定应答消息的情况下指派角色。
步骤2:该步骤不适用于MGw。现在,新主控器准备从其他刀片接收数据。主控器将编译从其他刀片接收到的数据,以构建针对其所负责的所有资源的完整忙碌/空闲表。
步骤3:该步骤不适用于MGw。利用消息“传送(TRANSFER)”,除主持主控器的刀片以外的处于活动状态的所有刀片都提供新主控器需要执行主控器角色的其数据。
步骤4:该步骤不适用于MGw。主控器通过发送UPDATE_BUDDY来向伙伴提供与自身刀片上的呼叫控制器相关的数据的拷贝。
步骤5:伙伴利用BUDDY_READY消息来向主控器指示其已接收并存储来自主控器的数据以及其准备好充当伙伴的角色。
步骤6:新主控器将CHANGE_MASTER消息多播至所有活动刀片。现在,新主控器必须重置其前任(以及可能地,在没有主控器期间已离开活动状态的其他刀片)可能已租用的所有资源。新主控器必须等待直到没有刀片执行具有呼叫保持的恢复为止,然后,根据其所负责的资源的类型,新主控器重置所有电路、B-信道或扣除包括其自身在内的任何刀片当前都未租用的所有端接。应当实现开窗(windowing)机制以扼杀扣除消息的大量流,从而防止MGw过载。主控器和伙伴的移动
概要
为了平衡处理器的和刀片间的信令负载,将各个路由、PRA或MGw的主控器身份角色移动至不同刀片可能变得必要。
主控器身份的移动的另一触发是:协调器检测到刀片离开活动状态。然后,协调器将触发将该刀片主持的任何主控器或伙伴角色移动至其他刀片。如果不存在主控器可被移动至的活动刀片,则旧的主控器将最终不再存在,主控器的角色变为空缺。
用于将主控器移动至不同刀片的任何序列必须在任何给定时刻在抵御任何刀片的不可用性方面是鲁棒的。承载相关消息的协议提供了用于得到所有预期的接收机刀片已接收到特定消息的肯定确认的手段。在故障后返回的刀片必须从任何其他刀片得到最近的状态。如果进行恢复的刀片在移动过程中不起到决定性的作用,这种事件就将不中断该移动。协议载体需要保证集群全局排序,即,通过该载体而发送的消息始终以相同的顺序在所有刀片上接收。
为了减少潜在错误情形的数目,将在刀片之间发送的消息的数目保持为最少。
在移动路由/PRA主控器的持续时间内,无法针对相应路由/PRA建立新呼叫。对MGw主控器的移动不会导致任何业务干扰。
通过对MOVE_MASTER进行多播来从协调器刀片发起移动。该移动是通过对CHANGE_MASTER或NOT_MOVED进行多播或者在针对主控器或伙伴角色而指定的刀片之一离开活动状态时端接的。在以下章节中描述细节。
如果一个或多个刀片不可达,或者如果在集群中存在分脑(split brain)情形,则广播或多播是不可能的。由于既不能开始移动又不能完成移动,因此将冻结对主控器和伙伴的分配。因此,如果主控器和伙伴同时或顺序地发生故障,则角色将空缺,并且系统不再能够使用相应对象。一旦可以再次通信,协调器就将触发主控器和伙伴的创建。
主控器身份的成功移动
刀片间的通信序列与主控器和伙伴的创建相同,如图8所示。在接收到NEW_MASTER消息时,当前主控器暂停其角色,直到该序列成功完成或被中止为止。
在移动序列期间,在旧伙伴与新伙伴之间不传送数据。新伙伴将保存与旧伙伴完全不同的数据集合,这是由于主控器是在不同刀片上分配的。旧伙伴将保存数据直到移动序列终止为止;如果序列中止,则角色分配回退至在移动前有效的指派。
在移动主控器期间对服务请求的处理
呼叫处理在移动主控器期间继续。在旧主控器与新主控器之间传送数据期间,呼叫控制器可能想要租用信道/电路或释放它。必须特别注意地设计移动过程,以避免由于修改被移动至新刀片的数据而可能导致的不一致。该移动仅在目的地已担任主控器的角色时才完成。直到这时,其可以在任何时刻由于恢复动作或目的地刀片断供而中止。在这种情形下数据也必须保持一致。
为了避免不一致,在移动的整个持续时间内对与移动对象相关且影响所传送的数据的服务请求进行缓冲。
图9示出了在移动主控器角色期间对服务请求的处理。呼叫控制刀片在接收至主控器刀片的NEW_MASTER和CHANGE_MASTER之间执行缓冲。
步骤1:可以针对由旧主控器刀片控制的呼叫尝试占用。在处理请求之前,刀片等待直到接收到CHANGE_MASTER为止。
步骤2:可以针对由其他刀片控制的呼叫尝试占用。该刀片等待直到接收到CHANGE_MASTER为止。
步骤3:在接收到CHANGE_MASTER时,主持旧主控器的呼叫控制刀片将缓冲后的SEIZURE_REQUEST消息发送至新主控器刀片。
步骤4:在接收到CHANGE_MASTER时,任何呼叫控制刀片将缓冲后的SEIZURE_REQUEST消息发送至新主控器刀片。
在主控器身份的显式移动期间的例外情形
原理是:在任何时刻,所有刀片具有足以确定移动是否仍在进行或者移动是否成功终止的信息。图10示出了在所有主控器的每个活动刀片上维持的移动相关状态机。通过发送或接收所命名的消息来触发转移。
以下将结合图11来描述刀片断供和通信问题的后果。
如果主控器或伙伴在图11中的阴影时间间隔内发生故障,则中止该移动。
移动操作的超时
所有刀片运行对每个正在进行的移动操作的时间监督。在超时时,协调器将尝试通过重复以MOVE_MASTER开始的过程来创建新主控器和伙伴。优选地,其将尝试在与先前不同的刀片上分配角色。
协调器角色移动:
协调器角色仅在主持当前协调器的刀片离开活动状态的情况下才移动。如果协调器角色在接收到CHANGE_MASTER之前的任何时刻移动,则将对移动主控器的序列没有影响。在任何时刻,处于活动状态的所有其余刀片具有足以接管协调器角色的信息。具有最小寿命等级的其余刀片(即,已在最长时间内处于活动状态的刀片)将重新占用(resume)协调角色。它将知道正在进行的移动,这是由于它采用与所有其他刀片相同的方式接收到MOVE_MASTER消息。在正在进行的移动成功或不成功终止之前,其必须不触发任何附加重新平衡动作。其将针对正在进行的移动序列在自身刀片上使用已运行的监督定时器。
新刀片在移动期间变为活动:
想要加入活动状态的刀片将在ALLOCATION_TABLE消息中从具有最小寿命等级的刀片接收当前状态以及主控器和伙伴的分配。其将知道移动是否正在进行,并将被包括在CHANGE_MASTER的接收方列表中,这是由于通过集群组通信服务使新主控器知道新用户的状态改变。
其他刀片在移动期间改变状态:
既不针对主控器又不针对伙伴指定的刀片已改变刀片状态的事实并不影响移动序列。
所指定的主控器或伙伴在移动期间离开活动状态:
如果主持新主控器或新伙伴的刀片中的任一个离开活动状态,则集群处理器服务将通知处于活动状态的所有刀片。如果这在图11中的阴影时间间隔期间发生,即,如果其余刀片到那时尚未接收到CHANGE_MASTER,则它们将中止该移动,并如同从未接收到MOVE_MASTER一样进行操作。如果信息在接收到CHANGE_MASTER之后到达,则该移动被视为成功完成,并且采用主控器断供时的正常恢复动作。
广播或多播是不可能的:
如果已经发送MOVE_MASTER,并且对NOT_MOVED或CHANGE_MASTER的广播或多播是不可能的,则协调器将检测移动操作的超时,并且上述处理适用。从长期来讲,不能移动主控器身份可能减弱节点的容量和/或连接性。一旦再次可以通信,系统就将从该状况恢复。
伙伴的移动
概要
为了平衡处理器和刀片间的信令负载,将各个路由、PRA或MGw的伙伴角色移动至不同刀片可能变得必要。伙伴的移动仅在至少以下三个刀片处于活动状态的情况下才是可能的:一个用于主控器,一个用于当前伙伴角色,另一个作为伙伴移动的目标。
在主持主控器的刀片上,只要伙伴移动正在进行,就不能针对相应路由/PRA建立呼叫。原因是:否则,不能将电路/信道状态保持为在两个不同刀片上冗余。MGw伙伴的移动不会导致任何业务干扰。
协调器将检测刀片离开活动状态,并将触发将刀片主持的任何主控器或伙伴角色移动至其他刀片。如果不存在伙伴可被移动至的处于活动状态的刀片,则旧伙伴将不再存在,伙伴的角色变为空缺的。
用于将伙伴移动至不同刀片的任何序列必须在任何给定时刻在抵御任何刀片的不可用性方面是鲁棒的。组通信服务提供了用于获得所有预期的接收机刀片已接收到特定消息的肯定确认的手段。返回至活动状态的刀片将利用ALLOCATION_TABLE消息从协调器接收最近分配信息。
为了减少潜在错误情形的数目,将在刀片之间发送的消息的数目保持为最少。
伙伴身份的成功移动
图12示出了在不干扰服务请求的情况下或在无错误情形中的消息序列。
步骤1:已在最长时间内处于活动状态的刀片(协调器)确定应当移动哪个伙伴以及应当移动至哪个目的地。然后,其通过将MOVE_BUDDY消息多播至处于活动状态的所有刀片来触发该过程。
步骤2:主控器所驻留的刀片编译新伙伴所需的所有数据,并在UPDATE_BUDDY消息中将其发送至所指定的伙伴。
步骤3:主控器必须注意,正在进行的过程不影响要被传送至新伙伴的数据;否则,新伙伴将丢失相关信息。这种请求仅源自相同刀片上的呼叫控制器。主控器所驻留的刀片将对这种占用或释放请求进行缓冲,并不在接收至伙伴刀片的MOVE_BUDDY和CHANGE_BUDDY之间将任何相关更新消息发送至伙伴。
步骤4:然后,新伙伴刀片上的服务实例将CHANGE_BUDDY消息多播至处于活动状态的所有刀片。旧伙伴刀片将CHANGE_BUDDY视为刀片已失去伙伴角色的指示。其在移动不成功的情况下删除所保存的所有伙伴数据。
步骤5:当主控器刀片接收到CHANGE_BUDDY消息时,其开始处理来自自身呼叫控制器的服务请求。其将针对任何已改变的CIC状态的UPDATE_BUDDY消息发送至新伙伴刀片。
在移动伙伴角色期间的故障情形
原理是:在任何时刻,所有刀片具有足以确定移动是否仍在进行或者移动是否成功终止的信息。图13示出了在所有伙伴的每个活动刀片上维持的移动相关状态机。通过发送或接收所命名的消息或通过刀片状态改变来触发转移。
如果主持主控器或新伙伴的刀片中的任一个离开活动状态,则集群处理器服务将通知处于活动状态的所有刀片。如果这在图14中的阴影时间间隔期间发生,即,如果其余刀片到那时尚未接收到CHANGE_BUDDY,则它们将中止该移动,并如同从未接收到MOVE_BUDDY一样进行操作。如果信息在接收到CHANGE_BUDDY之后到达,则该移动被视为成功完成,并且采用伙伴断供时的正常恢复动作。
以下讨论刀片可主持的每个角色的可能性。
移动操作的超时
每个刀片运行对每个正在进行的移动操作的时间监督。在超时时,协调器将尝试通过重复以MOVE_BUDDY开始的过程来创建新伙伴。主控器将知道:在先前未接收到BUDDY_NOT_MOVED或CHANGE_BUDDY的情况下,当接收到BUDDY_NOT_MOVED时或当接收到MOVE_BUDDY时,正在进行的移动失败。不需要断开任何呼叫,这是由于将要被发送至伙伴的信息仍由主控器和旧伙伴来缓冲。
协调器丢失:
如果协调器在接收到CHANGE_BUDDY之前的任何时刻移动(在如上所述的状况下),则将对移动的序列没有影响。在任何时刻,处于活动状态的所有刀片具有足以接管协调器角色的信息。已在最长时间内处于活动状态的其余刀片将重新占用协调角色。其将知道正在进行的移动,这是由于其采用与所有其他刀片相同的方式接收到MOVE_BUDDY消息。其将针对正在进行的移动操作在自身刀片上使用已启动的监督定时器。
新刀片在移动期间加入活动状态:
想要加入活动状态的刀片将利用ALLOCATION_TABLE消息从协调器刀片得到当前状态以及主控器和伙伴的分配。其将知道移动是否正在进行,并将被包括在CHANGE_BUDDY的接收方列表中,这是由于使新伙伴知道状态改变。
其他刀片在移动期间改变状态:
既不主持主控器又不主持所指定的伙伴的刀片已改变刀片状态的事实并不影响移动。
旧伙伴在移动开始时不可用:
该序列与伙伴可用时相同。
旧伙伴在移动期间丢失
如果旧伙伴离开活动状态,则该移动将继续不受影响。如果该移动失败,则伙伴角色将空缺。然后,协调器将尝试指派新伙伴。
所指定的伙伴在移动期间丢失:
如果主持所指定的伙伴的刀片离开活动状态,则将通知所有刀片。如果它们到那时尚未接收到CHANGE_BUDDY,则它们将如同从而尝试过移动一样进行操作。如果信息在接收到CHANGE_BUDDY之后到达,则采用伙伴断供时的正常恢复动作,即,协调器将创建新伙伴。
主控器在移动期间丢失:
如果主持主控器的刀片离开活动状态,则将通知所有刀片。如果主控器在发送CHANGE_BUDDY之前的任何时刻变为不可用,则中止伙伴移动,并且刀片将如同从而尝试过移动一样进行操作。
广播或多播是不可能的:
如果已经发送MOVE_BUDDY,并且对CHANGE_BUDDY的广播或多播是不可能的,则协调器将检测移动操作的超时,并且上述处理适用。一旦再次可以通信,系统就将从该状况恢复。
综上,本发明使得可扩展刀片系统能够将对公共资源进行协调的对象实例分配给各个刀片。分配是以适于改变刀片状态和改变刀片数目的动态方式进行的。在任何时刻保证信息的冗余。
Claims (33)
1.一种交换中心服务器,包括:
刀片集群,带有多个刀片(110);
所述多个刀片(110)能够接入的多个资源池;以及
针对每个资源池的主控器(112),每个主控器被提供在刀片之一上且被配置为对对应池化资源的使用进行集中协调。
2.根据权利要求1所述的交换中心服务器,其中,刀片集群被配置为使得在两个不同刀片(110)上提供与针对呼叫所使用的资源有关的信息。
3.根据权利要求2所述的交换中心服务器,还包括呼叫控制器(111),所述呼叫控制器(111)被提供在刀片之一上,用于对所述呼叫的资源进行控制。
4.根据权利要求3所述的交换中心服务器,还包括所述多个刀片中其上未提供主控器的一个刀片上的主控器(112)的伙伴(113),所述伙伴(113)包含与由与主控器驻留于相同刀片上的呼叫控制器所控制的资源有关的信息。
5.根据权利要求1所述的交换中心服务器,其中,每个刀片还包括用于确定刀片(110)的状态的刀片状态信息单元(114),其中,所述刀片状态信息单元(114)向其他刀片通知任何刀片状态改变。
6.根据权利要求1所述的交换中心服务器,还包括协调器(115),用于针对发生故障的刀片上存在的主控器创建新主控器,并针对发生故障的刀片上存在的伙伴创建新伙伴,所述协调器(115)决定在哪个刀片上分配新主控器和/或新伙伴。
7.根据权利要求5所述的交换中心服务器,其中,在协调器给刀片之一分配新主控器的情况下,其他刀片将已使用资源的列表发送至新主控器(112)。
8.根据权利要求6所述的交换中心服务器,其中,在协调器给刀片之一分配新主控器的情况下,其他刀片将已使用资源的列表发送至新主控器(112)。
9.根据权利要求1所述的交换中心服务器,其中,每个刀片(110)包括刀片恢复单元,用于在刀片故障的情况下执行刀片恢复过程,其中,所述刀片恢复单元决定要保持发生故障的刀片所处理的哪些呼叫,并发送与仍租用的资源以及其控制被回传给主控器(112)的资源有关的信息。
10.根据权利要求6至9中任一项所述的交换中心服务器,其中,协调器(115)检测刀片(110)的信令负载,并根据不同刀片(110)的信令负载将针对不同资源池的主控器(112)和伙伴(113)移动至不同刀片。
11.根据权利要求1所述的交换中心服务器,其中,每个刀片包括组通信服务单元(116),用于控制向其他刀片的消息传送,以使得消息以相同顺序传送至多个刀片(110)。
12.根据权利要求1所述的交换中心服务器,其中,针对干线的每个路由提供路由主控器,而针对每个ISDN接入提供接入主控器。
13.根据权利要求12所述的交换中心服务器,还包括:媒体网关主控器,用于控制对媒体网关(200)的维持消息的处理。
14.根据权利要求12或13所述的交换中心服务器,其中,呼叫控制器向权利要求12的路由主控器或接入主控器请求对资源的控制,并在不再需要所述资源的情况下返回所述控制。
15.一种用于控制交换中心服务器的方法,所述交换中心服务器具有带有多个刀片(110)的刀片集群,所述方法包括以下步骤:
提供所述多个刀片(110)能够接入的资源池;以及
由专用于每个池的主控器(112)协调所述多个刀片对用于呼叫的池化资源的使用,其中,每个主控器被提供在刀片之一上且被配置为对对应池化资源的使用进行集中协调。
16.根据权利要求15所述的方法,其中,由用于处理呼叫的呼叫控制器(111)来执行以下步骤中的至少一项:呼叫建立、呼叫监督、以及呼叫断开、向路由主控器或接入主控器请求对资源的控制并在不再需要所述资源的情况下返回控制。
17.根据权利要求15或16所述的方法,其中,控制与针对呼叫所使用的资源有关的信息,以使得与所述呼叫的呼叫控制器的刀片上存在的所使用的资源相关的信息还被提供在又一个刀片上。
18.根据权利要求15所述的方法,还包括检测服务器的刀片中的至少一个刀片的状态改变的步骤,其中,在状态改变的情况下,向其他刀片通知所述一个刀片的状态改变。
19.根据权利要求15所述的方法,还包括以下步骤:
检测刀片的故障;
检测是否针对所述刀片执行恢复过程,其中,呼叫能够保持,并且发生故障的刀片针对这种呼叫所控制的资源在恢复过程结束之后继续使用。
20.根据权利要求15所述的方法,还包括以下步骤:
检测刀片的故障;
检测是否针对所述刀片执行恢复过程,其中,当执行恢复过程时,向主控器通知针对在恢复过程之后未保持的呼叫所使用的资源,主控器重置这些资源。
21.根据权利要求18至20中任一项所述的方法,其中,在检测到其上存在主控器(112)的刀片的故障的情况下,创建新主控器,并将每个刀片所使用的资源的第一列表从每个其他刀片发送至所述新主控器。
22.根据权利要求21所述的方法,其中,其上提供了驻留于发生故障的刀片上的主控器的伙伴(113)的刀片将驻留于其上还存在呼叫控制器(111)的发生故障的刀片上的主控器(112)所使用的资源的第二列表发送至所述新主控器。
23.根据权利要求19或20所述的方法,其中,在多刀片故障的情形下,重置不存在于所使用的资源的第一列表或第二列表上的所有资源。
24.根据权利要求21所述的方法,其中,不存在于列表上的资源仅在不执行刀片恢复过程时才重置,所述刀片恢复过程导致在恢复过程结束后连续使用资源。
25.根据权利要求15所述的方法,还包括检测是否有多于一个刀片处于活动状态的步骤,其中,在肯定的情况下,并且如果未指派伙伴,则在其上未提供主控器的刀片(110)上创建主控器(112)的伙伴(113)。
26.根据权利要求21所述的方法,其中,针对接管先前主控器的角色的新主控器创建新伙伴(113)。
27.根据权利要求15所述的方法,还包括检测发生故障的刀片上是否存在伙伴(113)的步骤,其中,创建新伙伴以替代发生故障的刀片上存在的伙伴。
28.根据权利要求21所述的方法,其中,所述创建新主控器的步骤包括以下步骤中的至少一项:
由协调器(115)确定在哪个刀片上创建新主控器;
由协调器(115)向其他刀片通知新主控器的创建;
由新主控器构建每个刀片所使用的资源的状态表;
由其他刀片向新主控器发送新主控器协调多个刀片对池化资源的使用所需的信息;
由新主控器将与在相同刀片上控制的呼叫相关的数据拷贝至伙伴(113);
由伙伴(113)向主控器(112)通知已成功存储数据;
由新主控器向所述其他刀片通知主控器的创建完成。
29.根据权利要求28所述的方法,其中,对在移动主控器(112)期间接收到的针对资源的占用请求进行缓冲,并在完成传送之后将所述占用请求发送至新主控器。
30.根据权利要求29所述的方法,其中,在完成传送之前检测到新主控器的故障的情况下,中止移动。
31.根据权利要求15所述的方法,其中,伙伴(113)的移动包括以下步骤中的至少一项:
由协调器(115)确定应当移动哪个伙伴以及应当将伙伴移动至哪个刀片;
由主控器(112)向新伙伴发送新伙伴所需的所有数据;
由伙伴(113)向其他刀片通知伙伴的移动,其中,在已经被通知了改变之后,主控器(112)将改变后的占用状态的信息发送至新伙伴。
32.根据权利要求15所述的方法,其中,移动用于对新主控器或伙伴的移动或创建进行控制的协调器(115)不影响主控器或伙伴的移动或创建。
33.根据权利要求15所述的方法,还包括以下步骤:
检测新刀片是否变为活动的;
将主控器和伙伴的当前状态和分配从另一刀片发送至新的活动刀片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510431345.7A CN105117309B (zh) | 2008-05-21 | 2008-05-21 | 刀片集群交换中心服务器中的资源池化 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200880129373.1A CN102037709B (zh) | 2008-05-21 | 2008-05-21 | 刀片集群交换中心服务器中的资源池化 |
CN201510431345.7A CN105117309B (zh) | 2008-05-21 | 2008-05-21 | 刀片集群交换中心服务器中的资源池化 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880129373.1A Division CN102037709B (zh) | 2008-05-21 | 2008-05-21 | 刀片集群交换中心服务器中的资源池化 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105117309A CN105117309A (zh) | 2015-12-02 |
CN105117309B true CN105117309B (zh) | 2019-03-29 |
Family
ID=54696360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510431345.7A Active CN105117309B (zh) | 2008-05-21 | 2008-05-21 | 刀片集群交换中心服务器中的资源池化 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117309B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1906573A (zh) * | 2004-01-20 | 2007-01-31 | 美国博通公司 | 支持多个用户的系统和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020187790A1 (en) * | 2001-06-12 | 2002-12-12 | Dimitrios Papadimitriou | Non-dedicated access node and switch connections in a wireless telecommunications network |
US20050015430A1 (en) * | 2003-06-25 | 2005-01-20 | Rothman Michael A. | OS agnostic resource sharing across multiple computing platforms |
US7733891B2 (en) * | 2005-09-12 | 2010-06-08 | Zeugma Systems Inc. | Methods and apparatus to support dynamic allocation of traffic management resources in a network element |
-
2008
- 2008-05-21 CN CN201510431345.7A patent/CN105117309B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1906573A (zh) * | 2004-01-20 | 2007-01-31 | 美国博通公司 | 支持多个用户的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105117309A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102037709B (zh) | 刀片集群交换中心服务器中的资源池化 | |
RU2157058C2 (ru) | Способ и система выбора пути для динамического наведения связи в сети связи | |
CN102318265B (zh) | 用于控制通信网络中的资源的网络节点及方法 | |
US8014507B2 (en) | Providing features to a subscriber in a telecommunications network | |
US20150142958A1 (en) | Control node and communication control method | |
JP6724998B2 (ja) | サーバ装置、クラスタシステム、クラスタ制御方法およびプログラム | |
CN103609167A (zh) | 用于在地理冗余网关处的会话恢复的系统和方法 | |
EP2289228B1 (en) | Blade cluster switching centre server and method for signalling | |
CN101437175B (zh) | 一种处理容灾切换的方法、装置及系统 | |
CA2278461C (en) | Intelligent network with distributed service control function | |
EP0888020A2 (en) | Method and apparatus for achieving fabric independent routing technique | |
CN105117309B (zh) | 刀片集群交换中心服务器中的资源池化 | |
JPH04234240A (ja) | 通信セッション監査方法及び装置 | |
US8559940B1 (en) | Redundancy mechanisms in a push-to-talk realtime cellular network | |
CN114390059B (zh) | 一种业务处理系统及业务处理方法 | |
EP1453233A2 (en) | Method and apparatus for dynamic provisioning of reliable connections in the presence of multiple failures | |
JP4678650B2 (ja) | 呼処理システム及びその方法 | |
CN114301763A (zh) | 分布式集群故障的处理方法及系统、电子设备及存储介质 | |
CN102571880A (zh) | 一种服务分发方法和系统以及一种服务分发节点 | |
CN117201677A (zh) | 呼入呼出系统和用于呼入呼出系统的调度方法 | |
CN117971519A (zh) | 广播电文负载均衡处理方法及装置 | |
JPH0548604A (ja) | 迂回回線設定方式 | |
CN103152773A (zh) | 处理通信网络中的资源 | |
JP2002152262A (ja) | パケット交換システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |