通信网络 本发明涉及通信网络,并且尤其涉及安装在网络的各种单元上的软件/固件的升级。
存在许多类型的电信网络,包括常规的PSTN、SDH(同步数字系列)、SONET(同步光纤网)、光子学(Photonics)以及ATM(异步传输模式)。典型地,这些网络包含大量互连的网络单元(Network Element)。在任一网络内,会有硬件和固件的组成、模型以及版本相同的网络单元。这些网络单元通过带内:数据通信网络互连在包括环形、星形、网状或串行在内的很多结构之一中。
图1示出一种典型的SDH网络,其中四个网络单元10互连在一种环形结构中。单元管理器12被连接到其中一个网络单元,并且笔记本或者其他的PC 14被连接到另一个网络单元。这些网络单元通过数据通信信道被互连。
为了升级任一网络单元上的固件或者软件,并且术语固件此后将被用于指固件或软件,必须由用户或远程地,例如,从单元管理器,或在本地通过将笔记本14插入到给定单元来依次升级每个网络单元。笔记本还可以被用于远程升级。单元管理器使用顺序执行的批处理机制来升级网络单元,并因此非常耗费时间。例如,英国UK国家网络约有12,000个网络单元,并且将花费六个月的时间来升级。显然,这是非常费时和费钱的。结果,仅仅在升级绝对必要时才实施升级,并且不是实施全部的而是实施最主要的增强。结果,没有实现网络的全部能力,并且一些次要的增强不值得引入。
本发明的目标在于克服这一缺点,并且证明可以大大减少升级一个通信网络所费时间的系统和方法。
以其最宽的形式,本发明在于从第一网络单元向其他的升级相关的网络单元广播升级。
更具体地说,提供升级安装在通信网络地网络单元上的固件的一种方法,包括:
将固件升级加载到网络上的源网络单元;和
通过该网络向固件升级所应用的网络单元广播该升级;
其中广播固件升级的步骤包括:发送识别升级所应用的网络单元类型的通知消息到与源网络单元相邻的网络单元,并且通过该网络由接收该通知消息的每个网络单元广播该通知消息,从而将该通知消息传送给相邻的网络单元。
本发明还提供升级安装在通信网络的网络单元上的固件的一种方法,包括:
在每个网络单元上安装一个协议代理,用于运行网络升级协议;
在一个源网络单元安装固件升级;和
通过该网络向该固件升级所应用的网络单元广播该固件升级,通过在每个网络单元上应用该网络升级协议将该固件升级应用于这些网络单元;
其中广播固件升级的步骤包括:发送识别该升级所应用的网络单元类型的通知消息到与源网络单元相邻的网络单元,并且通过该网络由接收该通知消息每个网络单元广播该通知消息,从而将该通知消息传送给相邻的网络单元。
本发明还提供一种包括多个网络单元的通信网络,每个网络单元具有网络升级协议单元,用于从相邻的网络单元接收网络升级消息,向相邻的网络单元广播接收的网络升级消息,并且根据网络升级消息的内容来升级网络单元固件;其中网络升级消息包含将被升级的网络单元类型的标识符。
本发明进一步提供一种包括用于通信网络的网络单元,包括网络升级协议单元,用于从通信网络上的一个或多个相邻的网络单元接收网络升级消息,用于在通信网络上向相邻的网络单元广播接收的网络升级消息,并且用于根据网络升级消息的内容来升级网络单元固件;
其中网络升级消息包含将被升级的网络单元类型的标识符。
本发明进一步提供一种用于升级存储在通信网络的网络单元中的固件的网络升级协议,该协议包括识别将被升级的网络单元的通知消息、用于将升级下载到识别的网络单元的下载消息、以及用于使已经接收到固件升级的网络单元应用该升级的应用消息。
本发明的实施例有下列好处,即,大大减少了在一个网络上对多个单元执行升级所花费的时间。例如,对于先前谈到的UK网络,时间可以从超过六个月减少非常显著的数量,有可能减少到甚至小于一天。这种减少在降低升级成本方面显而易见是有利的,同时因为它允许更加频繁地执行升级也是有利的,从而能够频繁执行次要的升级,而无需等待可能为几年时间的主要升级。
固件升级可以包含用于在一个网络单元多个不同功能的固件。优选地,固件升级图像根据其涉及的网络单元功能被细分成多个子图像。这即使由传送机制对固件下载进行分段也是有益处的。一个网络单元根据其需要可以选择接收什么固件。这减少了网络单元上的处理负载。
优选地,库存(inventory)消息被从一个网络单元向相邻的网络单元周期地广播,该消息列出在那个网络单元上存储的固件,这些相邻的网络单元将接收的固件列表与它们自己的固件列表相比较,并且向发送网络单元指示在接收的列表上而不在它自己的列表上的任一固件的身份,丢失固件随后被发送给接收网络代理。这具有提供保证广播可靠性的非常经济的方法的优势。可供选择的方法是确认对通信网络负载和下载时间具有极大影响的发送的每个消息。
现在,将仅仅通过举例的方式和参考附图描述本发明的实施例,其中:
上述的图1示出环形上的网络单元的一个示例;
图2示出实施本发明的多个网络单元;以及
图3示出实施本发明的一个处理过程中的消息流程。
在将被描述的系统和方法中,通过将固件充满(flood)整个网络来执行固件升级。在非串行网络中,网络单元以并行方式被升级。随后的描述涉及一种SDH网络,但是本发明可应用于任一电信网络。类似地,虽然其他的栈(例如,OSI通信栈)可以被使用,但是以下的描述指TCP/IP栈。图2示出通过一个带内数据通信信道16互连的三个网络单元10。每个网络单元是常规的并且包括存储器18和通信栈20。每个网络单元还包括NUP(网络升级协议Network Upgrade Protocol)代理22,其利用常规的升级技术被下载到每个网络单元并包括执行实施本发明的网络升级协议的软件。NUP代理处理NUP协议消息的接收和分配。NUP代理允许系统用户经由一个命令行或者其他的用户接口来配置和通知NUP代理22,以广播网络单元固件图像。
如相对于图1所描述的,通过首先利用笔记本14或单元管理器12升级第一源,网络单元(NE)10,执行升级。该处理过程与已知的技术相同。当这个升级完成时,用户命令第一升级的NUP代理22开始分配处理。在源NUP代理22已被升级之后,可以在任何时候出现该命令。
在每个NE 10中的NUP代理22可以拥有许多状态,包括“监听”、“接收”和“仅仅广播”。为了分配已在源NUP代理10上接收的升级,源NUP代理22转换到“仅仅广播”状态并且发出一个通知消息,通知其相邻的NE即将发生固件升级。通知消息包括具有寻址的标题,指示应接受后续消息的设备的构成、模型和版本。匹配这个寻址的目的地NE从缺省状态的“监听”状态转换为“接收”状态。不相配的NE保持在“监听”状态中。
在通知之后,源NUP代理22利用NUP下载的消息广播列在该通知中的固件图像。这个消息类似于IS-IS链接状态分组消息。
处于“接收”状态中的任一NUP代理22将在它们的存储器18中存储下载的固件图像。
当NE 10具有在通知消息中指定的固件库存时,该NE必须被指示切换到新的固件。这可以以两种方式来完成。第一种是在通知消息中含有指令,而第二种是使用一个单独的应用消息。前一方案只要全部的固件已经被下载就应用新的固件。第二种允许转换被推迟到以后的时间。这利用由NUP代理22设置为“待定”的“应用状态”标志来实现。
一旦下载完成,无论被应用与否,NUP代理22回到“监听”状态。
在NUP消息不活动的时间周期期间,NE NUP代理向它相邻的NE发出一个库存消息。这可以指示固件丢失。例如,如果下载到NE不可能的话,例如,如果在发送原始的通知消息时此NE不在“接收”状态中,这可能发生。这个消息类似于IS-IS序号分组消息。一旦检测到丢失固件,相同构成/模型和版本的NE将发送一个下载消息到具有丢失固件的NE。
在一些网络方案中,将存在与其他类型的NE分离的特定网络单元类型的岛屿区(island)。这可以暗示相同类型的岛屿区将不能发送库存消息给远程岛屿区和从远程岛屿区接收库存消息。情况不是这样的。如上所述,任何接收的不是给它本身的消息将被转送到相邻的网络单元,并且最后将由一个相同类型的NE接收,或者在终接NE上消逝。一旦由相同类型的远程岛屿区接收,能够发送一个应答,并且任一丢失固件被下载到发送该请求的NE。
图3示出在描述的处理过程中的消息流程。该图示出从一个源网络单元发送到一个相邻的网络单元以及从该网络单元发送到与第二相邻的网络单元相邻的另一网络单元的消息。为了便于理解,当每个网络单元将发送消息到一个以上的其他单元以便经由网络进行广播时,该图从一个真实的情况被大大地简化。
因而,在图3中,源NE发送经由网络单元的网络发送的“发送通知”消息24。这后面跟随着若干软件下载消息,表示为“S/N下载消息1”到“S/N下载消息n”,26a到26n。这些软件下载消息被分配并且到完成为止被分配到所有的网络单元。
周期性地,一个网络单元(这里是示出的三个当中处于中间的那个网络单元)将发送一个库存消息28到相邻的网络单元。该库存规定什么图像已由相邻的网络单元接收。在给出的示例中,源NE被发送库存消息,但是因为始发单元没有从中间单元接收到任何东西并且不需要发送库存消息。然而,另一个相邻的单元(被标识为相邻的NE)发送它自己的库存消息28,中间NE从中确定在S/N下载消息2中的图像丢失。中间的网络单元重发该丢失的图像26b到相邻的NE。从相邻的NE发送到中间的NE的另一库存消息30通知:相邻的NE已经接收到所有需要的图像。
最终,当将应用已通过网络发送的软件升级时,从源NE发送应用消息32到相邻的NE,并且继续通过网络发送到下一个相邻的NE,等等。
下列伪码解释NUP代理的操作。为了增加清晰度,一些例外处理已经被省略了。
-->NUPState=Listen;if(User instigates Apply && ApplyState==Pending){ Send NUP Apply to adjacent NEs with jobIdentifier;}Listen for incoming NUP messagesIf(NUP Message Received){ If(NUP Message Received==Notification){ if((Notification Addressing==NE Addressing) && (NUPState 1=Receive)||(NUPState 1=BroadcastOnly)){ NUPState=Receive; JobIdentifier=JobIdentifier from message; } } if((NUP Message Received==Download) if(jobIdentifier==job identifier from message)&& (NUPState==Receive)){ if(firmware version of download>NE firmware version){ Store firmware download in memory; } else { //Firmware at correct version so no actionrequired. } If(NE Inventory==Notification Inventory){\\Inventory upto date If(ApplyImmediately flag was set){ Switch NE to use new firmware in memory NUPState=Listen; }else{ NUPState=PendingApply; } } } if(NUP Message Received==Apply){ if((NE Inventory==Notification Inventory)&&(NUPState ==PendingApply)){ Switch NE to use new firnware in memory NUPState=Listen; } else{ ApplyState=ApplyImmediately; } } if(NUP Message Received==Inventory){ If((Inventory message indicates missing firmware)&&(NE addressing==messages addressing)){ Send NUP Download Messages for specific card firmware using the original jobIdentifier; } } if(NUP No activity timeout occurs} { if(NUPState==Receive){ send inventory message to adjacent NE's indicating missingfirmware } else{//No action. } } }]]>
现在将描述固件的结构。一些当前的固件恢复机制提供包含用于网络单元的所有固件的图像。这可以包含几兆字节并且被基础应用和传送机构分段。
NUP代理对单个图像起作用,以便将其分为构成成分的子图像。这些可以包括例如用于一个业务卡的图像、用于转换卡的图像等等。这些子图像可能由传送机构进行进一步分段。然而,一个分段现在仅包含用于唯一一种类型卡的固件。结果,目的NUP代理可以是选择性的,选择以及在网络单元的存储器中存储哪些图像。选择和存储哪些图像的确定是由NUP代理通过将通知消息中的文件和版本的列表与NE的当前库存进行比较来进行的。这个方案有下列好处,即,一个网络单元仅仅存储它需要升级的固件,因此减少该NE上的处理负载。
在例如电信网的一个大型网络中,绝对必要的是网络单元上的固件升级必须具有高可靠性以防止业务损失。这可以通过确认每个消息或利用某一其他方法来完成。确认每个消息是不合需要的并且对网络具有高的影响,这还增加了下载时间。代替确认消息,如相对于图3所描述的那样发送出库存消息。此库存消息包含一个网络单元存储器中所有固件图像的列表。接收该库存消息的目的NE将接收的库存与它自己的列表进行比较,并且如果检测到任一固件丢失或例如先前的版本号出现,它将利用一个NUP下载消息发送丢失图像到该库存消息的源。
实施本发明的方法和系统已经根据发送到适当网络单元的固件升级进行了描述。将有一些例外。例如,如果一个网络单元具有正确的类型,但是已经具有正在被升级的固件的正确版本,当接收到通知消息时,NE将保持在“监听”状态中。因而,它检查通知消息中的升级详情,确定它已经具有那个固件并且不切换到“接收”状态。
如果具有正确类型的NE正在被另一个用户使用,一个专业(craft)终端或者一个单元管理器将接收此升级并且将其存储,但是直到从其当前使用中被释放,才应用该升级。
已经处于“接收”或“仅仅广播”状态中的NE将不接受新的下载请求,直到当前的作业完成。
处于退役状态(decommissioned state)中的NE将不接受下载。
上述描述假定网络拥有足够的容量来执行升级。如果网络拥挤,消息将被排队,直到它们能被转送到相邻NE的时间。
通过经由一个单元管理器或者其他的附着于网络或特定网络单元的诊断工具查看该网络单元,系统用户可以确定任一网络单元的库存。
网络升级协议包括四个主要部分:通知、库存、下载和应用。这些将依次进行描述。
通知
通知消息通过网络被发送,以指示在此消息中规定类型的NE进入固件下载等待状态。不属于相关类型的NE不进入这个状态并且保持在“监听”状态中以等待其他通知消息。
通知消息的结构如下:
标题-NE类型
作业标识符
消息长度
校验和
有效负载-分别地固件和版本的名称值对
立即应用标志
该消息也包含一个作业标识符,以防止来源于其他的同时下载的干扰。立即应用标志被用于命令NE只要它已全部接收就应用该升级。如果这个标志被设置,将忽略任何后续的应用消息。
库存
库存消息由一个网络单元广播到其邻居,以指示其固件库存。该消息的结构如下:
标题-NE类型
作业标识符
消息长度
校验和
有效负载-分别地固件、版本的名称值对。
下载
这个消息包含将被下载的实际的固件图像。该消息的结构如下:
标题-NE类型
作业标识符
消息长度
校验和
有效负载-用于逻辑实体的固件图像二进制表示(binary)。
应用
这个消息命令NE应用新的软件。如果在通知消息中设置立即应用标志,则不要求此消息。应用消息可以在最后的下载消息后面立即被发送或者在用户生成事件时的后一时间上被发送。该消息的结构如下:
标题-NE类型
作业标识符
消息长度
校验和
有效负载-分别地软件和版本的名称值对。有效时间(仅仅用于延迟的应用)。
这个消息的接收产生一个警报,以记录固件已经变更的事实。如果在通知消息中设置“立即应用”标志,那么不要求这个消息并且如果发送将被忽略。也可以生成被发送到NE的事件,从中煽动整体应用。
将理解到,所描述的本发明的实施例是非常有利的并且能够使得升级一个网络所需的时间从好几个月减少到几个小时。这能够产生大的成本节省并且允许进行更频繁的升级,其能够最佳化网络操作。以前,由于升级处理过程的成本和困难,只进行最重要的和基本的升级。
在不脱离利用所附的权利要求所定义的本发明范畴的情况下,所描述的实施例的许多变形是有可能的。例如,虽然相对于SDH网络给出了描述,但是本发明并不局限于任一特定类型的网络。类似地,本发明不与所描述的特定网络协议有关联,并且可以描述其他的协议来升级网络。