在通信系统中实现在线式软件切换的方法和网关的制作方法

文档序号:6470252阅读:245来源:国知局
专利名称:在通信系统中实现在线式软件切换的方法和网关的制作方法
技术领域
本发明涉及到在通信系统中执行在线式软件切换的方法,特别地却又不是排他地,涉及到在含有用软件控制的连接网关的通信系统中,当系统正处于传递通信业务的操作中时,从一个较早的软件建立切换到一个较新的软件建立的方法;本发明进一步涉及到根据该方法操作的通信系统和连接网关。
传统的通信系统在尺度和复杂度上是有变化的。较大的系统具有众多与其相关联的订户,并能够响应于订户的要求而沿着连接订户的通信路径对数据进行路由。该路径是在软件控制下通过一种称为连接网关的单元建立的。这样的网关执行路由功能以及其他诸如数据过滤、数据格式重组、以及数据加密或解密等功能。
在传统的系统中进行软件升级时,其中执行当前版本软件的网关会被中断或者暂时地关电,然后将新版本的软件装入它们并随后予以执行。这种中断或者关电将导致系统所提供的服务的中断,并可能导致其中所建立的通信路径的丢失。此外,这样的中断或者关电对于订户而言可能表现为系统的不可靠性。
本发明人已经意识到,在包含连接网关的通信系统中,在不中断经由该系统的通信业务的业已建立通信路径的条件下,进行软件版本之间的在线式切换是令人向往的。
根据本发明的第一个方面,在通信系统中提供了一种从执行第一个版本的操作软件到执行第二个版本的操作软件的在线式软件切换的方法,该系统包含可以用软件控制来响应于订户的要求而对连接到系统的订户之间的通信业务流进行路由和处理的连接装置,该方法的特征在于它包含如下步骤(a)为系统提供执行第一个版本的软件的连接装置;(b)在连接装置上接收到第二个版本的软件;(c)在连接装置上接收到一条执行在线式软件切换的指令;(d)将至少描述通过该连接装置建立起来的路由连接的持久性数据保存起来;(e)将连接装置的控制权从第一个版本的软件转移到在连接装置中执行且能用于维护已经通过该连接装置建立的路由连接的接口软件;(f)与接口软件同时地执行第二个版本的软件,以使得第二个版本能够恢复持久性数据,并能够作为响应而对自身进行配置;而且(g)将连接装置的控制权从接口软件传递给第二个版本的软件。
本发明提供了在不导致中断通过连接装置传递的通信业务的条件下,使得连接装置能够从执行第一个版本的软件切换到执行第二个版本的软件的优越性。
本方法涉及到接口软件的调用,而接口软件有利地是包含在第一个版本的软件之中的,接口软件可以在得不到第一个版本软件的其他部分支持的条件下被用来控制该连接装置。因此,当第一个版本的软件的其他部分终止运行时,由接口软件来维护连接装置的运行。
持续性的数据被标识为数据,它们包含下列一项或多项(a)在保存持久性数据那一瞬间连接装置的状态记录;(b)系统包含连接装置的方式的记录;(c)涉及到系统订户和用户的特许数据;(d)所有已经通过该连接装置建立的连接和及其相关处理功能的记录;以及(e)在保存持久性数据时运行于连接装置中的软件对象的状态。
为了减小持久性数据的尺寸和复杂性,在本方法的步骤(c)之后,第一个版本的软件能被用来使得连接装置对新订户通过连接装置建立订户间连接的新请求不作响应,于是使得连接装置能够在保存持久性数据之前达到一种当前任务业已完成的稳定状态。
较为方便的是,该系统包含了管理装置,用来把各个版本的软件下载到连接装置,并在方法的步骤(c)中发出执行在线式软件切换的指令。优选地,管理装置能被用来采用以太网格式的消息和连接装置通信。
订户经常为其通信业务采用不兼容的格式。因此,连接装置能被用来在以太网通信业务与E1或T1脉码调制(PCM)通信业务之间接口,这一点是有益的。
在一种实用性的实施方案中,连接装置优选地包含若干个连接网关,每个网关包含一个主处理器和一个数字信号处理器(DSP)的阵列,主处理器能被用来接收路由指令,并通过该信号处理器来分配连接路由,以便提供订户间的通信路径。主处理器和该阵列相对彼此靠近地置于一块电路板上是有益的。
较为有益的是,在每个网关中的主处理器能被用来处理以太网通信业务,这些DSP能被用来处理E1或T1格式的PCM通信业务,而主处理器能被用来与DSP们通信,由此通过该网关来提供以太网格式与E1或T1的PCM格式之间通信业务的翻译。把以太网业务的处理分配给主处理器,同时把PCM的处理分配给DSP将使得网关能够应付以太网上量级为12000分组/秒的高速率通信业务。
当执行在线式的软件切换时,较为有益的是在方法的步骤(e)和(f)中接口软件可操作来维护经主处理器的通信业务流。而除非被命令以别的方式去做,否则DSP们会基于它们保存于其中的相关联的软件,去履行维护经该处的已经建立的连接的功能。因此,接口软件能够保证在执行在线式切换时经该系统的已建立的连接不被中断。
为了在各个网关中更均匀地分配处理载荷,各个网关的阵列中所并入的DSP是按行划分成组的,其中每一行分别用硬连线连接到网关的一个相应的PCM通信业务端口。
较为有益的是,当在各个网关装载第二个版本的软件时,为了避免中断第一个版本软件的执行,把主处理器连接到相关联的存储器装置,而在步骤(c)中第二个版本的软件是被装载到存储器装置的第二个部分的,以便不会覆盖驻留在存储器装置的第一个部分中第一个版本的软件。
类似地,为了避免各个网关中所保存的诸版本的软件对存于其中的持久性数据的覆盖,把主处理器连接到相关联的存储器装置,以便在步骤(d)中将持久性数据存入其中的第三个部分,而当第一个和第二个版本的软件装载到存储器装置时不会覆盖这第三部分。
为了保证在执行在线式软件切换时已经建立的经该连接装置的连接不被中断,驻留于信号处理器的随机访问存储器中并控制信号处理器操作的软件在本方法的步骤(c)到(g)中是保持不被更新的。
当系统被切换到采用第二个版本的软件来操作时,使第一个版本的软件被废弃,理想的情形是当在系统的电源中断之后被调用时,第一个和第二个版本的软件中每一个都能够使得连接装置在该系统中发挥功能。
为了使连接装置中所执行的软件版本确定自己是否是升级版,连接装置在非易失性存储器中包含存储在其中的基本的操作软件,该基本操作软件能被用来设置标记性装置以便第二个版本的软件能根据该标记性装置来确定它自己是在系统电源中断后被调用的,还是在系统中执行在线式软件切换时被调用的。举例来说,由该标记性装置确定正在执行的该版本的软件是否正要将软件装载到DSP中;在进行在线式软件切换的时候,象这样把软件载入DSP中不被执行,否则已建立的连接将发生中断。
在本发明的第二个方面,提供了一种能根据前文所述的本发明第一方面的方法来操作的通信系统。
在本发明的第三个方面,提供了一种能根据前文所述的本发明第一方面的方法来操作的连接网关。
现在将仅仅通过举例的方式来描述本发明的实施方案,其中所参考到的下列图表中附

图1是根据本发明的一个包含连接网关的通信系统的示意性例图;附图2是根据本发明的一个连接网关的示意性例图;附图3是附图2中所描绘的网关的电路板布局的一个视图;而附图4是附图1中的通信系统中能够执行的、用于从当前版本的软件切换到较新版本的软件的流程的图形表示。
通信系统能够潜在地以许多可选的方法进行配置。附图1是根据本发明的通信系统的一种可能的配置,其中一般性地用100来指示该系统。
系统100包括第一个订户110,按照互联网协议(IP)来实现功能的互连网络120,以及包含在虚线125之内的根据本发明的一组连接网关,该网关组用130来指示。网关组130中的网关是相互一样的。此外,系统100进一步包括电话交换机170和第二个订户180。
网络120连接到了第一个订户110,也连接到其他相似的订户(未画出)。类似地,交换机170连接到了第二订户180,也连接到其他相似的订户(也未画出)。网络120通过以太网链路连接到网关。
每个连接网关,譬如网关200,包含两个以太网端口P1和P2,每个端口都能被用来以100M比特/秒的速率接收或输出以太网通信业务。以太网端口P1和P2通过网络120连接到管理系统160、关守150,以及信令网关140。每个网关进一步包含四个分别连接到电话交换机170的PCM连接端口的脉码调制(PCM)端口Q1、Q2、Q3和Q4。
网关组130中的每个连接网关都包含一个相关联的MotorolaPowerQuiccII处理器。每个PowerQuiccII处理器都能通过其相关联的端口P1和P2采用简单网络管理协议(SNMP)从中央管理系统160接收以太网指令。类似地,每个PowerQuiccII处理器都能通过其相关联的端口P1和P2回应管理系统160,譬如用来提供应答表示处理器已经收到指令。
此外,每个PowerQuiccII处理器也都能够从关守150接收以太网指令。关守150采用媒体网关控制协议(MGCP)来和处理器通信。类似地,每个处理器都能通过其相关联的端口P1和P2回应关守150。此外,信令网关140将呼叫信令连接到关守150以使其能进行呼叫控制。
管理系统160也连接到其他网关组以及与它们相关联的信令网关和关守(未画出)。于是关守150连接到包含在网关组130内部的数量范围从300到1000之间的网关,也就是说附图1中的参数“n”是在范围300到1000之间的。由此,管理系统160负责管理包含在网关组130和其他网关组(未画出)内部的数千个连接网关。
现在参考附图1来描述系统100把订户110和180连接到一起的操作。为了联系第二个订户180,第一个订户110从拨叫一个接入号码开始。接入号码从第一个订户110传送到网络120,后者把号码转换成以太网格式并接着在其以太网端口用以太网格式的接入号码把它输出到关守150。关守150收到以太网格式的号码后立即确定网关组130中的哪一个可用来提供网络120和交换机170之间的通信路径。接着关守150用以太网格式向一个网关(譬如网关200)的端口P1和P2发送一条指令,命令它为该呼叫提供一条从网络120和交换机170的通信路径。于是被通知的网关就建立一条通过那里的通信路径。关守150接下来通过信令网关140把接入号码传达给交换机170,而后者作为响应,建立起从交换机170到第二个订户120的通信路径。
当订户110和180之间完整的通信路径被建立起来之后,第一个订户110就开始发送消息数据(例如数字采样的语音),而网络120收到这些数据并在那里转换成以太网格式的消息数据。以太网格式的数据从网络120传送到网关组130中被命令的网关,在该处消息数据被转换成相应的PCM格式的消息数据,而后者被输出到交换机170。交换机170就把PCM格式的消息数据传送到第二个订户180。
第二个订户180也会输出用于发送到第一个订户110的返回数据。该返回数据从第二个订户180传送到交换机170,并在那里被转换成PCM格式的返回数据。接着,PCM格式的返回数据被向前发送到网关组130中被关守150指示为PCM返回数据传送到网络120提供通信路径的网关。被指示的网关接收到PCM格式的返回数据并将其转换成相应的以太网格式的数据,而被指示的网关接下来在其相关联的端口P1和P2把数据输出到网络120。网络120接着把以太网格式的数据继续向前路由到订户110。
由此,网关的组130、管理系统160、关守150和信令网关140在提供网络120和交换机170之间以相互不同的通信数据格式操作的灵活接口这方面是有效的。除了提供通信路径和转换数据格式之外,网关组130中的每个网关都能执行其他功能,譬如过滤、加密、解密和误码检验。每个网关也能被用来提供双向通信,也即从其以太网端口到其PCM端口,以及从其PCM端口到其以太网端口。
当系统100运行时,几乎总有至少一些通信业务数据在连接到系统100的订户之间流动;因此,系统100很少不活动。这种缺乏不活动意味着网关不能为软件升级关电而同时又不中断通过该处的数据。传统的连接网关是不能在工作中,在不中断通过该处的数据业务传输的条件下进行软件升级的。与此相反,本发明人设计出一种连接网关布局和一种运行这种网关的方法,以便在其中的软件是能够在不中断经由该网关的数据传输的条件下进行升级的。为了进一步描述本发明及其对于在线式软件升级的敏感性,现在参考附图2来描述根据本发明的连接网关200。
网关200是构建于多层玻璃纤维电路板上的,并包含多个主要部件和相关联的支持性组件;支持性组件包括电源调节器、信号调节器和线路驱动器及接收器。对于数字电路设计业界的普通技术人员而言这样的支持性组件是众所周知的。
主要部件包括PowerQuiccII处理器300、同步动态随机访问存储器(SDRAM)310、现场可编程的可擦除只读存储器(FEPROM)315。这些部件进一步包含可编程逻辑器件(PLD)信令处理机320、以及一个相关联的24片Motorola数字信号处理器(DSP)阵列。一般性地用330来指示DSP并用虚线340所包含的部分来表示它们。网关200进一步包含存储缓冲器350,交换PLD360和提供了四个PCM端口Q1、Q2、Q3和Q4的四元PCM终结单元370。在系统100中,端口Q1和Q4被连接到交换机170相应的PCM端口。
处理器300是专有的MCP8260 Motorola设备,其中有效地在一个硅片上包括两个互连的处理器,即第一个能够执行Power-PC类型的机器码的处理器以及第二个被设计成处理以太网通信和相关联的输入/输出堆栈的通信控制处理器。第二个处理器包含能够被配置成处理高速数据流(即传输速率在100M比特/秒量级的以太网数据流)的硬件。
阵列330中的每一个DSP都包含一个专有的、包含片内随机访问存储器(RAM)的Motorola 56311数字信号处理器设备。这些DSP被排列成四行,每一行包含六个DSP。优选地,这四行DSP中的每一行都被分配给从Q1到Q4中相应的一个PCM端口。
正如附图2所示,主要部件是连接在一起的。在附图2中,以太网端口P1、P2被连接到PowerQuiccII处理器300相应的FCC端口。处理器300通过一个存储器总线连接到它的SDRAM 310、它的FEPROM 315和一个只读存储器(ROM)(未画出)。ROM用基本的启动性操作软件被编程为每次开始向网关200供电使其进入运行时处理器300都要执行该软件。处理器300通过局域总线进一步连接到信令处理机320。
处理机320是一个可编程门阵列,被定制成充当网关200中的硬件主干。处理机320包含连接到相应行DSP的四个通信端口H1、H2、H3和H4。而且,处理机320进一步包含连接到存储缓冲器350的端口K1。此外,处理机320内还包含多个包括四个输入端口K2、K3、K4、K5和四个输出端口K6、K7、K8、K9的信令I/FS端口。从K2到K5的输入端口被连接到开关PLD 360,也被连接到PCM终结单元370。类似的,从K6到K9的端口被连接到开关PLD 360。开关PLD 360也连接到PowerQuiccII处理器300的D1、D2、D3和D4端口。
参考附图3,其中画出了网关200的电路板布局的顶视图,其中用400来一般性地表示该板。该电路板具有大致为15厘米×20厘米的面积。沿着板400的下边缘集成了以太网端口P1和P2的连接器410。沿着下边缘的中段包含了PCM端口Q1到Q4的连接器420。该电路板400的左手侧用虚线420勾画出的区域并入了DSP阵列330。DSP被安放成四行,每行包含六个DSP。处理机320坐落于板400的右手一侧。SDRAM 310被包含在板面400的右上角。用430来标注的电源调节组件被并入在板面400的右下角。缓冲器350和交换PLD 360被包含在板面400的中央区域。
现在参考附图1和附图2来描述系统100中网关200操作的概况。网关200能够在其端口P1和P2上接收或输出以太网业务。该业务可以包含下列一种或多种(a)去向或来自网络120的通信业务;(b)来自关守150或者来自信令网关140的MGCP控制性的输入指令;或者(c)来自管理系统160的SNMP管理指令。
在网关200和电话交换机170之间的PCM业务流可以是E1或者T1格式的。
T1格式采用了基于1544千比特/秒的数据速率的由ANSI标准系列的T1.111定义的数据帧结构。T1帧结构包含了多个帧,每个帧包含了24个时隙。而每个时隙包含了八个比特的数据。每个帧在时隙外部的帧起始处进一步包含了相关联的同步“F”比特,用于指示帧同步。此外,还给出用于识别包含24帧的复帧起始位置的复帧同步信号;这样的信号定义于国际电信联盟建议ITU-TG.704之中。
E1格式采用了基于2048千比特/秒的数据速率的数据帧结构。E1帧结构包含32个时隙,每个时隙包含8比特数据;而这些时隙用时隙0到时隙31来编号。时隙0用于帧同步。此外,时隙16用于SS7信令信息(如建议ITU-TQ.703中所定义)。时隙1到15被分配给相应的通信信道1到15。类似地,时隙17到31被分配给相应的通信信道16到30。因此,E1格式的PCM通信业务能够传送对应于30个通信信道的信息。由于网关200包含四个PCM输出Q1到Q4,而网关200能够把任意信道路由到这些PCM输出端,因此网关200能够经由它而提供120个可能的连接路径。
PowerQuiccII处理器300对从其相关联的以太网端口P1和P2进入的通信业务进行诠释,并将通信业务与来自管理系统160或关守150的指令相分离。PowerQuiccII处理器300中的第一个处理器对指令进行诠释并以多种方式进行响应,譬如(a)由它来配置处理机320和DSP以对信道进行路由,以某种特定的方式通过网关200,譬如把端口P1提供的来自以太网业务的信道1到5路由到PCM端口Q3,并对业务进行加密;(b)由它编辑一条应答消息并通过端口P1、P2中的一个或多个发回到管理系统160或关守150,譬如审计应答;或者(c)由它将数据或软件载入网关200特定的存储区,譬如载入SDRAM 310或者和DSP相关联的RAM。
网关200能被配置成使得在其端口P1和P2进入的以太网通信业务能被定向通过PowerQuiccII处理器300的第二个通信控制处理器,并接着穿过局域总线传到处理机320,后者将业务输出到缓冲器350。接着,存储在缓冲器350中的业务从那里再一次通过处理机320输出到阵列330中的一个或多个分配好的DSP,而后者以关守150所指示的方式来处理业务。当该业务在阵列330中处理完后,它接着通过处理机320的端口K6到K9中的一个或者多个输出到交换PLD 360,并进一步由那里输出到终结单元370。单元370对处理后的业务进行调整,以便在其PCM端口Q1到Q4中的一个或多个上进行输出。
网关200也能够被配置成使得进入其PCM端口Q1到Q4的PCM通信业务在网关200中根据来自管理系统160、关守150或者信令网关140的指令对业务进行路由和处理。举例来说,PCM通信业务能够通过处理机320而被路由到阵列330中选定的DSP中进行处理。接着,来自选定DSP的相应的处理后业务能够被路由通过处理机320及其相关联的缓冲器350,并最终由那里路由到PowerQuiccII处理器300的第二个通信控制处理器,以便由后者在其以太网端口P1、P2中的一个或多个上作为以太网业务输出。
由此,网关300能够被配置成支持双向通信,并经它进行处理。
本发明人已经意识到,由于多种原因,在系统100中从管理系统160载入到连接网关的软件不时地需要更新。举例来说,这样的原因包括添加更多的网关组或者改变网关中的PowerQuiccII处理器对其接收到的来自网络120的以太网业务的处理方式。在不造成网络120和交换机170之间流动的通信业务中断的条件下能够把软件从管理系统160下载到连接网关是非常理想的。本发明人设计了一种运行系统100及其相关联的连接网关的方法来实现这样的更新。
总的说来,该方法使本发明人致力于将下列特性包含到连接网关的设计中去,这些特性包括(a)将SDRAM分割成三个部分,第一个部分用于保存当前的运行软件,第二部分用于保存将要取代当前软件来执行的新的运行软件,而第三部分用于保存对应于网关的状态及其与系统100的连接关系的持久性数据;以及(b)在保存于SDRAM 310中的当前和较新运行软件中包含一种特殊的软件对象,即小型媒质处理器(MMH),而当网关的操作从一个版本的运行软件转换到另一个时,MMH被调用。
MMH具有特殊的特征在发生从当前的软件到较新的软件的转移时,它能够维持与它相关联的连接网关的运行。此外,MMH不需要包含在当前或新软件内的例行程序的支持来保持与其相关联的网关的功能;因此,即使与其相关联的运行软件已经停止执行,MMH也能够继续发挥作用。
现在参考附图1和2来描述系统100把当前版本的运行软件下载到它的连接网关中,并接着将现行版本的软件升级到较新版本的操作过程。
初始地当供电给网络100时,网关组130中的连接网关中还没有一个已经把运行软件载入到那里;它们中的每一个都仅仅包含前述的保存在相关联的板上ROM中的启动运行软件。初始地,通过执行该启动软件,每个网关中的PowerQuiccII处理器300都在其相关联的以太网端口P1、P2上输出数据,这使得管理系统160知道网关在系统100中的存在。类似地,关守150和信令网关都输出数据,以便管理系统160知道它们的存在系统160接着将运行软件载入到关守15和信令网关14。管理系统160进一步通过与其相关联的以太网端口P1和P2向网关组130中的每个网关发送一个当前版本的运行软件。当前的运行软件被载入到网关组130中的每个网关的SDRAM 310的第一部分。然后在每个网关中,把运行软件的一部分从与其相关联的PowerQuiccII处理器300传送到阵列330中与每个其相关联的DSP相关联的RAM之中。每个DSP都把相互一致的软件载入到与其相关联的RAM中;然而,如果特别需要的话,可以对网关组130中的各个网关进行编程以便其DSP能载入相互不同的软件,尽管这并不是通常的运行模式。载入到DSP中的软件被设计成使得DSP能够与处理机320接口,并执行一系列的信号处理功能,譬如信号过滤、格式重排、加密、解密、压缩和解压缩功能。相反地,位于SDRAM310的第一部分中的软件是用来在各个连接网关的PowerQuiccII处理器300中执行的,而且能被用来使处理器300和管理系统160、关守150以及信令网关140接口,并使得处理器300能够诠释命令、配置和连接与其相关联的DSP来执行所需的路由和处理功能。
位于网关组130中各个网关的SDRAM第一部分中的软件也包括特殊的软件对象,即小型媒质处理器(MMH)。通常MMH是休止的,且仅当准备执行在线式软件切换时对操作系统160的特殊命令由PowerQuiccII处理器300来激活。
在当前的运行软件被载入到网关组130的网关,也被载入到关守150、信令网关140之后,管理系统160接着为系统100发送一条命令来启动运行。然后系统100就象早先在概述中所描述的那样工作了。
当系统100已然操作了一段时间之后,譬如几个星期或者几个月,与订户间的呼叫相对应的数量可观的通信业务将流过系统100;举例来说,如果网关组130包含1000个连接网关,而每个网关以E1格式的通信业务来工作时能提供120个潜在的连接的话,那么通过该网关组同时接口10000路呼叫并不罕见的。通常,数据流量可以是相对恒定的,而系统100处于寂静状态的时段并不是以可以预见的方式出现的。
本发明人已经意识到,当需要进行软件升级时,简单地切断系统100并在其中载入新的软件是不可行的,因为这将取消系统100中的所有呼叫连接而将对订户表现出不可靠性。如果向订户销售系统100的使用权是以可靠连接为基础的,那么为了升级软件的目的简单地暂时切断系统100可能会有严重的财政后果,影响到用户的帐单,并由此影响到来自系统100的收入。
因此,网关组130中的网关被设计成能够在不干扰已经通过系统100路由的已建立呼叫的条件下完成软件的升级。总的说来,当网关组130中的正在运行的当前版本的软件需要被新版本的软件替换时,一旦收到来自管理系统160的命令,就调用软件切换进程。在附图4中描绘了该进程。
在附图4中的是能够在通信系统100中执行的从当前版本的运行软件切换到新版本的运行软件的在线式软件切换进程的图形表述,该进程用500指示的图形来表示;在附图4中,“版本1”和“版本2”分别对应于当前和较新版本的运行软件。图形500包含了从左到右来表示时间流逝的横坐标510。此外,图形500中进一步包含纵坐标520,其上指示了软件的多种项目。
在时刻t0,系统100获得供电并开始启动;在连接网关中的基本启动软件使网关通过以太网向管理系统160声明它们是从属于系统100的。此外,基本软件也在每个连接网关的SDRAM 310中设置标志FS来记录没有任何旱先版本的运行软件已经被载入到网关中去。在时刻t0之后,管理系统160将当前版本的运行软件载入到网关组130的每一个连接网关中去。正如前文所述,当前版本的运行软件被载入到各个连接网关的SDRAM 310的第一部分。接着各个连接网关通过其PowerQuiccII处理器300从其SDRAM 310把当前版本的运行软件的一部分下载到与其相关联的各个DSP的RAM中去。然后管理系统160为系统100发送一条指令来开始传输通信业务的操作。在各个连接网关中执行当前版本的软件时,它初始地检查标志FS。作为基本软件一连串动作的结果,标志FS是处于未被设置的状态的;当前版本的软件根据标志FS的状态来识别自己并不是一次软件升级。
在时刻t1,譬如时刻t0后数个月之后,管理系统160的操作者通知它需要在系统100中进行软件更新。作为响应,管理系统160接着从其存储器取回新版本的运行软件,然后向网关组130中的连接网关发送一条指令敦促它们准备接收新的软件。于是网关组130中的网关通过它们的以太网端口P1和P2从管理系统160接收到新版本的软件,而它们各自把软件存入其SDRAM 310的第二个部分,因此不会覆盖保存在它们的SDRAM 310的第一个部分中的当前版本的软件。在新版本的软件被下载到网关的同时,网关继续执行它们当前版本的软件来完成功能。在时刻t2,管理系统160已经完全把新版本的软件下载到连接网关中去了。
在时刻t3,管理系统160向网关组130中的连接网关发送一条指令使得在线地切换过去执行新版本的软件。这条指令使得执行当前版本软件的各个连接网关执行切换例程。当执行切换例程时,各个网关忽略来自管理系统160或者关守150的进一步的指令;当前版本的软件调用其MMH。如同前文所述,MMH是一种特殊的软件对象,它能够在不调用包含于当前版本的运行软件中所含的操作系统例程的条件下使与其相关联的网关维持功能。此外,各个网关将其标志FS设置为置位状态来指示在时刻t0之后运行软件已经在网关中得以执行了。然后各个网关一直等到当前的作业完成之后,譬如连接到那里的订户已经完成其拨号序列或者已经挂机,使得网关处于稳定状态。当各个网关已经进入稳定状态之后,它将描述其当前状态的持久性数据存入其SDRAM 310的第三个部分。后面将会对持久性数据进行进一步描述。
在时刻t4,当连接网关已经保存了与其相关联的持久性数据之后,当前版本的软件停止执行而只留下MMH继续执行。
在时刻t5,MMH调用新版本的运行软件。在时刻t5和稍后的时刻t6之间的时间段里MMH和新版本的运行软件同时执行,尽管在此期间新版本并没有实现通过其网关的DSP的任何新连接。新版本首先通过检查标志FS并由此来确定新版本是否已被作为升级而调用,或者它是否是随系统100的一次断电之后被调用的;由于标志FS已经如上所述的那样置位了,因此新版本由此确定它是一次升级。于是新版本接着从与其相关联的SDRAM 310中取回持久性数据并将其载入其处理器300的随机访问存储器中去。如果标志FS没有被置位,那么新版本将由此认为它并不是升级版,并且不需要搜索持久性数据。
在检索持久性数据并将其工作参数与持久性数据设置成一致之后,新版本的软件接着在时刻t6终止在当前版本的软件中所提供的MMH的执行,并夺取该网关的控制权。在这个阶段,每个连接网关都是完全处于其新版本的软件的控制之下,并重新又能够从管理系统160和关守150接收指令。时刻t6表征了该连接网关中在线式软件切换进程的结束。
在在线式切换进程期间,DSP中的软件没有被更新;这样做会潜在地中断已经通过网关组130建立的通信路径。此外,类似于当前版本一样,当发生系统100被断电并接着用新软件重新启动的事件后,新版本的软件也能够使网关组130得以操作;因此,新版本的软件包含了它自己的MMH,以便如果后来又需要的话也能够从新版本的软件切换到其他软件。万一在系统100中执行新版本的软件时发现它是有缺陷的话(譬如如果它包含的软件漏洞仅当在系统100中现场执行新版本的软件时才变得明显),该过程甚至允许从新版本的软件倒退到当前版本。这样倒退到当前版本的软件也采用附图4中所示的进程,除了“版本1”和“版本2”变为分别新版本的软件和当前版本的软件,而被调用的MMH是和包含于新版本软件之中的那个相对应的。
在附图4表示的流程中,在各个网关保存其持久性数据之前一直等待直到各网关都达到稳定状态将极大地简化了持久性数据的复杂度,同时也简化了新版本的软件在时刻t5和t6之间的时间段内必须执行的任务。如果不允许各个网关进入稳定状态,那么持久性数据的尺寸将增大得相当多,因为它必须包含描述当前版本的软件正在执行的任务的瞬时状态的参数,而不是已经完成了的任务的最终状态。实际上,当仅仅在那里记录最终状态时,持久性数据具有100千字节量级的尺寸。
将各个网关的SDRAM 310划分成第一、第二和第三部分是由划分给各个版本软件的存储器参数来控制的;SDRAM 310是一个连续的存储器,没有被显著的硬连线分断的区域。当前和新版本的软件被保存在SDRAM 310相异的第一和第二部分,而持久性数据保存在SDRAM 310的第三部分,并且在从管理系统160载入新版本的软件时不会被覆盖。
如果在电源中断后又重新供电,而系统100中新版本的软件在此后立即被调用,则新版本的软件将检查各个连接网关中的标志FS,并且在标志被设置成记录了在上电之后还没有更早版本的运行软件被执行过的情形下,把从管理系统160接收到的软件载入DSP的RAM中去。
保存在各个连接网关的SDRAM 310中的持久性数据可以提供下列参数的记录(a)网关的当前配置,譬如其端口Q1、Q2、Q3、Q4是否能被用来接收E1或者T1格式的通信业务;(b)配置数据,涉及到网关被包含在系统100中什么位置以及网关连接到什么;(c)涉及到系统100的订户和用户的特许数据;(d)在PCM端口从Q1到Q4和端口P1、P2之间已通过DSP建立的连接的详情,譬如正在处理经由网关的某个特定连接、以及处理DSP被配置了要执行的过滤、加密、解密、数据压缩和格式重构等功能的都是哪个DSP;以及(e)刚好在保存持久性数据的前一刻在PowerQuiccII处理器300中运行的软件对象的状态。
现在将更加详细地描述小型媒质处理器。除非命令连接网关中的DSP终止分配给它们的处理功能,否则它们都将继续执行指定给它们的功能;因此,为了维护DSP当前的运行,MMH不必向DSP发送新的指令。此外,在各个PowerQuiccII处理器300中的第二个通信控制处理器包含多个数据寄存器,而后者决定了将以太网数据经由与其相关联的PowerQuiccII处理器300送到与其相关联的缓冲器350的路由。保证这些寄存器是被正确地设置的,并保证通信业务在端口P1、P2和DSP之间流动时是通过缓冲器350和处理机320的,这些都是MMH的责任。MMH也必须能够在时刻t4处理来自当前版本软件启用MMH操作的软件调用,还必须能够在时刻t6在新版本的要求下把网关的软件控制权转移给新版本的运行软件。正如早些时候所描述的那样,MMH必须能够在没有当前和新版本软件支持的条件下完成这些操作。
实际上,附图4所表示的在线式软件切换的进程是相对迅速的;譬如,从t1到t2期间为了将新版本的软件载入到连接网关仅需要数秒时间,从t3到t4期间等待稳定状态并保存持久性数据花费最多数秒时间,因为拨号之类的事件如果在数秒之内没有完成的话将超时,而从t4到t6期间执行MMH也将持续数秒的范围。在时刻t4从执行当前版本的软件转移到执行MMH是在一段量级为网络120所提供的以太网通信业务中所能观测到的典型的抖动时间的时间段内完成的。类似的,在时刻t6从MMH转移到新版本的软件也类似地在系统100中所观测到的正常抖动时间的量级之内。因而,对于系统100而言,从当前版本切换到新版本的软件几乎是无法察觉的,除了就在时刻t4之前当试图到达稳定状态时,连接网关显得对来自关守150的新的呼叫请求无反应;这样的无反应性并不相应于经由系统100的已建立连接的中断,就像采用目前技术的通信系统在执行软件升级时会发生的那样。因此,象上文所述那样来运行系统100,将使得网关能够在不造成系统100操作中断的条件下在线式地更新成新的软件。
表格1提供了在附图4中图形化表示的在线式软件切换进程的表格化事件列表。
表格1
应该意识到,可以在不脱离本发明的范围内对系统100进行修改。举例来说,DSP和PowerQuiccII设备可以分别用提供类似的通用数据处理和解释功能的可选的专有设备来替换。PLD处理机320可以被其他能够提供处理器300和DSP之间接口的半导体设备所替换。
此外,当前和新版本的软件可以用多种可选的方式进行构造来控制各个网关。因此,当前和新版本的软件可以被可选的版本所替换,只要(a)替换的版本能够控制与其相关联的连接网关;而且(b)在从一个版本的软件切换到另一个版本时,可以通过调用中间性的软件(即MMH软件)、使用持久性数据的存储来记录连接网关的状态,使得网关的运行能够在可选的版本之间转换。
在线式软件更新的其他方法可以被用于对载入到关守150以及各个连接网关的DSP中的软件进行升级;譬如,可以当DSP不是活性地提供经由它们的通信连接时,将软件升级版载入其中。
权利要求
1.一种在通信系统(100)中实现从执行第一个版本的运行软件到执行第二个版本的运行软件的在线式软件切换的方法,系统(100)包含可以用软件来控制而响应于订户的要求而对连接到系统(100)的订户(110,180)之间的通信业务流进行路由和处理的连接装置(130,140,150),该方法的特征在于其包含步骤(a)为系统(100)提供执行第一个版本的软件的连接装置(130);(b)在连接装置(130)上接收到第二个版本的软件;(c)在连接装置(130)上接收到一条执行在线式软件切换的指令;(d)将至少描述通过该连接装置建立起来的路由连接的持久性数据保存起来;(e)将连接装置(130)的控制权从第一个版本的软件转移到在连接装置(130)中执行且能用于维护已经通过该连接装置(130)建立的路由连接的接口软件(MMH);(f)与接口软件(MMH)同时地执行第二个版本的软件,以使得第二个版本能够恢复持久性数据,并能够作为响应而对自身进行配置;而且(g)将连接装置的控制权从接口软件传递给第二个版本的软件。
2.根据权利要求1的方法,其中接口软件是包含在第一个版本的软件中的,接口软件(MMH)能够在得不到第一个版本的其他部分的支持的条件下用来控制该连接装置(130)。
3. 根据权利要求1或2的方法,其中持续性的数据包含下列一项或多项(a)在保存持久性数据的情况下连接装置(130)的状态记录;(b)该系统(100,120,170)包含连接装置(130,140,150)的方式的记录;(c)涉及到系统订户(110,180)和用户的特许数据;(d)所有已经通过该连接装置(130)建立的连接及其相关处理功能的记录;以及(e)在保存持久性数据时运行于连接装置(130)中的软件对象的状态。
4.根据权利要求1、2或3的方法,其中在步骤(c)之后,第一个版本的软件能被用来使得连接装置(130)对新的订户通过连接装置(130)建立订户(110,180)间连接的请求不作响应,于是使得连接装置(130)能够在保存持久性数据之前达到一种当前任务业已完成的稳定状态。
5.根据权利要求1、2、3或4的方法,其中该系统(100)包含用来向连接装置(130)下载各版本软件以及在步骤(c)中发布执行在线式软件切换指令的管理装置(160)。
6.根据权利要求5的方法,其中管理装置(160)能被用来使用以太网格式得消息和连接装置相通信。
7.根据权利要求6的方法,其中管理装置采用SNMP协议和连接装置(130)通信。
8.根据前述任一权利要求的方法,其中连接装置(130)能被用于在以太网通信业务和E1或T1格式的脉码调制(PCM)的通信业务之间接口。
9.根据前述任一权利要求的方法,其中连接装置(130)包含多个连接网关(200),各个网关(200)包含主处理器(300)和一个数字信号处理器(DSP)的阵列(330),而主处理器能被用来接收路由指令以及通过信号处理器分配连接路由以便提供订户(110,180)之间的通信路径。
10.根据权利要求9的方法,其中各个网关(200)中的主处理器(300)能被用来处理以太网格式的通信业务而DSP能被用来处理PCM通信业务,主处理器(300)能被用来与DSP们通信,由此通过该网关来提供以太网格式(P1,P2)与PCM E1或T1格式(Q1,Q2,Q3,Q4)之间通信业务的翻译。
11.根据权利要求9或10的方法,其中接口软件能在步骤(e)和(f)中被用来维护流经主处理器(300)的以太网通信业务流。
12.根据权利要求9、10或11的方法,其中各个网关的阵列(330)中所合并的DSP是按行划分成组的,其中每一行分别用硬连线连接到网关的一个相应的PCM通信业务端口(Q1,Q2,Q3,Q4)。
13.根据权利要求9、10、11或12的方法,其中主处理器(300)是连接到相关联的存储器装置(310)的,而在步骤(c)中第二个版本的软件是被装载到存储器装置的第二个部分的,以便不会覆盖驻留在存储器装置(310)的第一个部分中第一个版本的软件。
14.根据从权利要求9到13中任一项的方法,其中主处理器(300)连接到相关联的存储器装置(310)以便在步骤(d)中将持久性数据存入其中的第三个部分,而当第一个和第二个版本的软件装载到存储器装置(310)时不会覆盖这第三部分。
15.根据从权利要求9到14中任一项的方法,其中驻留于信号处理器的随机访问存储器中并控制信号处理器操作的软件在步骤(c)到(g)中是保持不被更新的。
16.根据前述任一权利要求的方法,其中在系统(100)的电源中断之后被调用时,第一个和第二个版本的软件都能够用来使得连接装置(130)在系统中发挥功能。
17.根据前述任一权利要求的方法,其中连接装置(130)在非易失性存储器中包含存储于其中的基本运行软件,该基本运行软件能被用来设置标记性装置(FS)以便第二个版本的软件能根据该标记性装置(FS)来确定它是在系统(100)电源中断后被调用,还是在系统(100)中执行在线式软件切换时被调用。
18.一种能够根据前述任一权利要求所声明的方法来运行的通信系统(100)。
19.一种能够根据权利要求1到17中任意一项所声明的方法来运行的连接网关(200)。
全文摘要
本发明在通信系统(100)中提供一种实现从执行第一个版本的操作软件到执行第二个版本的操作软件的在线式的软件切换方法。系统(100)包含可以用该软件控制来响应于订户的要求而对连接到系统(100)的订户之间的通信业务流进行路由和处理的连接网关(130,200)。该方法包括如下步骤为系统(100)提供执行第一个版本的软件的网关;在网关上接收到第二个版本的软件;在网关上接收到一条执行在线式软件切换的指令;至少将描述通过该网关建立起来的路由连接的持久性数据保存起来;将网关的控制权从第一个版本的软件转移到在网关中执行且能用于维护已经通过网关建立的路由连接的小型媒质处理器(MMH)软件;与MMH软件同时地执行第二个版本的软件,以使第二个版本能够恢复持久性数据,并能够作为响应而对自身进行配置;将网关的控制权从MMH软件传递给第二个版本的软件。本发明提供了在不会导致通过网关传递的通信业务中断的条件下,网关能够从执行第一个版本的软件切换到执行第二个版本的软件的优越性。
文档编号G06F11/00GK1440612SQ01812381
公开日2003年9月3日 申请日期2001年4月27日 优先权日2000年5月4日
发明者P·N·马丁, I·斯帕里, W·A·林赛, K·M·拉尼, R·H·格林 申请人:马科尼通讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1