CN103109270B - 包括引导业务离开虚拟分区的卡的网络单元虚拟分区的卡上的服务中软件升级 - Google Patents
包括引导业务离开虚拟分区的卡的网络单元虚拟分区的卡上的服务中软件升级 Download PDFInfo
- Publication number
- CN103109270B CN103109270B CN201180045860.1A CN201180045860A CN103109270B CN 103109270 B CN103109270 B CN 103109270B CN 201180045860 A CN201180045860 A CN 201180045860A CN 103109270 B CN103109270 B CN 103109270B
- Authority
- CN
- China
- Prior art keywords
- virtual partition
- card
- line cards
- software
- group
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种在网络单元内的方法,用于在改变第一虚拟分区的卡上的软件之前引导业务离开第一虚拟分区的卡,直到第一虚拟分区的卡具有会话数据之后,同时网络单元服务会话。将由第一虚拟分区的卡服务的会话重新分布到第二虚拟分区的卡。每一个虚拟分区都具有控制卡和线路卡。在使第一虚拟分区的线路卡离线之前,引导业务离开第一虚拟分区的卡。在重新分布会话之后,改变第一虚拟分区线路卡上的软件,同时第二虚拟分区的卡服务会话,该会话包括重新分布的会话。在改变软件之后,将用于由第二虚拟分区的卡服务的会话的会话数据同步到第一虚拟分区的卡。在改变线路卡上的软件之前引导业务离开卡,并且直到将会话数据同步到第一分区的卡之后。
Description
相关申请的交叉参考
本申请涉及2010年9月22日提交的美国专利申请No.12/888,402,其通过参考结合于此。
技术领域
本发明的实施例涉及网络单元的领域;并且更具体地说,涉及升级网络单元上的软件。
背景技术
可定期升级或改变网络单元上的软件。本领域已知用于升级网络单元上软件的各种方法。
在由TimothyJ.Lynch在2008年1月18日提交的题为“IN-SERVICESOFTWAREUPGRADEUTILIZINGMETADATA-DRIVENSTATETRANSLATION”的美国专利申请20090089774中描述了一种已知技术。此申请部分公开了在备份或备用控制器中首先安装并初始化新软件的“服务中”升级。网络单元状态被同步到备份控制器,并且控制被切换到备份控制器。在这个算法中,备份控制器变成了网络单元的活动控制器,并且前面的活动控制器是备份控制器。还公开了,网络单元使用元数据将活动状态转换成由新软件使用的格式。
发明内容
在一方面,公开了一种方法。在网络单元内执行该方法,用于在改变第一虚拟分区的卡上的软件之前引导业务离开第一虚拟分区的卡,直到第一虚拟分区的卡具有会话数据之后,并且同时所述网络单元服务会话。该方法包括将当前由所述网络单元的第一虚拟分区的卡服务的会话重新分布到所述网络单元的第二虚拟分区的卡。第一和第二虚拟分区中的每个都具有至少一个控制卡和至少一个线路卡。在使第一虚拟分区的至少一个线路卡离线之前,引导业务离开第一虚拟分区的卡。在将会话从第一虚拟分区的卡重新分布到第二虚拟分区的卡之后,改变至少第一虚拟分区的至少一个线路卡上的软件。执行这个,同时第二虚拟分区的卡服务会话,所述会话包括从第一虚拟分区的卡重新分布的会话。在改变第一虚拟分区的至少一个线路卡上的软件之后,将用于当前由第二虚拟分区的卡服务的会话的会话数据从第二虚拟分区的卡同步到第一虚拟分区的卡。特别是,在改变第一虚拟分区的所述至少一个线路卡上的软件之前引导业务离开第一虚拟分区的卡,并且继续直到将会话数据从第二虚拟分区的卡同步到第一虚拟分区的卡。有利的是,作为结果,通过在使第一虚拟分区的至少一个线路卡离线之前引导业务离开第一虚拟分区,提高了业务移动离开第一虚拟分区的卡的速度。还有利的是,引导业务离开第一虚拟分区的卡,直到第一虚拟分区的卡具有处理业务的会话数据之后。
在另一方面,公开了一种网络单元。所述网络单元可操作以在升级第一组线路卡上的软件之前引导业务离开第一组一个或多个线路卡,直到第一组线路卡具有会话数据之后,并且同时所述网络单元服务会话。网络单元包含耦合在一起的多个控制卡和与控制卡耦合并耦合在一起的多个线路卡。每一个线路卡都具有线路卡软件。网络单元还包含接收服务中软件升级(ISSU)命令的接口和响应于ISSU命令、可操作以使网络单元执行操作的ISSU系统。所述操作包括在使第一组线路卡离线之前引导业务离开第一组一个或多个线路卡的操作。所述操作还包含如下操作:在使第一组线路卡离线之后升级第一组线路卡上的线路卡软件,并且同时第二组一个或多个线路卡在线并可操作以接收与网络单元服务的会话相关联的业务。还有,所述操作包括在第一组线路卡上已经升级了线路卡软件之后使第一组线路卡在线的操作。网络单元可操作以在升级第一组线路卡上的线路卡软件之前引导业务离开第一组线路卡,并且直到用于由网络单元服务的会话的会话数据对第一组线路卡可用之后。有利的是,作为结果,通过在使第一组线路卡离线之前引导业务离开第一组线路卡,提高了业务移动离开第一组线路卡的速度。还有利的是,引导业务离开第一组线路卡,直到处理业务的会话数据对第一组线路卡可用之后。
附图说明
通过参考用于说明本发明实施例的如下描述和附图可最好地理解本发明。在附图中:
图1是说明网络单元的示例实施例的框图;
图2是说明可在网络单元中执行以用于改变网络单元的控制卡和线路卡上的软件同时网络单元服务会话的方法的示例实施例的方框流程图;
图3a是说明具有通过虚拟分区而虚拟分区的控制卡和线路卡的网络单元的示例实施例的框图;
图3b是说明示出将当前由虚拟分区A的卡服务的会话从虚拟分区A的卡重新分布到虚拟分区B的卡的网络单元的示例实施例的框图;
图3c是说明网络单元在改变虚拟分区A的卡上的软件之后的示例实施例的框图;
图3d是说明示出将当前由虚拟分区B的卡服务的所有会话从虚拟分区B的卡重新分布到虚拟分区A的卡的网络单元的示例实施例的框图;
图3e是说明网络单元在改变虚拟分区B的卡上的软件之后的示例实施例的框图;
图3f是说明示出将由虚拟分区A的至少一个控制卡服务的部分会话重新分布到虚拟分区B的至少一个控制卡并取消虚拟分区的网络单元的示例实施例的框图;
图4是说明用于将会话从虚拟分区A(要升级的第一虚拟分区)卡重新分布到虚拟分区B的卡的方法的示例实施例的方框流程图;
图5是说明用于将会话从虚拟分区B(要升级的随后虚拟分区)卡重新分布到虚拟分区A的卡的方法的示例实施例的方框流程图;
图6是说明网络单元的内部模块配置的示例实施例的框图,网络单元可操作以升级其控制卡和线路卡上的软件,同时网络单元服务会话;
图7是说明可由网络单元执行以从网络单元外部获取的角度升级网络单元的控制卡和线路卡上的软件同时网络单元服务会话的方法的另一示例实施例的方框流程图;
图8是说明具有在其上可执行ISSU的边缘网络单元的网络的示例实施例并说明可将业务从虚拟分区A的卡重新路由到虚拟分区B的卡的第一方法的框图;
图9是说明具有在其上可执行ISSU的边缘网络单元的网络的示例实施例并说明可将业务从虚拟分区A的卡重新路由到虚拟分区B的卡的第二方法的框图;
图10是说明在网络单元内执行的方法的示例实施例的方框流程图,该方法用于在改变第一虚拟分区的卡上的软件之前引导业务离开第一虚拟分区的卡,直到第一虚拟分区的卡具有会话数据之后,并且同时网络单元服务会话;
图11是说明作为图10的方法的继续的方法的示例实施例的方框流程图,该方法用于在改变第二虚拟分区的卡上的软件之前引导业务离开第二虚拟分区的卡,并且直到第二虚拟分区的卡具有会话数据之后;
图12是说明用于将当前由网络单元的第一虚拟分区的卡服务的会话重新分布到网络单元的第二虚拟分区的卡(包括引导业务离开第一虚拟分区的卡)的方法的示例实施例的方框流程图;
图13是说明可由网络单元执行的方法的另一示例实施例的方框流程图,该方法从网络单元外部获取的角度,在升级第一组线路卡上的软件之前引导业务离开第一组线路卡,直到第一组线路卡具有会话数据之后,并且同时网络单元服务会话;
图14是说明作为图13的方法的继续的方法的示例实施例的方框流程图,该方法用于在升级第二组线路卡上的软件之前引导业务离开第二组线路卡,并且直到会话数据可用之后;
图15是说明具有控制平面的第一示例实施例的网络单元的示例实施例的框图;
图16是说明具有控制平面的第二示例实施例的网络单元的示例实施例的框图,该控制平面是分布式控制平面。
具体实施方式
在以下描述中,阐述了许多特定细节。然而,要理解,本发明实施例可以在没有这些特定细节的情况下实施。在其它实例中,众所周知的电路、结构和技术未详细示出,以免使对本说明书的理解模糊不清。
图1是说明网络单元100的示例实施例的框图。本文所用的网络单元(例如路由器、交换机、桥或组合(例如多个服务网络单元))是一件连网设备,包含硬件和软件,其以通信方式互连网络上的其它设备(例如其它网络单元、终端站等)。网络单元通常被分成控制平面和数据平面(有时称为转发平面或媒体平面)。在网络单元是路由器(或正在实现路由功能性)的情况下,控制平面通常确定要如何路由数据(例如分组)(例如数据的下一跳和那个数据的出局端口),并且数据平面负责转发那个数据。
通常,网络单元包含一组一个或多个线路卡、一组一个或多个控制卡,可选地还有一组一个或多个服务卡(有时称为资源卡)。在一些情况下,服务卡可实现为控制卡。这些卡通过一个或多个机制(例如第一全网耦合线路卡并且第二全网耦合所有卡)耦合在一起。该组线路卡构成数据平面,而该组控制卡提供控制平面,并通过线路卡与外部网络单元交换分组。该组服务卡可提供专业化处理(例如层4到层7服务(例如防火墙、因特网协议安全性(Ipsec)、对等(P2P))、通过因特网协议的语音(VoIP)会话边界控制器、移动无线网关(演进分组系统(EPS)网关))。作为示例,服务卡可用于终止IPsec隧道,并执行随之产生的认证和加密算法。
参考图1的网络单元100的示例实施例,网络单元包含控制卡,至少包含控制卡1104-1和控制卡M104-M,可选地还有一个或多个其它控制卡。控制卡耦合在一起。网络单元还包含线路卡,至少包含线路卡1106-1和线路卡N106-N,可选地还有一个或多个其它线路卡。线路卡与控制卡耦合,并且线路卡耦合在一起。网络单元的控制卡和线路卡可属于单个物理机箱102,或与之耦合。下面进一步讨论的图15和16是图1网络单元100的控制平面的具体适当配置的示例实施例。
每一个控制卡都具有控制卡软件105,并且每一个线路卡都具有线路卡软件107。有时,可能适当的是,升级或改变控制卡上的软件,或者升级或改变线路卡上的软件,或者升级或改变控制卡和线路卡上的软件。此外,经常期望升级或改变网络单元卡上的软件而不引起系统不可访问性、中断服务或丢失业务。
本文公开了用于执行网络单元100卡上的服务中软件升级(ISSU)的方法和设备。术语软件升级要广泛地解释为软件改变。作为示例,升级软件可包括改变软件以实现新特征或功能性,改变软件以执行软件上的维护,或通过向软件添加补丁或修补来改变软件,以上只提到了几个示例。
再次参考图1,在一个实施例中,ISSU命令101可被提供给网络单元100以发起网络单元上的ISSU。网络单元具有接口103以接收ISSU命令。网络单元还具有ISSU系统109。ISSU系统响应于ISSU命令、可操作以使网络单元执行ISSU以改变或升级其控制卡和线路卡上的软件,同时网络单元服务会话。
接口103的示例实施例是命令线接口(CLI)。在说明中,接口被显示为控制卡1104-1的一部分,诸如例如到控制卡1的以太网连接。备选地,接口可通过线路卡例如经由消息从也承载业务108的外部网络提供,或者接口可以是可向网络单元提供控制或管理命令的另一类型接口。在一方面,网络管理员或其它从业者可通过中介网络从远程端或计算机终端站向网络单元发出ISSU命令101。ISSU命令可在带内或带外发出。ISSU命令可通过中介网络从远程端或计算机终端站被传递到网络单元。从而,ISSU命令可潜在地在网络上从远程位置向网络单元发出,不过本发明的范围不限于这个方面。
如将在下面进一步说明的那样,在一些实施例中,执行ISSU可包括将网络单元的控制卡和线路卡虚拟分区成两个或更多虚拟分区。在一个或多个实施例中,ISSU命令可规定在每个虚拟分区中要包含哪些控制卡和线路卡。例如,ISSU命令可规定一个或多个控制卡(例如控制卡1)和一个或多个线路卡(例如线路卡1)要包含在第一虚拟分区或虚拟分区A中,并且ISSU命令可规定一个或多个其它控制卡(例如控制卡M)和一个或多个其它线路卡(例如线路卡N)要包含在第二虚拟分区或虚拟分区B中。换句话说,ISSU命令可将具体控制卡和线路卡与它们要包含在其中的具体虚拟分区相关联。
图2是说明可在网络单元内执行以用于改变网络单元的控制卡和线路卡上的软件同时网络单元服务会话的方法210的示例实施例的方框流程图。为了更好地说明操作,将参考图3a-3f的示例实施例描述方框流程图的操作。然而,应该理解,流程图的操作可由不同于参考图3a-3f的示例实施例讨论的实施例的本发明的实施例执行,并且参考图3a-3f的示例实施例讨论的实施例可执行与参考图2的方框流程图讨论的操作不同的操作。
在框211,网络单元的多个控制卡和多个线路卡被虚拟分区成虚拟分区A和虚拟分区B。每一个虚拟分区都具有多个卡,在每个虚拟分区中包含至少一个控制卡和至少一个线路卡。在一个实施例中,每一个虚拟分区都可具有一半或大约一半的控制卡和一半或大约一半的线路卡,不过这不是必需的。如前面提到的,在一个实施例中,ISSU命令可以规定每个虚拟分区中的控制卡和线路卡。
在一个实施例中,可以确保与每个分区中的线路卡保持到接口的外部连接的这种方式,对网络单元的线路卡进行虚拟分区,这可有助于避免业务丢失。通常,网络单元具有至少两个不同线路卡,它们访问相同外部网络以便在其中一个线路卡故障的情况下提供弹性,并协助负荷平衡。如果到网络的一个链路丢失,例如,如果该链路被切断,或者如果两个线路卡中的一个故障,则到相同网络的另一链路可作为备份链路留存,这可有助于避免业务丢失。在一个或多个实施例中,当在虚拟分区之间对网络单元的线路卡进行虚拟分区时,可将这个考虑进去。
例如,在一个实施例中,网络单元的线路卡可被虚拟分区,使得每个虚拟分区都具有线路卡以向同一组外部网络提供访问。例如,在一个实施例中,线路卡可被虚拟分区,使得第一虚拟分区的线路卡提供到由第二虚拟分区线路卡提供连接的所有不同外部网络的连接,并且第二虚拟分区的线路卡提供到由第一虚拟分区线路卡提供连接的所有不同外部网络的连接。当物理机箱被虚拟分区时,可虚拟分区线路卡中的连接性弹性。用这种方式,每一个虚拟分区都将访问相同外部网络。有利地,这可有助于避免业务丢失。这不是必需的,例如如果业务丢失是可容忍的话,但一般是有利的。
图3a是说明具有通过虚拟分区320进行虚拟分区的单个物理机箱302的控制卡304和线路卡306的网络单元300的示例实施例的框图。虚拟分区A至少具有控制卡1304-1,可选地还有一个或多个其它控制卡,以及线路卡1306-1,可选地还有一个或多个其它线路卡。同样,虚拟分区B至少具有控制卡M304-M,可选地还有一个或多个其它控制卡,以及线路卡N306-N,可选地还有一个或多个其它线路卡。
在ISSU这个阶段,可在每一个虚拟分区的线路卡接收业务308。例如,可在虚拟分区A的线路卡1接收业务308-A,并且可在虚拟分区B的线路卡N接收业务308-B。还有,在ISSU的这个阶段,所有控制卡都彼此通信,所有线路卡都与所有控制卡通信,并且所有线路卡都彼此通信。在此示例中,每一个控制卡304都具有例如版本1(V1)的初始控制卡软件305,并且每一个线路卡都具有例如版本1(V1)的初始线路卡软件307。卡之间的消息、数据或其它通信全都是例如V1到V1的初始到初始通信。例如,如所示的那样,控制卡与线路卡之间的通信可以是V1到V1通信317。
再次参考图2,在框212,当前由虚拟分区A的卡服务的会话被重新分布到虚拟分区B的卡。在一方面,当前由虚拟分区A的卡服务的所有会话都可被重新分布到虚拟分区B的卡。在一个或多个实施例中,这可通过以先接后断(make-before-break)方式迁移或移动会话来进行,使得对控制平面没有服务影响,并且线路卡继续转发业务没有中断。网络单元常规上具有重新分布会话例如执行负荷平衡的能力。例如,这可用负荷指数映射(LIM)和负荷指数重新分布来进行。
图3b是说明示出将当前由虚拟分区A的卡服务的会话312从虚拟分区A的卡重新分布到虚拟分区B的卡的网络单元300的示例实施例的框图。因为两个虚拟分区的卡都具有例如版本1(V1)的初始软件,所以可以用初始到初始(例如V1到V1)的通信来分布会话。从虚拟分区A的卡重新分布的会话不仅可被重新分布到虚拟分区B的至少一个控制卡304-M,而且可被重新分布到虚拟分区B的至少一个线路卡306-N。在ISSU这个阶段,仍可在每一个虚拟分区的线路卡接收业务308。还有,在ISSU的这个阶段,所有控制卡都彼此通信,所有线路卡都与所有控制卡通信,并且所有线路卡都彼此通信。注意,可发生在随后使虚拟分区A的至少一个线路卡离线之前的这种抢先的重新分布会话,通常不会发生在卡故障的情况下(其中卡通常不会预先知道故障)或升级备用控制卡上的软件的情况下(其中会话已经由活动控制卡处理)。
再次参考图2,在框213,在将会话从虚拟分区A的卡重新分布到虚拟分区B的卡之后,改变至少虚拟分区A的至少一个线路卡上的软件,在一些实施例中还有虚拟分区A的至少一个控制卡上的软件,同时虚拟分区B的卡服务会话,该会话包括从虚拟分区A的卡重新分布的会话。有利地,通过在改变虚拟分区A的卡上的软件之前将会话从虚拟分区A的卡重新分布到虚拟分区B的卡,网络单元能够服务会话,同时改变虚拟分区A的卡(一个或多个)上的软件。这可有助于最小化或者至少减少服务中断,同时改变软件。
在一个或多个实施例中,在框213,除了至少一个线路卡,还可选地可改变虚拟分区A的至少一个控制卡上的软件。这种例如可以是网络单元配置成使用分布式控制平面的情况。备选地,这将在下面进一步说明,例如如果虚拟分区A的至少一个控制卡是之前在其上升级软件的热备用控制卡,则可能已经改变了虚拟分区A的至少一个控制卡上的软件。例如见与图15-16相关联的讨论。
进一步考虑与图16的示例中一样的实施例,其中网络单元配置成使用分布式控制平面。在分布式控制平面,网络单元可包含活动初级控制卡和备用初级控制卡以及次级控制卡。在操作期间,活动初级控制卡可将控制平面过程实例分布到次级控制卡。次级控制卡可全都运行在活动模式,并接收、处理和发送会话的信令消息。一般不存在真实的备用(非活动)次级控制卡。图2的基于虚拟分区的方法的一个优点是,尽管不存在真实的备用(非活动)次级控制卡,但也可升级次级控制卡,同时网络单元服务会话。在对网络单元进行虚拟分区时,在框211,分布式控制平面也可被虚拟分区。虚拟分区A的至少一个控制卡可包含初级控制卡和一个或多个次级控制卡,并且虚拟分区B的至少一个控制卡可包含初级控制卡和一个或多个次级控制卡。在一个实施例中,在框212重新分布会话之后,在框213,除了改变虚拟分区A的至少一个线路卡上的软件,还可改变虚拟分区A的一个或多个次级控制卡上的软件。在一个实施例中,虚拟分区B的初级控制卡在服务在框212重新分布的会话的同时,可将分布式控制平面过程实例仅提供给虚拟分区B内的一个或多个次级控制卡,而不提供给虚拟分区A内的任何一个或多个次级控制卡。
图3c是说明网络单元300在改变虚拟分区A的卡上的软件之后的示例实施例的框图。在这个示例实施例中,至少一个线路卡1306-1上的初始(例如V1)线路卡软件307已经被改变成改变的(例如版本2或V2)线路卡软件321。同样,至少一个控制卡1304-1上的初始(例如V1)控制卡软件305已经被改变成改变的(例如版本2或V2)控制卡软件318。在一个实施例中,改变虚拟分区A的至少一个线路卡上的软件以及可选地还有虚拟分区A的至少一个控制卡上的软件可包括改变现场可编程门阵列(FPGA)软件、专用集成电路(ASIC)软件、内核软件和微代码以及固件中的至少一项。在一方面,改变软件可包括将服务从卡上除去,并重新启动其上改变或升级了软件的卡。例如,新软件可通过网络传送,并写到非易失性储存介质,诸如闪存,并且然后用新软件引导卡。在一个或多个实施例中,实现改变软件可无需暂停用户会话,或丢失会话或业务。
作为改变软件的结果,虚拟分区A中的控制卡与线路卡之间的通信现在可以是V2到V2通信319,而虚拟分区B中的控制卡与线路卡之间的通信仍可以是V1到V1通信317。类似地,虚拟分区A的控制卡之间和虚拟分区A的线路卡之间的通信现在可以是V2到V2通信,而虚拟分区B的控制卡之间和虚拟分区B的线路卡之间的通信可以仍是V1到V1通信。
在一个或多个实施例中,在改变虚拟分区A的至少一个线路卡上的软件之后用虚拟分区B的卡服务会话可包括虚拟分区B的至少一个控制卡304-M仅与虚拟分区B中的线路卡(例如至少一个线路卡N306-N)通信,而不与虚拟分区A中的线路卡(例如不与线路卡1306-1)通信。例如,在一方面,可能存在两个槽映射(slotmap)表,每个虚拟分区一个。虚拟分区A的第一槽映射表可仅具有虚拟分区A中卡的槽,并且虚拟分区B的第二槽映射表可仅具有虚拟分区B中卡的槽。
可能有帮助的是,讨论如图3a-3c所示的网络单元的逐步虚拟分区。如图3c中所示的软件改变基本上可完成在图3a中开始的网络单元的真实虚拟分区的形成。如所提到的,在虚拟分区之前,存在网络单元的控制卡与线路卡之间的全网通信。会话分布或负荷平衡可在任何控制卡与线路卡之间分布会话或平衡负荷,例如根据它们处理会话的能力。会话可被分布到控制卡和线路卡,不管它们随后将属于什么虚拟分区。
然后,在图3a开始网络单元的虚拟分区之后,在图3b中完成会话重新分布期间和之前,业务可仍进入到虚拟分区A,并且虚拟分区A和B的控制卡和线路卡之间的通信仍可发生。当业务进入到虚拟分区A中时,网络单元可理解为,那个业务的合适目的地是虚拟分区B中,并且不再是虚拟分区A中。网络单元可将这些会话重新分布到虚拟分区B。从而,业务可仍进入到分区A(如在图3b中的业务308-A所示),但分区A可以确定业务要被重新引导到虚拟分区B进行大量处理,并将业务转发到虚拟分区B。业务的大量处理可在虚拟分区B中处理。这是短暂的,同时从虚拟分区A到虚拟分区B发生会话的重新分布。线路卡仍可彼此通信,包括通过虚拟分区,同时发生会话的这个重新分布。在这一点,可能未完全完成真实虚拟分区的网络单元的形成,而是网络单元可仍一步一步地准备完成虚拟分区。
随后,如图3c中所示,在改变虚拟分区A上的软件之后,在一个实施例中,真实的虚拟分区可由仅具有那个虚拟分区内的卡的虚拟分区的槽映射来完成和实施。在这一点,虚拟分区A上的线路卡可不与虚拟分区B上的线路卡直接通信,以避免转换复杂性,而是只通过外部网络。还有,在一方面,一个分区中的控制卡可不与另一个分区中的线路卡通信,以避免转换复杂性。控制卡在适当时间可仍将状态数据同步到其它控制卡。
再次参考图3c,在ISSU中的这个阶段,在虚拟分区A的线路卡1306-1可以接收业务308-A,或者在虚拟分区A的线路卡1306-1可以不接收业务308-A。例如,如果是重新引导业务离开虚拟分区A的线路卡1的实施例,这将在下面结合图9-14(并且具体相对于图10的框1068和1071)进一步讨论,则在虚拟分区A的线路卡1可以不接收业务308-A。然而,如果没有执行主动重新引导业务308-A离开虚拟分区A的线路卡1,则业务可出现在虚拟分区A的线路卡1。如果允许业务308-A出现在虚拟分区A的线路卡1(例如在重新启动线路卡1之后),则在有会话数据可用于处理业务308-A之前,业务可出现在线路卡1。下面图10中(例如在框1071)示出的实施例的优点是,直到处理业务的会话数据存在之后,业务才可出现在该线路卡处。
再次参考图2,在框214,在改变至少虚拟分区A的至少一个线路卡上的软件之后,当前由虚拟分区B的卡服务的会话被重新分布到虚拟分区A的卡。在一方面,当前由虚拟分区B的卡服务的所有会话,在此示例中是当前由网络单元服务的所有会话,都可被重新分布到虚拟分区A的卡。在一个或多个实施例中,这可通过以先接后断方式迁移或移动会话来进行,使得对控制平面没有服务影响,并且线路卡继续转发业务而没有中断。例如,这可用负荷指数映射(LIM)和负荷指数重新分布来进行,如之前所提到的。
图3d是说明示出将当前由虚拟分区B的卡服务的所有会话314从虚拟分区B的卡重新分布并转换到虚拟分区A的卡的网络单元300的示例实施例的框图。因为虚拟分区B的至少一个控制卡M304-M具有初始(例如V1)或尚未改变的控制卡软件305,而虚拟分区A的至少一个控制卡1304-1具有已经改变的(例如V2)控制卡软件318,所以可以用控制卡M304-M与控制卡1304-1之间的初始到改变(例如V1到V2)的通信314重新分布会话。在一个实施例中,这可包括转换从尚未改变的控制卡软件305重新分布到已经改变的控制卡软件318的会话。例如,转换可潜在地需要考虑现有和改变的软件之间在状态的期望格式和语义内容方面的差异。状态例如可包含业务转发表、用户会话信息、配置数据、防火墙信息、服务质量信息、统计或其它状态或运行时数据。
转换的会话然后可从虚拟分区A的所述至少一个控制卡1304-1提供到分区A的至少一个线路卡1306-1。转换可严格在控制卡之间进行,同时线路卡可接收从同一虚拟分区上的控制卡下载的会话。由于控制卡1304-1上的控制卡软件318和线路卡1306-1上的线路卡软件321都已经改变,因此在控制卡1304-1与线路卡1306-1之间不需要转换。而是,这些可以是改变的到改变的(例如V2到V2)通信319。虚拟分区A上的控制卡不需要与虚拟分区B上的线路卡通信。这可有助于通过避免将会话从分区B的至少一个控制卡M304-M的尚未改变的控制卡软件305转换到分区A的至少一个线路卡1306-1的已经改变的线路卡软件321,来避免显著转换复杂性。
在一方面,仍有可能在ISSU的这一点回滚,如果期望的话。由于虚拟分区B已经处理了整个网络单元的所有会话,因此虚拟分区A可中止软件升级,或回滚到旧软件,如果期望的话。
再次参考图2,在框215,在将会话从虚拟分区B的卡重新分布到虚拟分区A的卡之后,改变虚拟分区B的至少一个线路卡上的软件,并改变虚拟分区B的至少一个控制卡上的软件,同时虚拟分区A的卡服务会话,该会话包括从虚拟分区B的卡重新分布的会话。在一方面,虚拟分区A上的卡可服务由网络单元处理的所有会话。有利地,通过在改变虚拟分区B的卡(一个或多个)上的软件之前将会话从虚拟分区B的卡重新分布到虚拟分区A的卡,网络单元能够服务会话,同时改变虚拟分区B的卡(一个或多个)上的软件。这可有助于最小化或者至少减少服务中断,同时改变软件。
图3e是说明网络单元300在改变虚拟分区B的卡上的软件之后的示例实施例的框图。在这个示例实施例中,至少一个线路卡N306-N上的初始(例如V1)线路卡软件307已经被改变成改变的(例如V2)线路卡软件321。同样,至少一个控制卡M304-M上的初始(例如V1)控制卡软件305已经被改变成至少一个控制卡M304-M上的改变的(例如V2)控制卡软件318。在一个实施例中,改变至少一个线路卡N306-N上的软件和/或至少一个控制卡M304-M上的软件可包括改变现场可编程门阵列(FPGA)软件、专用集成电路(ASIC)软件、内核软件和微代码以及固件中的至少一项。在一方面,改变软件可包括重新启动其上改变或升级了软件的卡。作为改变软件的结果,虚拟分区B中的控制卡与线路卡之间的通信现在可以是V2到V2通信319。类似地,虚拟分区B的控制卡之间和虚拟分区B的线路卡之间的通信现在可以是V2到V2通信。
在ISSU中的这个阶段,在虚拟分区B的线路卡N306-N可以接收业务308B,或者在虚拟分区B的线路卡N306-N可以不接收业务308B。例如,如果是重新引导业务离开虚拟分区B的线路卡N的实施例,这将在下面结合图9-14(并且具体相对于图11的框1174和1177)进一步讨论,则在虚拟分区B的线路卡N可以不接收业务308B。然而,如果没有执行主动重新引导业务308B离开虚拟分区B的线路卡N,则业务可出现在虚拟分区B的线路卡N。允许业务308B出现在虚拟分区B的线路卡N(例如在重新启动线路卡N之后)的一个潜在缺点是,在有会话数据可用于处理业务308B之前,业务可出现在线路卡N。下面图11中(例如在框1177)示出的实施例的优点是,直到处理业务的会话数据存在之后,业务才可出现在该线路卡处。
再次参考图2,在框216,在改变虚拟分区B的至少一个线路卡上的软件和虚拟分区B的至少一个控制卡上的软件之后,虚拟分区被取消,并且当前由虚拟分区A的卡服务的部分会话被重新分布到虚拟分区B的卡。在一方面,重新分布的部分会话可基于负荷平衡或负荷重新分布目标重新分布。在一方面,由虚拟分区A的卡服务的接近一半会话可被重新分布到虚拟分区B的卡,不过本发明的范围不如此限制。
图3f是说明示出将由至少一个控制卡1304-1服务的部分会话316重新分布到至少一个控制卡M304-M并取消虚拟分区320的网络单元300的示例实施例的框图。因为至少一个控制卡M304-M具有改变的(例如V2)控制卡软件318,并且至少一个控制卡1304-1具有改变的(例如V2)控制卡软件318,所以可用改变的到改变的(例如V2到V2)通信316重新分布会话。在ISSU的这个完成阶段,可在至少一个线路卡1306-1并在至少一个线路卡N306-N接收业务308。例如,可在线路卡1接收业务308-A,并且可在线路卡N接收业务308-B。还有,在ISSU的这个完成阶段,所有控制卡都彼此通信,并且所有线路卡都与所有控制卡通信,并且所有线路卡都彼此通信,与虚拟分区开始之前一样。
有利地,图2的方法允许改变网络单元的控制卡和线路卡上的软件,同时网络单元服务会话。这允许防止、最小化或至少减少由于软件改变引起的服务中断。
图4是说明用于在改变至少虚拟分区A的至少一个线路卡上的软件之前将当前由虚拟分区A(要升级的第一虚拟分区)卡服务的会话从虚拟分区A的卡重新分布到虚拟分区B的卡的方法412的示例实施例的方框流程图。方法412表示适合于图2的框212的一组操作的一个示例实施例。
在框424,在使虚拟分区A的至少一个线路卡离线之前将会话数据从虚拟分区A的卡同步到虚拟分区B的卡。同步会话数据可包括移动或拷贝会话数据。然后,在框425,在使虚拟分区A的至少一个线路卡离线之前将会话的责任从虚拟分区A的卡切换到虚拟分区B的卡。切换会话责任的一个示例方式是向每个控制卡和每个线路卡发送负荷指数映射(LIM)表,反映会话责任的切换。然后,在框426,使虚拟分区A的至少一个线路卡离线。
图5是说明方法514的示例实施例的方框流程图,用于将当前由虚拟分区B(要升级的随后虚拟分区)卡服务的会话重新分布到虚拟分区A的卡,这执行在改变虚拟分区A的至少一个线路卡上的软件之后并在改变虚拟分区B的控制卡和线路卡上的软件之前。方法514表示适合于图2的框214的一组操作的一个示例实施例。
在框527,在使虚拟分区B的至少一个线路卡离线之前将会话数据从虚拟分区B的卡同步到虚拟分区A的卡。同步会话数据可包括移动或拷贝会话数据。在框528,将会话从分区B的至少一个控制卡的尚未改变的软件转换到分区A的至少一个控制卡的已经改变的软件。然后,在框529,将转换的会话从分区A的至少一个控制卡供应或另外地提供到分区A的至少一个线路卡。如之前所提到的,这允许通过避免将会话从分区B的至少一个控制卡的尚未改变的控制卡软件转换到分区A的至少一个线路卡的已经改变的线路卡软件,来避免转换复杂性。在框530,在使虚拟分区B的至少一个线路卡离线之前将会话的责任从虚拟分区B的卡切换到虚拟分区A的卡。切换会话责任的一个示例方式是向每个控制卡和每个线路卡发送负荷指数映射(LIM)表,反映会话责任的切换。然后,在框531,使虚拟分区B的至少一个线路卡离线。
图6是说明网络单元600的内部模块配置的示例实施例的框图,网络单元600可操作以升级其控制卡和线路卡上的软件,同时网络单元服务会话。网络单元至少包含控制卡1604-1和控制卡M604-M,可选地还有一个或多个其它控制卡。控制卡耦合在一起。网络单元还至少包含线路卡1606-1和线路卡N606-N,可选地还有一个或多个其它线路卡。线路卡与控制卡耦合,并且线路卡耦合在一起。网络单元的控制卡和线路卡可属于单个物理机箱602,或与之耦合。
在所说明的实施例中,控制卡1604-1具有接口603,诸如命令线接口,以接收ISSU命令601,不过也考虑之前所提到的其它接口。控制卡1604-1具有表示ISSU系统609-1的一组模块。控制卡1的ISSU系统包含第一ISSU管理器模块(ISSU-MM)634-1、虚拟分区创建/取消模块(VPM)636、第一会话分布模块(SDM)635-1和ISSU转换模块637。ISSU命令可被提供给第一ISSU-MM634-1。第一ISSU-MM634-1可响应于接收到命令而管理或监督网络单元上或至少控制卡1604-1上的ISSU。第一ISSU-MM634-1与VPM636、第一SDM635-1和ISSU转换模块637耦合或与之通信,并且可向这些其它模块提供消息,诸如控制或管理消息或指令。控制卡M604-M具有第二ISSU-MM634-M和第二SDM635-M。在一个或多个实施例中,第一ISSU-MM634-1和第二ISSU-MM634-M可选地可彼此耦合或通信,例如以在ISSU期间协调操作。备选地,第一和第二ISSU-MM可通过其它组件(例如通过控制卡服务层)通信。
第一和第二SDM635可表示网络单元中的常规或基本上常规的模块。在网络单元中通常采用SDM635,甚至没有本文描述的ISSU属性以协助会话分布、控制同步(例如哪些卡同步到哪些其它卡)以及负荷平衡功能。SDM635的一个具体适当的示例实施例是本领域已知的负荷指数映射(LIM)管理器模块或执行会话分布或重新分布的类似功能的其它模块。不同虚拟分区中的会话分布模块可选地可能能够彼此通信,或者它们可经由其它组件例如服务层通信。
为了进一步说明网络单元的模块可潜在地如何操作,将相对于类似于图2流程图操作的操作描述示例实施例。然而,应该理解,图6的网络单元可执行完全不同于参考流程图讨论的那些的操作和方法。此外,流程图的操作和方法可由完全不同于图6网络单元的实施例执行。
在第一ISSU-MM634-1接收或知道接收ISSU命令601之后,VPM636当由第一ISSU-MM634-1指令时可将网络单元的控制卡和线路卡虚拟分区成虚拟分区A和虚拟分区B。如所提到的,ISSU命令可选地可规定每个虚拟分区中的卡。在所说明的示例中,虚拟分区A可具有至少控制卡1604-1和至少线路卡1606-1,并且虚拟分区B可具有至少控制卡M604-M和至少线路卡N606-N。
第一SDM635-1可操作以当由第一ISSU-MM634-1指令时将当前由虚拟分区A的卡服务的会话重新分布到虚拟分区B的卡。然后,第一ISSU-MM634-1可操作以在第一SDM635-1重新分布会话之后发起至少虚拟分区A的线路卡1606-1上并且在一些情况下是虚拟分区A的控制卡上(例如特征卡上)的软件的ISSU,同时虚拟分区B的卡服务会话,该会话包括从虚拟分区A的卡重新分布的会话。
第二SDM634-M可操作以在虚拟分区A的至少一个线路卡上的ISSU之后,并且当由第二ISSU-MM634-M指令时,将当前由虚拟分区B的卡服务的会话重新分布到虚拟分区A的卡。然后,第二ISSU-MM634-M可操作以在第二SDM635-M重新分布会话之后发起虚拟分区B的控制卡M604-M和线路卡N606-N上软件的ISSU,同时虚拟分区A的卡服务会话,该会话包括从虚拟分区B的卡重新分布的会话。
VPM636可操作以在虚拟分区B的控制卡M604-M和线路卡N606-N上的ISSU之后,并且当由第一ISSU-MM634-1指令时,取消虚拟分区。第一SDM635-1可操作以当由第一ISSU-MM634-1指令时将当前由控制卡1604-1服务的会话重新分布到控制卡M604-M。
图7是说明可由网络单元执行以从网络单元外部获取的角度升级网络单元的控制卡和线路卡上的软件同时网络单元服务会话的方法740的另一示例实施例的方框流程图。由于升级网络单元卡上的软件,同时网络单元服务会话,因此避免了由于升级软件引起的服务中断。
在框741,可在网络单元的接口接收ISSU命令。可如在本文其它地方所描述的那样接收ISSU命令。网络单元可响应于接收到ISSU命令或作为其结果执行方法的其余操作。
在框742,可使第一组一个或多个线路卡离线。在一方面,可使一半或大约一半线路卡离线。在一些实施例中,也可使第一组一个或多个控制卡离线。
然后,在框743,在使第一组线路卡离线之后可升级第一组线路卡上的线路卡软件,并且同时第二组一个或多个线路卡在线并可操作以接收与网络单元服务的会话相关联的业务。在一些实施例中,还可升级第一组一个或多个控制卡上的控制卡软件。在一方面,软件可能之前已经通过网络被发射到网络单元。如果期望的话,则网络管理员或其它从业者可选地可能能够确认已经升级了第一组线路卡上的线路卡软件,例如通过将命令通过命令线接口(CLI)或其它管理接口发出以询问线路卡软件的属性,不过本发明的范围不限于这个方面。
接下来,在框744,在已经升级了第一组线路卡上的线路卡软件之后,可使第一组线路卡回到在线,并且可使第二组线路卡离线。在一些实施例中,也可使第二组一个或多个控制卡离线。
然后,在框745,在使第二组线路卡离线之后可升级第二组线路卡上的线路卡软件并可升级第二组一个或多个控制卡上的控制卡软件,并且同时第一组线路卡在线并可操作以接收与网络单元服务的会话相关联的业务。与前面一样,如果期望的话,则网络管理员或其它从业者可选地可能能够确认已经升级了第一组线路卡上的线路卡软件,例如通过将命令通过命令线接口(CLI)或其它管理接口发出以询问线路卡软件的属性,不过本发明的范围不限于这个方面。
然后,在框746,在第二组线路卡上已经升级了线路卡软件之后,可使第二组线路卡回到在线。在一些实施例中,也可使第二组一个或多个控制卡回到离线。在框747,在升级第一组和第二组线路卡以及第二组控制卡上的软件之后,可在第一组和第二组线路卡接收与网络单元服务的会话相关联的业务。
图8是说明具有在其上可执行ISSU的边缘网络单元800-1的网络的示例实施例并说明可将业务从虚拟分区A822-A的卡804-1、806-1重新路由到虚拟分区B822-B的卡804-M、806-N的第一方法的框图。虽然在这个示例实施例中在边缘网络单元上执行ISSU,但在另一实施例中可在核心网络单元上执行ISSU。
网络包含第一终端站850-1、第一接入网852-1、后面提到的第一边缘网络单元800-1、第一组一个或多个核心网络单元854-L、第二组一个或多个核心网络单元854-R、第二边缘网络单元800-2、第二接入网852-2和第二终端站850-2。作为示例,第一和第二终端站可以是用户终端站或服务器终端站。
用户或计算机终端站(例如服务器、工作站、膝上型电脑、上网本、掌上电脑、移动电话、智能电话、多媒体电话、通过因特网协议的语音(VoIP)电话、用户设备、终端、便携式媒体播放器、全球定位系统(GPS)单元、游戏系统、机顶盒等)访问通过因特网提供的内容/服务和/或在叠加在因特网上的虚拟私用网(VPN)上提供的内容/服务。内容和/或服务通常由属于服务或内容提供商的一个或多个终端站(例如服务器终端站)或参与对等服务的终端站提供,并且例如可包含公共网页(例如免费内容、店面、搜索服务等)、私用网页(例如提供电子邮件服务的用户名/密码访问的网页等)和/或VPN上的公司网络等。通常,用户终端站(例如通过(有线或无线)耦合到接入网的客户室内设备)耦合到边缘网络单元,边缘网络单元(例如通过一个或多个核心网络单元)耦合到其它边缘网络单元,其它边缘网络单元耦合到其它终端站(例如服务器终端站)。
在说明中,根据在ISSU方法实施例期间重新路由业务的第一方法,使用参考标号(1)至(5)示出事件的具体序列。最初,如由虚线和参考标号(1)所示出的,第一和第二终端站850可通过第一和第二接入网852、第一和第二边缘网络单元800和第一组一个或多个核心网络单元854-L(在左边)耦合。随后,在第一边缘网络单元800-1上执行ISSU可包括将当前由虚拟分区A的卡服务的会话重新分布到虚拟分区B的卡。如之前所提到的,例如结合图4,重新分布会话可涉及首先同步会话数据,如由参考标号(2)所示出的,并且然后切换会话的责任,如由参考标号(3)所示出的。如之前还提到的,例如结合图4,可使虚拟分区A的至少一个线路卡1806-1离线,如由参考标号(4)所示出的。例如,当升级或改变至少一个线路卡1806-1上的软件时,可重新启动虚拟分区A的至少一个线路卡1806-1,或另外使其离线。网络常规上能够检测到已经使至少一个线路卡1806-1离线。网络常规上还能够确定备选路由以保持第一与第二终端站850之间的通信。例如,如由短划线和参考标号(5)所示出的那样,网络可确定通过第二组一个或多个核心网络单元854-R(在右边)和通过虚拟分区B822-B的至少一个线路卡N806-N和控制卡M804-M的新路由。
尽管网络具有确定备选路由以保持第一与第二终端站850之间通信的常规能力,依赖这些常规再重新路由能力存在某些缺点。首先,往往网络要花时间检测已经使至少一个线路卡1806-1离线,并确定备选路由以保持第一与第二终端站850之间的通信。对于一些实施例(例如蜂窝电话通信),这个时间量,即使相当小,可能也是不合需要的。依赖这些常规再重新路由能力的另一个缺点是,当至少一个线路卡1806-1回到在线时,例如在升级至少一个线路卡1806-1上的软件期间重新启动之后,在虚拟分区A822-A的卡具有处理业务的会话数据之前,业务可开始进入至少一个线路卡806-1中。
图9是说明具有在其上可执行ISSU的边缘网络单元900-1的网络的示例实施例并说明可将业务从虚拟分区A922-A的卡904-1、906-1重新路由到虚拟分区B922-B的卡904-M、906-N的第二方法的框图。虽然在这个示例实施例中在边缘网络单元上执行ISSU,但在另一实施例中可在核心网络单元上执行ISSU。
类似于图8,网络包含第一终端站950-1、第一接入网952-1、前面提到的第一边缘网络单元900-1、第一组一个或多个核心网络单元954-L、第二组一个或多个核心网络单元954-R、第二边缘网络单元900-2、第二接入网952-2和第二终端站950-2。除了下面提到的附加或不同特征,并且具体地说,除了第一边缘网络单元900-1的业务引导能力,这些组件可与图8对应命名和编号的组件相同。
控制平面通常包含与其它网络单元通信以交换路由并基于一个或多个路由度量选择那些路由的一个或多个路由协议(例如边界网关协议(BGP)、内部网关协议(IGP)(例如开放最短路径优先(OSPF)、路由信息协议(RIP)、中间系统到中间系统(IS-IS)等)、标记分布协议(LDP)、资源预留协议(RSVP))。路由和相邻项被存储在控制平面上的一个或多个路由结构(例如路由信息库(RIB)、标记信息库(LIB)、一个或多个相邻结构)中。控制平面用基于路由结构(一个或多个)的信息(例如相邻项和路由信息)对数据平面编程。例如,控制平面将相邻项和路由信息编程到数据平面上的一个或多个转发结构(例如转发信息库(RIB)、标记转发信息库(LFIB)和一个或多个相邻结构)中。当转发业务时,数据平面使用这些转发和相邻结构。每一个路由协议都基于某些路由度量(对于不同路由协议,度量可以不同)将路由条目下载到主RIB。每一个路由协议都可在本地RIB(例如OSPF本地RIB)中存储路由条目,包含未下载到主RIB的路由条目。管理主RIB的RIB模块从由路由协议(基于一组度量)下载的路由中选择路由,并将那些选择的路由(有时称为活动路由条目)下载到数据平面。RIB模块还可使得在路由协议之间重新分布路由。
在第一边缘网络单元900-1的所说明实施例中,控制卡1904-1具有业务引导模块1960-1,并且控制卡M904-M具有业务引导模块M960-M。每一个业务引导模块都可操作以在对应虚拟分区上的线路卡上引导、转移或影响业务。例如,业务引导模块1960-1可操作以引导业务进入至少一个线路卡1906-1,或引导业务离开至少一个线路卡1906-1。类似地,业务引导模块M960-M可操作以引导业务进入至少一个线路卡N906-N,或引导业务离开至少一个线路卡N906-N。一个实施例的业务引导模块可操作以例如通过改变一个或多个路由协议度量来影响路由协议判定。另一实施例的业务引导模块可操作以例如通过向网络发送撤销网络地址的消息来主动撤销网络地址。一个实施例的业务引导模块是路由协议模块。
在说明中,根据在ISSU方法实施例期间重新路由业务的第二方法,使用参考标号(1)至(5)示出事件的具体序列。最初,如由虚线和参考标号(1)所示出的,第一和第二终端站950可通过第一和第二接入网952、第一和第二边缘网络单元900和第一组一个或多个核心网络单元954-L(在左边)耦合。随后,在第一边缘网络单元900-1上执行ISSU可包括将当前由虚拟分区A的卡服务的会话重新分布到虚拟分区B的卡。重新分布会话可涉及同步会话数据,如由参考标号(2)所示出的。然后,在所说明的实施例中,业务引导模块1960-1可引导业务离开线路卡1906-1,通过宣布或另外提供更差度量962-1(如由参考标号(3)所示出的),其比业务引导模块M960-M的更好度量962-M更差。术语更差和更好是相对于彼此而言的。然后,作为更差度量962-1的结果,如由短划线和参考标号(4)所示出的那样,网络可确定通过第二组一个或多个核心网络单元954-R(在右边)和通过虚拟分区B922-B的至少一个线路卡N906-N和控制卡M904-M的新路由。例如,第一组一个或多个核心网络单元954-L可具有第一路由协议模块964-L,并且第二组一个或多个核心网络单元954-R可具有第二路由协议模块964-R,以检测新路由。会话的责任可从控制卡1切换到控制卡M,如参考标号(5)所示出的。也可在其它时间按顺序切换责任。然后,可使虚拟分区A的至少一个线路卡1906-1离线,如由参考标号(6)所示出的。
有利地,作为业务引导模块1960-1引导业务离开线路卡1906-1的结果,如由参考标号(3)所指示的,网络确定新路由,如由短划线和参考标号(4)所示出的,之后使虚拟分区A的至少一个线路卡1906-1离线,如由参考标号(6)所示出的。相比图8中示出的方法,其依赖于网络检测到已经使虚拟分区A的至少一个线路卡1906-1离线并确定新路由,这可有助于加速或改进业务移动离开第一虚拟分区的线路卡1906-1的速度。
图10是说明在网络单元内执行的方法1066的示例实施例的方框流程图,该方法用于在改变第一虚拟分区的卡上的软件之前引导业务离开第一虚拟分区的卡,直到第一虚拟分区的卡具有会话数据之后,并且同时网络单元服务会话。在一个实施例中,方法1066可由图6的网络单元600或类似的网络单元执行,此外让如图9所示的一个或多个业务引导模块960与ISSU-MM耦合。备选地,方法1066可完全由其它网络单元执行。
在框1067,当前由网络单元的第一虚拟分区的卡服务的会话被重新分布到网络单元的第二虚拟分区的卡。第一和第二虚拟分区中的每个都具有至少一个控制卡和至少一个线路卡。在一方面,当前由第一虚拟分区的卡服务的所有会话都可被重新分布到第二虚拟分区的卡。在一方面,会话的重新分布可与对于图2的框212描述的会话的重新分布相同或类似。
在框1068,在使第一虚拟分区的至少一个线路卡离线之前,可引导或转移业务离开第一虚拟分区的卡。在一些实施例中,还可使第一虚拟分区的至少一个线路卡离线。在一个实施例中,引导业务离开第一虚拟分区的卡可包括诸如例如通过改变一个或多个路由协议度量以使对应于第一虚拟分区的卡的路由协议度量次于或差于对应于第二虚拟分区的卡的路由协议度量来影响路由协议判定。对于外部网络,这可使路由到第一虚拟分区的卡看起来不利或不合需要,并且外部网络可停止向第一虚拟分区的卡路由业务。可被改变的适当度量的几个代表性示例包含用于经由链路状态路由协议的内部网关路由的度量(例如用于开放最短路径优先(OSPF)和中间系统到中间系统(IS-IS)的度量)、用于经由路径矢量或距离矢量协议的内部网关路由的度量(例如用于路由信息协议(RIP)、内部网关协议(IGP)的度量)以及用于外部网关路由的度量(例如用于边界网关协议(BGP)、标记分布协议(LDP)、资源预留协议(RSVP)的度量和用于L2协议(例如虚拟路由器冗余协议(VRRP)和多机箱链路聚合群组)的度量)等。经常,度量可量化或限定路由到卡的质量,诸如例如量化跳数,量化网络拥塞,量化跳成本等。作为示例,为了引导业务离开虚拟分区,度量可被调整成例如使跳数看起来过高,网络拥塞看起来过差,跳成本看起来过高等。
作为另一选项,在一个实施例中,引导业务离开第一虚拟分区的卡可包括主动通知外部网络撤销第一虚拟分区的至少一个线路卡的网络地址(例如已经撤销、正在撤销或者未呈现)。在一方面,可执行主动通知,同时第一虚拟分区的至少一个线路卡在线,并且未失效或已经离线。此外,在一方面,主动通知可包括主动告诉网络,例如通过在实际使第一虚拟分区的至少一个线路卡离线之前向连接的路由器发送消息、通信或信号。有利地,相比网络不得不自己检测到使卡离线的情况下,主动通知网络地址已撤销可更快速传达这个信息。
重新引导业务的其它方法也是有可能的。例如,作为另一选项,在一个实施例中,可在层2网络中使用层2协议控制业务引导,来执行引导业务离开第一虚拟分区的卡。作为示例,在虚拟路由器冗余协议(VRRP)中,一个以太网端口可被指定给第一虚拟分区,而另一个可被指定给第二虚拟分区,并且引导业务离开第一虚拟分区的卡可包括引导业务离开指定给第一虚拟分区的以太网端口。作为另一示例,业务引导可实现在基于链路聚合群组(LAG)的协议,诸如例如链路聚合控制协议(LACP)中,其中多个以太网链路聚合在一起,并且多个以太网链路可被虚拟分区,并且可引导业务离开一个或多个以太网链路。其它示例可对其它层2冗余进行虚拟分区。引导业务的又一些示例包含对于双向转发检测(BFD)协议执行的那些。
再次参考图10,在框1069,在将会话从第一虚拟分区的卡重新分布到第二虚拟分区的卡之后,改变至少第一虚拟分区的至少一个线路卡上的软件,同时第二虚拟分区的卡服务会话,该会话包括从第一虚拟分区的卡重新分布的会话。在一方面,改变软件可与对于图2的框213描述的改变软件相同或类似。例如,在一个实施例中,改变第一虚拟分区的至少一个线路卡上的软件以及可选地还有第一虚拟分区的至少一个控制卡上的软件可包括改变现场可编程门阵列(FPGA)软件、专用集成电路(ASIC)软件、内核软件和微代码以及固件中的至少一项。在一方面,改变软件可包括重新启动其上改变或升级了软件的卡。在一个或多个实施例中,实现改变软件可无需暂停用户会话,或丢失会话或业务。
在一个或多个实施例中,在框213,除了至少一个线路卡,还可选地可改变虚拟分区A的至少一个控制卡上的软件。备选地,这将在下面进一步说明,例如如果虚拟分区A的至少一个控制卡是之前其上升级了软件的热备用控制卡,则可能已经改变了虚拟分区A的至少一个控制卡上的软件。例如见与图15-16相关联的讨论。
在框1070,在改变第一虚拟分区的至少一个线路卡上的软件之后,将用于当前由第二虚拟分区的卡服务的会话的会话数据从第二虚拟分区的卡同步(例如移动或拷贝)到第一虚拟分区的卡。如在框1071所限定的,在一个实施例中,在改变第一虚拟分区的至少一个线路卡上的软件之前,引导业务离开第一虚拟分区的卡,并且继续引导业务离开第一虚拟分区的卡,直到将会话数据从第二虚拟分区的卡同步到第一虚拟分区的卡之后。有利地,如之前结合图9所讨论的,在改变第一虚拟分区的至少一个线路卡上的软件(例如重新启动至少一个线路卡或另外使其离线)之前,引导业务离开第一虚拟分区的卡可有助于改进业务移动离开第一虚拟分区的卡的速度,并有助于避免会话中断。
而且,并且还有利地,继续引导业务离开第一虚拟分区的卡,直到将会话数据从第二虚拟分区的卡同步到第一虚拟分区的卡之后,可有助于确保业务不出现在刚升级的第一虚拟分区的卡,直到第一虚拟分区的卡已经与处理业务的会话数据同步之后。如果没这么做,则当使它回到在线时,在存在处理业务的会话数据之前,业务可出现在刚升级的卡上。
图11是说明是图10的方法1066的继续的方法1172的示例实施例的方框流程图,用于在改变第二虚拟分区的卡上的软件之前引导业务离开第二虚拟分区的卡,并且直到第二虚拟分区的卡具有会话数据之后。方法1172在框1071的操作之后开始。
在框1173,在改变第一虚拟分区的至少一个线路卡上的软件之后,可将当前由第二虚拟分区的卡服务的会话从第二虚拟分区的卡重新分布到第一虚拟分区的卡。在一方面,当前由第二虚拟分区的卡服务的所有会话,在此示例中是当前由网络单元服务的所有会话,都可被重新分布到第一虚拟分区的卡。在一方面,会话的重新分布可与对于图2的框214描述的会话的重新分布相同或类似。
在一个实施例中,重新分布会话可包括转换从第二虚拟分区的控制卡的尚未改变的控制卡软件同步到第一虚拟分区的控制卡的已经改变的控制卡软件的会话(例如转换会话数据),并将转换的会话数据从第一虚拟分区的控制卡提供到第一虚拟分区的线路卡。在一方面,第二虚拟分区的控制卡可以不直接向第一虚拟分区的线路卡传递或提供会话数据。有利地,这可有助于通过避免需要将会话数据从第二虚拟分区的控制卡的尚未改变的控制卡软件转换到第一虚拟分区的线路卡的已经改变的线路卡软件,来避免转换复杂性。
在框1174,在使第二虚拟分区的至少一个线路卡离线之前,可引导业务离开第二虚拟分区的卡。在一些实施例中,还可使第二虚拟分区的至少一个线路卡离线。可如之前所描述的那样实现业务引导。在一个实施例中,可通过影响路由协议判定,引导业务离开第二虚拟分区的卡。例如,可操纵BGP属性以转移业务离开第二虚拟分区的卡。在另一实施例中,可通过主动撤销网络地址,引导业务离开第二虚拟分区的卡。在又一实施例中,可在层2网络中,通过控制业务引导的层2协议(例如VRRP或LACP),引导业务离开第二虚拟分区的卡。
在框1175,在将会话从第二虚拟分区的卡重新分布到第一虚拟分区的卡之后,改变第二虚拟分区的至少一个线路卡上的软件和第二虚拟分区的至少一个控制卡上的软件,同时第一虚拟分区的卡服务会话,该会话包括从第二虚拟分区的卡重新分布的会话。在一方面,改变软件可与对于图2的框215描述的改变软件相同或类似。例如,在一个实施例中,改变第二虚拟分区的控制卡/线路卡上的软件可包括改变现场可编程门阵列(FPGA)软件、专用集成电路(ASIC)软件、内核软件和微代码以及固件中的至少一项。在一方面,改变软件可包括重新启动其上改变或升级了软件的卡。在一个或多个实施例中,实现软件改变可无需丢失或暂停用户会话。
在框1176,在改变第二虚拟分区的至少一个线路卡上的软件和第二虚拟分区的至少一个控制卡上的软件之后,将用于当前由第一虚拟分区的卡服务的部分会话的会话数据从第一虚拟分区的卡同步到第二虚拟分区的卡。如在框1177所限定的,在一个实施例中,在改变第二虚拟分区的卡上的软件之前,引导业务离开第二虚拟分区的卡,并且继续引导业务离开第二虚拟分区的卡,直到将用于部分会话的会话数据从第一虚拟分区的卡同步到第二虚拟分区的卡之后。
有利地,在改变第二虚拟分区的卡上的软件(例如重新启动卡或另外使其离线)之前引导业务离开第二虚拟分区的卡可有助于改进业务移动离开第二虚拟分区的卡的速度,并有助于避免会话中断。而且,继续引导业务离开第二虚拟分区的卡,直到将会话数据同步到第二虚拟分区的卡之后,可有助于确保业务不出现在第二虚拟分区的卡,直到第二虚拟分区的卡已经与处理业务的会话数据同步之后。
可选地也可执行其它操作(未示出)。例如,可根据它们处理会话的能力(例如基于负荷平衡),使用业务引导来平衡或均衡网络单元卡上的会话。在一个示例中,可对于对应于每一个虚拟分区的卡,宣布相等或近似相等的路由协议度量或属性。这可倾向于使接近一半的业务来到每个虚拟分区。虚拟分区可被取消,并且网络单元可在所有卡使用现在升级的或另外改变的软件来服务业务。
图12是说明用于将当前由网络单元的第一虚拟分区的卡服务的会话重新分布到网络单元的第二虚拟分区的卡的方法1267的示例实施例的方框流程图。方法1267表示适合于图10的框1067的一组操作的一个示例实施例。
在框1278,当前由第一虚拟分区的卡服务的会话的会话数据被同步到第二虚拟分区的卡。然后,在框1279,在同步会话数据之后,可引导业务离开第一虚拟分区的卡。这可使用之前描述的业务引导方法(例如通过影响路由协议判定或主动撤销网络地址或通过层2网络协议)实现。在框1280,方法可等待,直到业务在第一虚拟分区的卡停止。在框1281,可选地在业务已经在第一虚拟分区停止之后,可将会话的责任从第一虚拟分区的卡切换到第二虚拟分区的卡。然后,在框1282,在业务已经在第一虚拟分区的卡停止之后,可使第一虚拟分区的至少一个线路卡离线。
图13是说明可由网络单元执行的方法1384的另一示例实施例的方框流程图,该方法从网络单元外部获取的角度,在升级第一组线路卡上的软件之前引导业务离开第一组一个或多个线路卡,直到第一组线路卡具有会话数据之后,并且同时网络单元服务会话。
在框1341,可在网络单元的接口接收ISSU命令。可如在本文其它地方所描述的接收ISSU命令(例如通过命令线接口)。网络单元可响应于接收到ISSU命令或作为其结果执行方法的其余操作。
在框1385,在使第一组线路卡离线之前,引导业务离开网络单元的第一组一个或多个线路卡。这可使用之前描述的方法实现。
在框1343,在使第一组线路卡离线之后,升级第一组线路卡上的线路卡软件,并且同时第二组一个或多个线路卡在线并可操作以接收与网络单元服务的会话相关联的业务。在一些实施例中,也可升级一个或多个控制卡上的控制卡软件。如果期望的话,则网络管理员或其它从业者可选地可能能够确认已经升级了第一组线路卡上的线路卡软件,例如通过将命令通过命令线接口(CLI)或其它管理接口发出以询问线路卡软件的属性,不过本发明的范围不限于这个方面。
然后,在框1344,在已经升级了第一组线路卡上的线路卡软件之后,使第一组线路卡回到在线。如在框1386所限定的,在一个实施例中,在升级第一组线路卡上的线路卡软件之前,引导业务离开第一组线路卡,并且直到用于由网络单元服务的会话的会话数据对第一组线路卡可用之后。
有利地,在使第一组线路卡离线之前引导业务离开第一组线路卡可有助于改进业务移动离开第一组线路卡的速度,并有助于避免会话中断。而且,继续引导业务离开第一组线路卡直到处理业务的会话数据对第一组线路卡可用之后,可有助于确保业务不出现在第一组线路卡,直到它们已经与处理业务的会话数据同步。
图14是说明是图13的方法1384的继续的方法1487的示例实施例的方框流程图,该方法1487用于在升级第二组线路卡上的软件之前引导业务离开网络单元的第二组线路卡,并且直到会话数据可用之后。方法1487也取自网络单元外部的角度。方法1487在图13的框1386的操作之后开始。
在框1488,在升级第一组所述线路卡的软件(例如在图13的框1343)之后并在使第二组线路卡离线之前,引导业务离开第二组线路卡。
在框1445,在使第二组线路卡离线之后,升级第二组线路卡上的线路卡软件并升级第二组控制卡上的控制卡软件,并且同时第一组线路卡在线并可操作以接收与网络单元服务的会话相关联的业务。在一些实施例中,也可升级一个或多个控制卡上的控制卡软件。
然后,在框1446,在已经升级了第二组线路卡上的线路卡软件之后,使第二组线路卡回到在线。如在框1489所限定的,在一个实施例中,在升级第二组线路卡上的线路卡软件之前,引导业务离开第二组线路卡,并且直到用于由网络单元服务的会话的会话数据在第二组控制卡可用之后。这可提供之前提到的优点。
然后,在框1490,在已经升级第一组和第二组线路卡上的软件之后,可将业务引导到第一组和第二组线路卡。在一方面,可这么做以实现负荷平衡或负荷分布,使得每一个线路卡都根据其能力处理负荷。作为示例,对于第一组和第二组线路卡中的每个,可宣布或另外提供相等或基本相等的路由协议度量。
本文描述的ISSU方法和设备适合于具有各种不同类型控制平面的网络单元。为了进一步说明某些概念,将描述适当的不同类型控制平面的两个示例实施例。其它类型控制平面也是适当的。例如在图2、7、10和13中示出的方法可在这些不同类型控制平面上执行。不再重复这些方法的所有步骤了,而是下面的描述将倾向于强调新的或不同方面。
图15是说明具有控制平面1504的第一示例实施例的网络单元1500的示例实施例的框图。控制平面包含活动控制卡1504-1和备用控制卡1504-2。活动和备用控制卡被耦合在一起。网络单元可为控制平面过程提供1:1冗余。活动控制卡可与备用控制卡同步。备用控制卡可镜像活动控制卡,并且如果活动控制卡失效,则担任活动控制卡的角色。通常,当充当备用控制卡时,备用控制卡不主动执行信令或处理控制消息。网络单元也包含线路卡,至少包含线路卡11506-1和线路卡N1506-N,可选地还有一个或多个其它线路卡。线路卡与控制卡耦合,并且线路卡耦合在一起。网络单元的控制卡和线路卡可属于单个物理机箱1502,或与之耦合。
活动和备用控制卡中的每个都具有ISSU系统1509。可升级备用控制卡上的软件。在一个实施例中,这在将当前由备用控制卡所属的虚拟分区的卡服务的会话重新分布到另一虚拟分区的卡之后(例如在图2的框212之后)执行。在升级备用控制卡上的软件之后,升级的控制卡变成活动的而不再是备用。备选地,可在重新分布会话之前(例如在图2的框212之前)升级备用控制卡上的软件,但备用控制卡可直到重新分布会话之后才变成活动。在使备用卡活动时,存在两个活动控制卡。由于会话的重新分布,升级的活动控制卡在其虚拟分区上尚没有任何会话,因此不需要从已经升级的控制卡到尚未升级的线路卡软件的转换。然后,可升级或改变具有已经升级的控制卡1504-2(即前面的备用控制卡)的虚拟分区中的线路卡上的线路卡软件。ISSU的其余部分可继续,基本上如之前所描述的,并且从ISSU期间上的这一点,每一个活动控制卡都仅可和同一虚拟分区内的线路卡对话。在虚拟分区上的活动控制卡之间可存在状态数据转换。在活动-活动模式,每一个控制卡当服务会话时都可与外部网络交换与会话相关联的消息。
图16是说明具有控制平面的第二示例实施例的网络单元1600的示例实施例的框图,该控制平面是分布式控制平面1692。分布式控制平面包含活动初级控制卡1604-1、备用初级控制卡1604-2、至少一个次级控制卡11690-1,可能还有至少一个附加次级控制卡M1690-M。控制卡耦合在一起。备用初级控制卡可镜像活动初级控制卡,并且在活动初级控制卡失效的情况下用作热备份。初级控制卡例如可包含交叉连接路由处理器(XCRP)卡或其它标准控制卡。次级控制卡例如可包含XCRP卡、特征卡、高级服务引擎(ASE)卡。备选地,可使用线路卡代替次级控制卡。备选地,代替卡,次级控制卡可由XCRP卡、特征卡、ASE卡或其它卡的核心替换。在操作期间,活动初级控制卡可将分布式控制平面过程实例提供到次级控制卡。控制卡全都运行在活动模式,并接收和处理和发送会话的信令消息。通常没有备份或冗余次级控制卡。在一方面,以每个会话在一个控制卡上是活动的而在另一控制卡上是被动的或备份的方式,支持会话冗余。存在基于每个会话从活动控制卡到被动控制卡的状态同步。网络单元也包含线路卡,至少包含线路卡11606-1和线路卡N1606-N,可选地还有一个或多个其它线路卡。线路卡与控制卡耦合,并且线路卡耦合在一起。网络单元的控制卡和线路卡可属于单个物理机箱1602,或与之耦合。
活动和备用初级控制卡中的每个都具有ISSU系统1609。可升级备用初级控制卡上的软件。在一个实施例中,这在将当前由备用初级控制卡所属的虚拟分区的卡服务的会话重新分布到另一虚拟分区的卡之后(例如在图2的框212之后)执行。在升级备用初级控制卡上的软件之后,升级的初级控制卡变成活动的而不再是备用的。备选地,可在重新分布会话之前(例如在图2的框212之前)升级备用初级控制卡上的软件,但备用初级控制卡可直到重新分布会话之后才变成活动。在使备用初级卡活动时,存在两个活动初级控制卡。由于会话的重新分布,升级的活动初级控制卡在其虚拟分区上尚没有任何会话,因此不需要从已经升级的控制卡到尚未升级的线路卡软件的转换。然后,可升级或改变具有已经升级的初级控制卡1604-2(即前面的备用初级控制卡)的虚拟分区中的线路卡上的线路卡软件。ISSU的其余部分可继续,基本上如之前所描述的,并且从ISSU期间上的这一点,每一个活动初级控制卡都仅可和同一虚拟分区内的次级控制卡和线路卡对话。在虚拟分区上的活动初级控制卡之间可存在状态数据转换。在活动-活动模式,每一个初级控制卡当服务会话时都可与外部网络交换与会话相关联的消息。例如,在一个实施例中,具体虚拟分区的初级控制卡,在服务会话的同时,在已经改变了另一虚拟分区线路卡上的线路卡软件之后,可将分布式控制平面过程实例仅提供给具体虚拟分区内的一个或多个次级控制卡,而不提供给其它虚拟分区内的任何次级控制卡。
备选实施例
虽然已经相对于两个虚拟分区描述了实施例,但其它实施例可利用三个或更多的虚拟分区。因此,实施例不限于两个或任何已知数量的虚拟分区。此外,虽然已经相对于创建取消虚拟分区描述了实施例,但备选实施例可实现成使得在ISSU之前和之后对网络单元的控制卡和线路卡进行虚拟分区(例如不断虚拟分区)。另外,虽然实施例示出单独的控制卡和线路卡,但备选实施例可具有备选的卡布置(例如与一个或多个端口和转发引擎组合的线路卡和控制卡)。
虽然附图中的流程图示出由方法的某些实施例执行的具体操作顺序,但应该理解,这种顺序是示范性的(例如备选实施例可按不同的顺序执行操作,组合某些操作,交叠某些操作等)。
其它事项
在说明书中提到“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可包含具体特征、结构或特性,但每个实施例可能不一定都包含该具体特征、结构或特性。此外,这种短语不一定是指同一实施例。另外,当结合实施例描述具体特征、结构或特性时,认为它在本领域技术人员的知识范围内,以结合其它实施例实现这种特征、结构或特性,不管是否明确描述了。
在说明书和权利要求书中,可使用术语“耦合”和“连接”连同它们的派生词。应该理解,这些术语不打算作为彼此的同义词。“耦合”用于指示两个或更多单元彼此协同操作或交互作用,它们可以或者可以不彼此直接物理接触或电接触。“连接”用于指示在彼此耦合的两个或更多单元之间建立通信。
可使用在一个或多个电子装置(例如终端站、网络单元)上存储和执行的代码和数据实现附图中示出的技术。这种电子装置使用计算机可读介质诸如非暂态计算机可读储存介质(例如磁盘、光盘、随机存取存储器、只读存储器、闪存装置、相变存储器)和暂态计算机可读通信介质(例如电、光、声或其它形式的传播信号——诸如载波、红外信号、数字信号)存储和传递(在内部和/或通过网络与其它电子装置)代码和数据。此外,这种电子装置通常包含耦合到一个或多个其它组件、诸如一个或多个储存装置(非暂态机器可读储存介质)、用户输入/输出装置(例如键盘、触摸屏和/或显示器)和网络连接的一个或多个处理器的集合。处理器集合和其它组件的耦合通常通过一个或多个总线和桥(也称为总线控制器)。由此,给定电子装置的储存装置通常存储代码和/或数据以便在那个电子装置的一个或多个处理器的集合上执行。当然,可使用软件、固件和/硬件的不同组合来实现本发明实施例的一个或多个部分。
Claims (20)
1.一种在网络单元内执行的方法,用于在改变第一虚拟分区的卡上的软件之前引导业务离开所述第一虚拟分区的卡,直到所述第一虚拟分区的卡具有会话数据之后,并且同时所述网络单元服务会话,所述方法包括如下步骤:
将当前由所述网络单元的第一虚拟分区的卡服务的会话重新分布到所述网络单元的第二虚拟分区的卡,所述第一和第二虚拟分区中的每个都具有至少一个控制卡和至少一个线路卡;
在使所述第一虚拟分区的所述至少一个线路卡离线之前,执行引导所述业务离开所述第一虚拟分区的卡的步骤;
在将所述会话从所述第一虚拟分区的卡重新分布到所述第二虚拟分区的卡的步骤之后,执行改变所述第一虚拟分区的所述至少一个线路卡上的所述软件的步骤,同时所述第二虚拟分区的卡服务会话,所述会话包括从所述第一虚拟分区的卡重新分布的所述会话;以及
在改变所述第一虚拟分区的所述至少一个线路卡上的所述软件的步骤之后,将用于当前由所述第二虚拟分区的卡服务的会话的会话数据从所述第二虚拟分区的卡同步到所述第一虚拟分区的卡;
其中在改变所述第一虚拟分区的所述至少一个线路卡上的所述软件的步骤之前执行引导所述业务离开所述第一虚拟分区的卡的步骤,并且继续直到将所述会话数据从所述第二虚拟分区的卡同步到所述第一虚拟分区的卡的步骤之后;
由此通过在使所述第一虚拟分区的所述至少一个线路卡离线之前引导所述业务离开所述第一虚拟分区的卡的步骤,提高业务移动离开所述第一虚拟分区的卡的速度,并且引导所述业务离开所述第一虚拟分区的卡直到所述第一虚拟分区的卡具有处理所述业务的会话数据之后。
2.如权利要求1所述的方法,其中引导所述业务离开所述第一虚拟分区的卡的步骤包括影响路由协议判定的步骤。
3.如权利要求2所述的方法,其中所述影响路由协议判定的步骤包括改变一个或多个路由协议度量以使对应于所述第一虚拟分区的卡的路由协议度量次于对应于所述第二虚拟分区的卡的路由协议度量的步骤。
4.如权利要求1所述的方法,其中引导所述业务离开所述第一虚拟分区的步骤包括主动通知外部网络撤销所述第一虚拟分区的所述至少一个线路卡的网络地址。
5.如权利要求1所述的方法,还包括:
在改变所述第一虚拟分区的所述至少一个线路卡上的所述软件的步骤之后,将当前由所述第二虚拟分区的卡服务的会话从所述第二虚拟分区的卡同步到所述第一虚拟分区的卡;
在使所述第二虚拟分区的所述至少一个线路卡离线之前,引导业务离开所述第二虚拟分区的卡;
在将所述会话从所述第二虚拟分区的卡重新分布到所述第一虚拟分区的卡的步骤之后,改变所述第二虚拟分区的所述至少一个线路卡上的软件和所述第二虚拟分区的所述至少一个控制卡上的软件,同时所述第一虚拟分区的卡服务会话,所述会话包括从所述第二虚拟分区的卡重新分布的所述会话;
在改变所述第二虚拟分区的所述至少一个线路卡上的软件和所述第二虚拟分区的所述至少一个控制卡上的软件的步骤之后,将用于当前由所述第一虚拟分区的卡服务的部分会话的会话数据从所述第一虚拟分区的卡同步到所述第二虚拟分区的卡;
其中在改变所述第二虚拟分区的所述至少一个线路卡上的软件和所述第二虚拟分区的所述至少一个控制卡上的软件的步骤之前执行引导所述业务离开所述第二虚拟分区的卡的步骤,并且继续直到将用于所述部分会话的所述会话数据从所述第一虚拟分区的卡同步到所述第二虚拟分区的卡的步骤之后。
6.如权利要求1所述的方法,其中所述网络单元配置成使用分布式控制平面,其中所述第二虚拟分区的所述至少一个控制卡包括初级控制卡和从所述初级控制卡接收分布式控制平面过程实例的一个或多个次级控制卡,并且所述方法还包括如下步骤:
所述第二虚拟分区的所述初级控制卡在改变所述第一虚拟分区的所述至少一个线路卡上的所述软件的步骤之后服务所述会话的同时,将所述分布式控制平面过程实例仅提供给所述第二虚拟分区的所述一个或多个次级控制卡,而不提供给所述第一虚拟分区内的任何次级控制卡。
7.如权利要求1所述的方法,其中在改变所述第一虚拟分区的所述至少一个线路卡上的所述软件的步骤之后,用所述第二虚拟分区的卡服务所述会话包括:所述第二虚拟分区的所述至少一个控制卡仅与所述第二虚拟分区中的线路卡通信,而不与所述第一虚拟分区中的线路卡通信。
8.如权利要求1所述的方法,其中改变所述第一虚拟分区的所述至少一个线路卡上的所述软件的步骤包括改变现场可编程门阵列FPGA软件、专用集成电路ASIC软件、内核软件和微代码中的至少一项。
9.如权利要求1所述的方法,还包括接收服务中软件升级ISSU命令的步骤,所述服务中软件升级ISSU命令规定所述第一虚拟分区具有所述第一虚拟分区的所述至少一个控制卡和所述第一虚拟分区的所述至少一个线路卡,并且规定所述第二虚拟分区具有所述第二虚拟分区的所述至少一个控制卡和所述第二虚拟分区的所述至少一个线路卡,并且其中响应于接收到所述ISSU命令执行所述方法。
10.如权利要求1所述的方法,还包括在改变所述第一虚拟分区的所述至少一个线路卡上的所述软件的步骤之后:
转换从所述第二虚拟分区的所述至少一个控制卡的尚未改变的软件同步到所述第一虚拟分区的所述至少一个控制卡的已经改变的软件的所述会话数据;以及
将转换的会话数据从所述第一虚拟分区的所述至少一个控制卡提供到所述第一虚拟分区的所述至少一个线路卡,
由此通过避免将会话从所述第二虚拟分区的所述至少一个控制卡的尚未改变的软件转换到所述第一虚拟分区的所述至少一个线路卡的已经改变的软件避免了转换复杂性。
11.一种网络单元,其可操作以在升级第一组一个或多个线路卡上的软件之前引导业务离开第一组所述线路卡,直到第一组所述线路卡具有会话数据之后,并且同时所述网络单元服务会话,所述网络单元包括:
多个控制卡,耦合在一起;
多个线路卡,与所述控制卡耦合并耦合在一起,其中每一个所述线路卡都具有线路卡软件;
接口,接收服务中软件升级ISSU命令;以及
ISSU系统,其响应于所述ISSU命令、可操作以使所述网络单元:
在使第一组所述线路卡离线之前引导业务离开第一组一个或多个所述线路卡;
在使第一组所述线路卡离线之后升级第一组所述线路卡上的线路卡软件,并且同时第二组一个或多个所述线路卡在线并可操作以接收与所述网络单元服务的所述会话相关联的业务;
在第一组所述线路卡上已经升级了所述线路卡软件之后,使第一组所述线路卡在线;
其中在引导所述业务离开第一组所述线路卡时,所述网络单元可操作以在升级第一组所述线路卡上的所述线路卡软件之前引导所述业务离开第一组所述线路卡,并且直到用于由所述网络单元服务的所述会话的所述会话数据对第一组所述线路卡可用之后;
由此,通过在使第一组所述线路卡离线之前引导所述业务离开第一组所述线路卡提高业务移动离开第一组所述线路卡的速度,并且引导所述业务离开第一组所述线路卡直到处理所述业务的会话数据对第一组所述线路卡可用之后。
12.如权利要求11所述的网络单元,其中所述网络单元可操作以通过影响路由协议判定来引导所述业务离开第一组所述线路卡。
13.如权利要求12所述的网络单元,其中所述网络单元可操作以通过改变一个或多个路由协议度量以使对应于第一组所述线路卡的路由协议度量次于对应于第二组所述线路卡的路由协议度量来影响所述路由协议判定。
14.如权利要求11所述的网络单元,其中所述网络单元可操作以通过主动通知外部网络撤销对应于第一组所述线路卡的一个或多个网络地址来引导所述业务离开第一组所述线路卡。
15.如权利要求11所述的网络单元,其中所述网络单元响应于所述ISSU命令还可操作以:
在升级第一组所述线路卡的所述软件之后并在使第二组所述线路卡离线之前,引导业务离开第二组所述线路卡;
在使第二组所述线路卡离线之后升级第二组所述线路卡上的线路卡软件并升级第二组控制卡上的控制卡软件,并且同时第一组所述线路卡在线并可操作以接收与由所述网络单元服务的所述会话相关联的业务;
在第二组所述线路卡上已经升级所述线路卡软件之后,使第二组所述线路卡在线;
其中所述网络单元可操作以在升级第二组所述线路卡上的所述线路卡软件之前执行引导所述业务离开第二组所述线路卡,并且直到用于由所述网络单元服务的所述会话的会话数据在第二组所述控制卡可用之后;以及
在第一组和第二组所述线路卡上都已经升级所述软件之后,将业务引导到第一组和第二组所述线路卡。
16.如权利要求11所述的网络单元,其中第一组所述线路卡提供到由第二组所述线路卡提供连接的所有不同外部网络的连接,并且其中第二组所述线路卡提供到由第一组所述线路卡提供连接的所有不同外部网络的连接。
17.如权利要求11所述的网络单元,其中所述ISSU命令将第一组所述线路卡关联为群组并将第二组所述线路卡关联为群组。
18.如权利要求11所述的网络单元,其中升级第一组所述线路卡上的所述线路卡软件包括升级现场可编程门阵列FPGA软件、专用集成电路ASIC软件、内核软件和微代码中至少一项。
19.如权利要求11所述的网络单元,其中所述网络单元可操作以在已经停止到第一组所述线路卡的业务之后使第一组所述线路卡离线。
20.如权利要求11所述的网络单元,其中所述网络单元可操作以执行升级第一组所述线路卡上的所述软件,无需暂停之前由第一组所述线路卡服务的会话。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/888,405 | 2010-09-22 | ||
US12/888,405 US8402454B2 (en) | 2010-09-22 | 2010-09-22 | In-service software upgrade on cards of virtual partition of network element that includes directing traffic away from cards of virtual partition |
US12/888405 | 2010-09-22 | ||
PCT/IB2011/054104 WO2012038884A1 (en) | 2010-09-22 | 2011-09-19 | In-service software upgrade on cards of virtual partition of network element that includes directing traffic away from cards of virtual partition |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103109270A CN103109270A (zh) | 2013-05-15 |
CN103109270B true CN103109270B (zh) | 2016-08-03 |
Family
ID=44971060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180045860.1A Expired - Fee Related CN103109270B (zh) | 2010-09-22 | 2011-09-19 | 包括引导业务离开虚拟分区的卡的网络单元虚拟分区的卡上的服务中软件升级 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8402454B2 (zh) |
EP (1) | EP2619663B1 (zh) |
CN (1) | CN103109270B (zh) |
WO (1) | WO2012038884A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8505003B2 (en) | 2010-04-28 | 2013-08-06 | Novell, Inc. | System and method for upgrading kernels in cloud computing environments |
US8908526B2 (en) * | 2010-09-23 | 2014-12-09 | Intel Corporation | Controlled interconnection of networks using virtual nodes |
US8478908B2 (en) * | 2010-10-25 | 2013-07-02 | Moxa Inc. | Fieldbus gateway using virtual serial filedbus port and data transmission method thereof |
CN102469021B (zh) * | 2010-11-18 | 2014-08-13 | 杭州华三通信技术有限公司 | 一种智能弹性框架系统中转发业务流量的方法和成员设备 |
US9021459B1 (en) * | 2011-09-28 | 2015-04-28 | Juniper Networks, Inc. | High availability in-service software upgrade using virtual machine instances in dual control units of a network device |
KR101850817B1 (ko) | 2011-11-17 | 2018-04-23 | 삼성전자주식회사 | 서로 다른 단말에 어플리케이션을 자동으로 설치하는 장치 및 방법 |
CN102710466B (zh) * | 2012-06-11 | 2015-09-30 | 烽火通信科技股份有限公司 | 主备用板卡倒换保护系统及双向转发检测无缝切换方法和装置 |
US8782632B1 (en) * | 2012-06-18 | 2014-07-15 | Tellabs Operations, Inc. | Methods and apparatus for performing in-service software upgrade for a network device using system virtualization |
US8943490B1 (en) * | 2012-09-28 | 2015-01-27 | Juniper Networks, Inc. | Intelligent non-stop software upgrade |
CN102937925B (zh) * | 2012-11-01 | 2015-08-12 | 中兴通讯股份有限公司 | 一种分布式通信设备软件升级方法及系统 |
US20140229928A1 (en) * | 2013-02-11 | 2014-08-14 | Claes Göran Edström | Upgrading software in production environments |
CN103220183A (zh) * | 2013-05-02 | 2013-07-24 | 杭州电子科技大学 | 一种基于双主机热备份的Hadoop高可用性系统实现方法 |
EP3043620B1 (en) * | 2013-09-02 | 2018-03-28 | Fujitsu Ltd. | Node failure determination based on reference-hop-count in wireless sensor networks |
US20160239313A1 (en) * | 2013-11-08 | 2016-08-18 | Empire Technology Development Llc | Control of router in cloud system |
US9432286B2 (en) | 2014-03-27 | 2016-08-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for hitless upgrade of chassis in virtualized environment |
US9600263B2 (en) * | 2014-07-21 | 2017-03-21 | Big Switch Networks, Inc. | Systems and methods for performing uninterrupted network upgrades with controllers |
EP3528114B1 (en) * | 2015-02-18 | 2020-08-12 | Huawei Technologies Co., Ltd. | Upgrading of a mobile network function |
US9851996B2 (en) * | 2015-03-24 | 2017-12-26 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Applying firmware updates in a system with zero downtime by selectively offlining and onlining hardware using a scale-up hypervisor layer |
US9680965B2 (en) * | 2015-04-01 | 2017-06-13 | Alcatel-Lucent Usa Inc. | Software upgrades for offline charging systems within a network |
CN106250166B (zh) | 2015-05-21 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 一种半虚拟化网卡内核加速模块升级方法和装置 |
CN106257952A (zh) * | 2015-06-16 | 2016-12-28 | 西安中兴新软件有限责任公司 | 一种切换移动网络的方法及移动终端 |
US11379208B2 (en) | 2015-07-30 | 2022-07-05 | Hewlett Packard Enterprise Development Lp | Firmware update of an interconnect device |
US10289398B2 (en) * | 2015-09-26 | 2019-05-14 | Cisco Technology, Inc. | In-service upgrade of kernel loadable modules |
US10382276B2 (en) * | 2016-07-04 | 2019-08-13 | Ciena Corporation | Control plane routing systems and methods for pervasive maintenance |
TWI679861B (zh) | 2018-09-06 | 2019-12-11 | 財團法人工業技術研究院 | 控制器、調整封包通信規則的方法及網路通信系統 |
US20200310784A1 (en) * | 2019-03-28 | 2020-10-01 | Juniper Networks, Inc. | Software upgrade deployment in mixed network of in-service software upgrade (issu)-capable and issu-incapable devices |
US11182150B2 (en) * | 2020-01-14 | 2021-11-23 | Pensando Systems Inc. | Zero packet loss upgrade of an IO device |
US20220156879A1 (en) * | 2020-11-18 | 2022-05-19 | Intel Corporation | Multi-tile graphics processing unit |
US20230315437A1 (en) * | 2022-04-01 | 2023-10-05 | Dell Products, L.P. | Systems and methods for performing power suppy unit (psu) firmware updates without interrupting a user's datapath |
US20240036852A1 (en) * | 2022-07-29 | 2024-02-01 | Hewlett Packard Enterprise Development Lp | In-service software upgrade centralized database versioning and migration |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399701A (zh) * | 2007-09-27 | 2009-04-01 | 力博通信有限公司 | 利用元数据驱动状态转换的在服务软件升级 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4768188A (en) * | 1982-05-20 | 1988-08-30 | Hughes Network Systems, Inc. | Optical demand assigned local loop communication system |
US5134691A (en) * | 1986-04-01 | 1992-07-28 | Westinghouse Electric Corp. | Bidirectional communication and control network with programmable microcontroller interfacing digital ICs transmitting in serial format to controlled product |
US5664231A (en) * | 1994-04-29 | 1997-09-02 | Tps Electronics | PCMCIA interface card for coupling input devices such as barcode scanning engines to personal digital assistants and palmtop computers |
US5659684A (en) | 1995-02-03 | 1997-08-19 | Isdn Systems Corporation | Methods and apparatus for interconnecting personal computers (PCs) and local area networks (LANs) using packet protocols transmitted over a digital data service (DDS) |
CN1183841A (zh) * | 1995-02-13 | 1998-06-03 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US6591302B2 (en) * | 1997-10-14 | 2003-07-08 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US6226680B1 (en) * | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US6170021B1 (en) * | 1998-10-19 | 2001-01-02 | Hewlett-Packard Company | Server computer I/O redirection tool |
US7225244B2 (en) | 2000-05-20 | 2007-05-29 | Ciena Corporation | Common command interface |
US6963579B2 (en) * | 2001-02-02 | 2005-11-08 | Kyocera Wireless Corp. | System and method for broadband roaming connectivity using DSL |
US6832336B2 (en) | 2001-06-02 | 2004-12-14 | Redback Networks Inc. | Method and apparatus for maintaining consistent data |
US7352748B1 (en) | 2002-03-28 | 2008-04-01 | Redback Networks Inc. | Updating of routing data in a network element |
US7406038B1 (en) * | 2002-04-05 | 2008-07-29 | Ciphermax, Incorporated | System and method for expansion of computer network switching system without disruption thereof |
US7328284B2 (en) * | 2002-05-06 | 2008-02-05 | Qlogic, Corporation | Dynamic configuration of network data flow using a shared I/O subsystem |
US7076570B2 (en) | 2003-04-25 | 2006-07-11 | International Business Machines Corporation | Method and apparatus for managing service indicator lights in a logically partitioned computer system |
US7685254B2 (en) * | 2003-06-10 | 2010-03-23 | Pandya Ashish A | Runtime adaptable search processor |
US8085765B2 (en) * | 2003-11-03 | 2011-12-27 | Intel Corporation | Distributed exterior gateway protocol |
US10013535B2 (en) * | 2003-11-21 | 2018-07-03 | Ciena Corporation | Software configuration of module dependent on history |
US7539131B2 (en) | 2003-11-26 | 2009-05-26 | Redback Networks Inc. | Nexthop fast rerouter for IP and MPLS |
KR100590876B1 (ko) * | 2004-01-20 | 2006-06-19 | 삼성전자주식회사 | 분산 엠피엘에스 라우터의 레이블 관리 방법 및 그 분산엠피엘에스 라우터 |
US7453797B2 (en) | 2004-09-29 | 2008-11-18 | Intel Corporation | Method to provide high availability in network elements using distributed architectures |
WO2006136193A1 (en) | 2005-06-23 | 2006-12-28 | Telefonaktiebolaget L M Ericsson (Publ) | Arrangement and method relating to load distribution |
CN1859728B (zh) * | 2005-07-20 | 2010-04-07 | 华为技术有限公司 | 网络中激活态an之间软切换及会话迁移的实现方法 |
US9143841B2 (en) * | 2005-09-29 | 2015-09-22 | Brocade Communications Systems, Inc. | Federated management of intelligent service modules |
EP1806900A1 (en) * | 2006-01-05 | 2007-07-11 | Alcatel Lucent | Method for allocating network resources and mediating network element |
US8364843B2 (en) * | 2006-01-09 | 2013-01-29 | Cisco Technology, Inc. | Method and system for minimizing disruption during in-service software upgrade |
US7512139B2 (en) * | 2006-05-16 | 2009-03-31 | Oracle International Corporation | Methods and systems for enabling remote booting of remote boot clients in a switched network defining a plurality of virtual local area networks (VLANS) |
US7849127B2 (en) | 2008-08-15 | 2010-12-07 | Telefonaktiebolaget L M Ericsson | Method and apparatus for a distributed control plane |
US7894334B2 (en) | 2008-08-15 | 2011-02-22 | Telefonaktiebolaget L M Ericsson | Hierarchical redundancy for a distributed control plane |
WO2010022100A2 (en) | 2008-08-18 | 2010-02-25 | F5 Networks, Inc. | Upgrading network traffic management devices while maintaining availability |
WO2010102127A1 (en) * | 2009-03-04 | 2010-09-10 | Cisco Technology, Inc. | Detecting overloads in network devices |
US8243729B2 (en) | 2010-07-01 | 2012-08-14 | Force10 Networks, Inc. | Multiple chassis stacking using front end ports |
KR20130087881A (ko) | 2012-01-30 | 2013-08-07 | 한국전자통신연구원 | 원격 관제 시스템을 이용한 무인 감시 장치 및 방법, 무인 감시를 위한 로봇 제어 단말 |
-
2010
- 2010-09-22 US US12/888,405 patent/US8402454B2/en active Active
-
2011
- 2011-09-19 WO PCT/IB2011/054104 patent/WO2012038884A1/en active Application Filing
- 2011-09-19 CN CN201180045860.1A patent/CN103109270B/zh not_active Expired - Fee Related
- 2011-09-19 EP EP11770869.3A patent/EP2619663B1/en not_active Not-in-force
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399701A (zh) * | 2007-09-27 | 2009-04-01 | 力博通信有限公司 | 利用元数据驱动状态转换的在服务软件升级 |
Also Published As
Publication number | Publication date |
---|---|
US20120072894A1 (en) | 2012-03-22 |
US8402454B2 (en) | 2013-03-19 |
EP2619663B1 (en) | 2018-12-26 |
EP2619663A1 (en) | 2013-07-31 |
CN103109270A (zh) | 2013-05-15 |
WO2012038884A1 (en) | 2012-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103109270B (zh) | 包括引导业务离开虚拟分区的卡的网络单元虚拟分区的卡上的服务中软件升级 | |
EP2619662B1 (en) | In-service software upgrade of control and line cards of network element | |
US9021459B1 (en) | High availability in-service software upgrade using virtual machine instances in dual control units of a network device | |
US8825844B2 (en) | Notifying network operator when virtual addresses do not match on network elements configured for interchassis redundancy | |
EP2916487B1 (en) | Method and system for upgrading patching software | |
US20220303335A1 (en) | Relaying network management tasks using a multi-service receptor network | |
CN103535016A (zh) | 从活跃tcp应用到备用tcp应用的无中断切换 | |
WO2016058412A1 (zh) | 一种实现虚拟网络功能部署的方法、装置及存储介质 | |
US10469595B2 (en) | System and method of dynamic establishment of virtual private networks using border gateway protocol ethernet virtual private networks technology | |
CN108574613B (zh) | Sdn数据中心的二层互通方法及装置 | |
US10901722B2 (en) | Collaborative maintenance of software programs | |
CN101984596A (zh) | 一种避免路由黑洞的方法、装置及路由设备 | |
CN102769571A (zh) | 一种平滑重启实现方法及设备 | |
CN116450351A (zh) | 一种边缘容器调度算法 | |
JP2015032301A (ja) | 仮想ホストのバージョンアップ方法、および、ネットワーク装置 | |
CN108174417B (zh) | 一种主备切换方法、装置、相关电子设备及可读存储介质 | |
CN112653620B (zh) | 路由处理方法、装置、设备及计算机可读存储介质 | |
CN116170288A (zh) | Issu升级方法、装置、成员设备、堆叠系统及存储介质 | |
CN103414590A (zh) | 一种软件升级方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160803 Termination date: 20210919 |