系统软件升级期间的无损耗不间断报文处理方法

文档序号:6532587阅读:226来源:国知局
系统软件升级期间的无损耗不间断报文处理方法
【专利摘要】一种在网络部件中实施的用于在线业务软件升级(ISSU)的方法,所述方法包括从在所述网络部件的印刷电路板上的数据平面处运行以处理和转发多个报文的多个转发内核(FC)中选择待升级的FC,并且通过软件升级来重置所述选择的FC,其中所述至少一个其它FC在所述选择的FC进行升级时继续处理和转发报文。
【专利说明】系统软件升级期间的无损耗不间断报文处理方法
[0001]相关申请案交叉申请
[0002]本发明要求2012年10月12日由徐俊递交的发明名称为“系统软件升级期间的无损耗不间断报文处理方法”的第13/650363号美国专利申请案的在先申请优先权,该在先申请的内容以引用的方式并入本文本中,如同全文再现一般。
【技术领域】
[0003]本发明涉及通信网络,尤其涉及系统软件升级期间的无损耗不间断报文处理。
【背景技术】
[0004]某些网络设备,例如在运营商网络和大型企业网络中,要求高可靠性。在这些网络中,网络连接正常运行时间可超过约99 %,包括系统规划的软件升级和规划外的停机时间。由于正在进行的特征升级和来自网络设备的供应商的新软件发布,网络设备在设备运行期间可能需要有规划的软件升级,本文也称在线业务软件升级(ISSU)。行业已采用不同的ISSU方案来减少规划的ISSU期间的系统或设备停机时间。
[0005]在一项ISSU方案中,网络设备包括两块印刷电路板(或两块线卡)或实施控制平面升级而非数据平面升级。ISSU涉及(为控制平面)将新软件或软件升级加载到两块单板中的一块上,同时在其余一块单板上继续运行旧软件版本。当升级完成时,设备可切换到具有新加载的软件或软件升级的单板上。思科系统公司2006年的“(思科IOS高可用性(HA)—在线业务软件升级(ISSU) (Cisco IOS High Availability (HA) — In-ServiceSoftware Upgrade (ISSU)) ”描述了这一 ISSU方案,该文档以引用方式并入本文本。在另一ISSU方案中,网络设备包括两块数据平面单板和/或两块控制平面单板,可用于为数据平面和/或控制平面加载升级并从旧版本切换到升级后的版本。然而,基于这一方案,网络设备需要为两块单板提供双倍系统资源并且仍可能在单板切换期间遭受延迟或停机。进一步地,使用这一方案为ISSU支持状态特征可能会很复杂且成本较高。思科系统公司2008年的“(思科ASR1000 系列:ISSU部署指南和案例研究(Cisco ASRIOOOSeries:1SSU DeploymentGuide and Case Study) ”和华为公司的“NE40E 全业务路由器(NE40E Universal ServiceRouter)”描述了这一 ISSU方案,这些文档以引用方式并入本文本。上述ISSU方案因使用两块单板可能增加相关联的系统成本和复杂性。进一步地,在规划的软件升级停机期间,使用此类方案的底层系统和设备可能仍会受到对系统服务的影响,例如一些报文处理和转发延迟。

【发明内容】

[0006]在一项实施例中,本发明包括在网络部件中实施的用于ISSU的方法,所述方法包括从在所述网络部件的印刷电路板上的数据平面处运行以处理和转发多个报文的多个转发内核(FC)中选择待升级的FC,并且通过软件升级来重置所述选择的FC,其中所述至少一个其它FC在所述选择的FC进行升级时继续处理和转发报文。[0007]在另一项实施例中,本发明包括一种网络部件,所述网络部件包括印刷电路板,所述印刷电路板包括多个FC,其中所述每个FC用于操作和转发报文;耦合到所述多个FC的处理器,用于从所述多个FC中选择FC,关闭所述选择的FC以停止转发报文,为所述选择的FC上传升级后的FC软件版本,给所述选择的FC分配新资源,配置所述选择的FC使其加入所述印刷电路板上运行的其它FC进行报文操作和转发,以及在配置所述选择的FC后开启所述选择的FC,其中至少一个所述FC用于在所述选择的FC被关闭时转发报文。
[0008]在又一项实施例中,本发明包括一种网络部件,所述网络部件包括处理单板,所述处理单板包括至少一个处理器,用于运行控制平面处的控制器和数据平面处的多个FC,其中所述多个FC的每个FC用于处理和转发多个报文,以及所述控制器用于关闭一个或多个所述FC以进行升级而至少一个或多个剩余FC处理和转发报文。
[0009]结合附图和权利要求书,可从以下的详细描述中更清楚地理解这些和其它特征。
【专利附图】

【附图说明】
[0010]为了更完整地理解本发明,现在参考以下结合附图和详细描述进行的简要描述,其中相同参考标号表不相同部分。
[0011]图1为多核转发架构的实施例的示意图。
[0012]图2示出了多核转发架构的ISSU方案的实施例。
[0013]图3示出了多核转发架构的ISSU方案的另一实施例。
[0014]图4为ISSU方法的实施例的流程图。
[0015]图5为印刷电路板的实施例的示意图。
[0016]图6为通用网络部件的实施例的示意图。
【具体实施方式】
[0017]首先应该了解的是,尽管下文提供了一种或多种实施例实现方式,本发明公开的系统和/或方法可通过多种其它已知的或存在的技术实现。本发明决不应限于下文所说明的所述说明性实施方案、图式和技术,包括本文所说明并描述的示范性设计和实施方案,而是可以在所附权利要求书的范围以及其均等物的完整范围内修改。
[0018]本文所公开的是用于为网络部件提供ISSU的系统、方法和装置,例如路由器或类似的数据转发部件。所公开的ISSU方案可使用单块印刷电路板(也称单板或PCB)或单线卡系统或架构并且相比使用双单板系统或架构的旧ISSU方案降低了成本和复杂度。可为包括一个或多个具有多核架构的处理器或中央处理器(CPU)的网络部件实施本文描述的ISSU,g卩,其中每个CPU或处理芯片可运行多个内核处理和转发报文。不同于其它ISSU方案那样通过在两块单板之间切换来重置用于报文处理和转发的内核,本文提出的ISSU可任意或按序管理单块单板系统的各个内核以在不中断所有内核的报文转发情况下升级运行中的软件。具体而言,ISSU可一次操作一个内核,同时保持单板上的其它内核处理报文和操作数据转发。通过照此一次升级一个内核,转发部件的多核单板可实现不间断报文处理和转发的ISSU。本文提出的ISSU的优势包括ISSU流程期间零或几乎零丢包、减少规划的升级所需的系统停机时间、相比其它ISSU方案更简单的系统ISSU步骤,以及通过使用单块处理单板而非双单板来节约系统资源和成本。[0019]图1示出了可用于在网络中操作、处理和转发报文或数据的多核转发架构100的实施例。多核转发架构100可以是网络部件(例如,路由器,交换机,网桥或其它任何数据处理/转发部件)的一部分,可以位于该网络部件处,或耦合到该网络部件。该网络部件可包括单块单板或线卡(LC),包括一个或多个CPU或处理器(例如多核处理器),其可实施多核转发架构100。多核转发架构100可包括对应于控制平面的控制器110和对应于数据平面的多个转发内核(Fe) 120。例如,多核转发架构100可包括整数n+1个FC120,在图1中标记为FC0120至FCnl20。控制器110和FC120可使用运行于一个和多个CPU上的软件部件(例如,软件程序)实施。控制器110可在管理和控制FC120的控制平面或层运行。FC120可在操作、处理和转发数据或报文的数据平面或层运行。
[0020]图2示出了可为多核转发架构(例如,多核转发架构100)实施的ISSU方案200的实施例。ISSU方案200可用于升级多核转发架构的数据平面处的多个FC220(例如,升级FC软件版本)。FC220可类似于FC120。ISSU方案200可实现不间断ISSU,其中至少一些FC220可在ISSU期 间随时操作、处理和转发数据或报文。一次可将一个或少量FC220切下线并进行升级,而一个或多个FC220继续(在数据平面处)运行和操作数据。
[0021]最初,n+1个 FC220(标记为 FC0220、FC1220、......、FCn220)可在 ISSU 之前运行。
在ISSU期间,多核转发架构的控制器210可将一个正在运行的FC220(例如,FC0220)切下线并释放该FC220的资源,例如已分配的内存、处理功率和输入/输出连接。可基于FC220的状态(例如FC220操作的报文或负载量)任意选择FC220,或根据FC220的某个预定的顺序或序列选择FC220。在本示例中,首先选择的是FC0220。FC0220下线后,控制器210可开始更新或升级该离线FC0220。升级过程可包括为转发过程指定一个或多个选项在该离线FC0220上重启,这些选项可包括开机画面、版本检查和/或数据结构检查等。当所有检查都通过且离线FC0220的软件升级成功完成后,控制器210可分配新资源给FC0220并允许新加载和升级的FC0220加入其它在线FC220 (例如FC1220、……、FCn220)进行报文操作和处理。
[0022]在照此升级了一个FC220后,控制器210可依照同样的流程逐个升级剩余其它FC220,例如以某种顺序依次升级,直至升级完所有FC220。例如,控制器210接下来可将FC1220切下线,升级FC1220(例如,执行FC软件升级),并加载新升级的FC1220以开始在数据平面处运行并操作报文转发。控制器210可继续以类似方式逐个升级剩余FC220(例如FC2220到FCn220),直至多核转发架构的所有FC220都升级完毕。图2展示了不同时间阶段的ISSU流程进度,其中阴影方框表示该阶段完成升级的FC220。
[0023]在某些实施例中,如果系统处理能力足够(例如,如果系统在单板或LC上包括足够的P⑶或处理器和/或其它必需的系统资源),系统可使一个以上FC220经历上述ISSU流程。例如,控制器210可指示两个或更多FC220停止处理报文并大致同时开始升级所选FC220。升级所选FC220可独立进行或无需实质的同步。虽然一些FC220正在升级,但系统可有足够的剩余FC220运行以处理报文转发和防止丢包。
[0024]在ISSU方案200中,控制平面处的控制器210可管理各FC220从(在单块单板的一个或多个CPU上)运行转为暂停。在运行时,FC220可轮询来自缓冲区的报文进行报文处理和/或对输入/输出中断作出响应。报文缓冲区和IO中断可由单板上所有或多个FC220共享。当控制器210发送重置命令升级所选FC220时,该FC220可(例如,在完成其待决报文的处理后)停止轮询来自共享缓冲区的报文。所选FC220还可(例如,在完成任意待决报文的处理后)停止对IO中断的响应。然而,剩余运行的FC220可能不会受到控制器210重置命令对所选FC220的影响,而继续正常处理来自共享缓冲区的报文和/或IO中断。因此,所选FC220的暂停可能不会导致丢包或大量报文处理延迟,其中报文可继续由剩余运行的FC220操作。
[0025]在一些情况下,所选FC220可能仍需要更多报文去完成其自身的报文处理,例如在互联网协议(IP)碎片整理、传输控制协议(TCP)序列或其它传输方案的情况下,所选FC220在从控制器210接收到重置命令后可继续轮询所需的来自共享缓冲区的报文。所选FC220可轮询来自缓冲区的报文直至FC220使用所需报文完成其自身的报文处理,随后停止对来自共享缓冲区的报文正常处理。这样便不会产生丢包。或者,所选FC220也可不完成其自身的报文处理,而是将轮询的报文排列入专用第二共享报文缓冲区或排列待其它运行的FC220选择和处理。系统可将该第二专用缓冲区处理或排列成高优先级队列以待报文处理,其中其它运行的FC220可在队列中挑选报文进行高优先级处理。
[0026]在所选FC220自身的报文处理完毕后,FC220可释放该FC220曾使用的其它共享资源,例如,锁、表条目、数据结构、存储器或其它共享资源。控制器210可协助FC220释放关联资源,包括报文缓冲区和任意相关联的数据结构、存储器、锁或其组合。所选FC220可能需要一个界定但非严格限定的周期去完成上述任务。在所选FC220释放资源后,FC220可自主调节步伐实施ISSU流程的后续步骤。在释放共享资源后,FC220可经历多个独立于其它运行的FC220的升级步骤,例如重启和初始化,以在其软件升级期间使用新软件版本重启。其它运行的FC220可继续保持运行状态,直至经控制器210指示或管理进行重置升级,因此系统整体可继续不间断处理报文。
[0027]用新软件版本升级后的FC220随后可开始访问共享缓冲区和/或IO中断并轮询报文以进行其自身的处理和转发。在此阶段,升级后的FC220可正常执行其报文转发功能,而系统整体可能仍正进行ISSU流程(即,正在升级一个或多个其它FC220)。控制器210和FC软件版本在ISSU前后可彼此兼容。
[0028]图3示出了可为多核转发架构(例如多核转发架构100)实施的另一 ISSU方案300的实施例。ISSU方案300可用于升级多核转发架构的控制平面处的控制器310和数据平面处的多个FC320。控制器310和FC320可分别类似于控制器110和FC120。ISSU方案300可实现不间断ISSU,其中至少一些FC320可在ISSU期间的任意时刻操作、处理和转发数据或报文。
[0029]最初,n+1个 FC320(标记为 FC0320、FC1320、......、FCn320)可在 ISSU 之前运行。
在ISSU期间可升级控制器310和FC320 (例如,进行软件升级)。为实现控制器和FC的平滑升级,其中不中断报文处理和转发且不丢包,可在ISSU期间将具有升级控制器软件版本的新控制器315引入到数据平面。新控制器315可使用任意现存或支持的方法检索来自旧控制器310的状态信息。新控制器315可建立其本地转发表和FC共享表。当ISSU方案300开始时,所有FC320可与旧控制器310相关联(即,被旧控制器310管理),并且新控制器315最初可不具有与其相关联的FC320(图3中的阶段I)。
[0030]在新控制器315建立和稳定后(准备开始运行),旧控制器310可在一个离线时间点开始设置一个FC320 (或者,如果系统资源允许,一次设置少量FC320)。可基于FC320的状态或根据预定顺序任意选择FC320。所选FC320 (例如,阶段2的FC0320)随后可停止报文处理并释放其资源。旧控制器310随后可释放其对所选FC320的控制。新控制器315随后可使用支持的控制器到控制器通信接管释放的FC320,升级FC320并为其展开转发过程,分配资源给FC320,并允许新加载和升级的FC320开始操作报文(图3的阶段2)。通过主要由ISSU方案300中的新控制器315实施,ISSU方案300的FC升级步骤可类似于FC方案200的FC升级步骤。
[0031]按照同样的流程,可对旧控制器310控制的所有FC320(例如,逐个)进行升级并将它们与新控制器315关联,直至所有FC320都升级完毕并从旧控制器310迁移到新控制器315 (图3的阶段3)。在所有FC320都升级并迁移后,旧控制器310 (旧控制器软件版本)可随其共享表和资源移除(图3的阶段4)。ISSU方案300可提供平滑或简洁的操作共享资源的方法。可固定但不可释放的一个资源可以是报文输入队列,该队列可在系统级别分配。ISSU方案300可为整个数据平面,包括FC320和其它部件以及相关联的资源,或只为在数据平面中的FC320提供升级。
[0032]图4示出了可在多核转发架构(例如,多核转发架构100)中实施的ISSU方法400的实施例。例如,ISSU方法400可通过转发部件实施为ISSU方案200或ISSU方案300的一部分。方法400可开始于步骤或方框410,可选择其中在单块单板或LC上运行的多个FC中的一个或多个进行升级。例如,控制器(例如,控制器210)可选择关闭在单板的一个或多个CPU上运行的一个或多个FC(例如,FC220)并使用新的或升级后的FC软件版本对其进行升级。如果系统资源(例如,存储器、处理器等)允许,可选择一个以上FC大致同时进行升级。可基于与FC的运行状态相关的某些标准(例如,空闲或轻负荷FC)任意选择FC,或按照单板上FC的预定顺序或序列选择。
[0033]在方框420处,可关闭所选FC来停止操作和转发报文。如上所述,可以平滑方式关闭FC,在该方式中,可 在FC被关闭之前完成缓冲区中待决报文的处理或将报文卸载到其它FC,防止丢包。在方框430处,可为所选FC上传新的或升级后的FC软件版本。在方框440处,可分配新资源给升级后的FC。这些资源可包括存储器、CPU和其它实现报文处理和转发的系统资源。在方框450处,升级后的FC可用于加入在单板上运行的其它FC进行报文处理和操作。
[0034]在决定方框460处,方法400可确定单板上是否有任意剩余的FC需要升级。例如,方法400可确定是否用新FC软件版本升级所有的FC。如果达到方框460中的条件,即,有一个或多个剩余FC需要升级,则该方法可返回至方框410处选择剩余FC中的一个或多个进行升级。否则,方法400可结束。在其它实施例中,可实施包括类似步骤的类似方法对数据平面处的FC和控制平面处的控制器进行升级。该方法还可包括另外如下步骤:增加新控制器(例如,新的或升级后的控制器软件版本)和(例如,逐个)将升级后的FC从旧控制器(例如,旧控制器软件版本)重新分配到新控制器,然后移除旧控制器和相关联的资源,如ISSU方案300所述。
[0035]图5示出了用于实施本文所述的多核转发架构(例如,多核转发架构100)的印刷电路板500(下文称为单板)的实施例。单板500可包括入端口 510、接收器(Rx)512、共享缓冲区520、存储器522,、控制器524、共享通信总线526、包括转发内核FC0、FC1、……、FCN的全交换式结构528、发射器(Tx) 532和出端口 530。每个入端口都可耦合到所示接收器512以接收来自其它网络部件(例如,路由器)的信号和报文/数据。来自每个接收器的报文可存储在共享缓冲区520中待进一步处理。来自缓冲区520的报文可经由总线526传送到所示包括n+1个转发内核的全交换式结构528。存储器522可存储用于所示转发内核的一个或多个升级的软件。另外,存储器522可提供配置控制器524的操作的软件和数据。控制器524可以是先前描述的控制器210等。控制器524可经由总线526与缓冲区524和转发内核FCO、FCl、……、FCn通信。转发内核可通过发射器532传输报文,每个发射器532都可耦合到出端口 530。如前所述,所选待升级的转发内核可轮询来自缓冲区520的报文直至所选转发内核使用所需报文完成其自身的报文处理,随后停止其对来自共享缓冲区的报文的正常处理。这样便不会产生丢包。另外,单板500可包括加载有控制器524上的软件的升级后的软件版本的第二控制器525,以实施参考图3讨论的ISSU方案300。控制器524和第二控制器525可在单个处理器上实施,或在多个处理器上单独实施。
[0036]尽管图5示出了三个入端口 510、三个接收器512、三个发射器532和三个出端口530用于说明性目的,单板500可包括任意数目的这些元件。此外,总线526可选,因为可硬连接控制器524、缓冲区520和全交换式结构528使其直接互相通信。控制器524和/或全交换式结构528可通过处理器实施,处理器本身可实施为一个或多个中央处理器(CPU)芯片、内核(例如,多核处理器)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或数字信号处理器(DSP)。控制器524和转发内核FC0、FC1、……、FCn可在一个或多个处理器上的软件中实施。上文描 述的网络部件可在任意通用网络部件上实施,例如计算机或具有足够处理功率的网络部件、存储器资源和网络处理其必需的工作负载的吞吐能力。图6示出了适于实施本文所述的部件的一个或多个实施例的典型通用网络部件600。例如,网络部件600可包括以下任意项,或成为以下任意项的一部分,或位于以下任意项,或耦合到以下任意项:路由器、网络部件、或包括多个转发架构(例如,多核转发架构100)的服务器。网络部件600包括处理器602 (可称为CPU),其与包括辅助存储器604的存储器设备、只读存储器(ROM) 606、随机存取存储器(RAM) 608、输入/输出(I/O)设备610和网络连接设备612进行通信。处理器602可实施为一个或多个CPU芯片、内核(例如,多核处理器)、FPGA、ASIC和/或DSP,并且/或者可以是一个或多个ASIC的一部分。处理器602可用于实施上述任意ISSU方案和方法。例如,处理器602可用于(通过硬件和/或软件)实施或支持方案200和/或300和方法400。
[0037]辅助存储器604通常包括一个或多个磁盘驱动器或可擦除可编程ROM(EPROM)并用于数据的非易失性存储。辅助存储器604可以用于存储程序,当选择执行这些程序时,所述程序将加载到RAM608中。R0M606用于存储在程序执行期间读取的指令以及可能读取的数据。R0M606为非易失性存储设备,其存储容量相对于辅助存储器604的较大存储容量而言通常较小。RAM608用于存储易失性数据,还可能用于存储指令。对R0M606和RAM608 二者的存取通常比对辅助存储器604的存取速度要快。
[0038]应理解,通过将可执行指令编程和/或加载至单板500,存储器522、控制器524和包括转发内核FCO、FCU……、FCn的全交换式结构528中的至少之一被改变,将单板500部分转换成特定机器或装置,例如,本发明宣扬的拥有新颖功能的多核转发架构。类似地,应理解,通过将可执行指令编程和/或加载至网络部件600,处理器602、RAM606和R0M608中的至少之一被改变,将网络部件600部分转换成特定机器或装置,例如,本发明宣扬的拥有新颖功能的多核转发架构。加载可执行软件至计算机所实现的功能可以通过公知设计规则转换成硬件实施,这在电力工程和软件工程领域是很基础的。决定使用软件还是硬件来实施一个概念通常取决于对设计稳定性及待生产的单元数量的考虑,而不是从软件领域转换至硬件领域中所涉及的任何问题。一般来说,经常变动的设计更适于在软件中实施,因为重新编写硬件实施比重新编写软件设计更为昂贵。通常,稳定及大规模生产的设计更适于在如专用集成电路(ASIC)这样的硬件中实施,因为运行硬件实施的大规模生产比软件实施更为便宜。设计通常可以以软件形式进行开发和测试,之后通过公知设计规则转变成专用集成电路中等同的硬件实施,该集成电路硬线软件指令。由新ASIC控制的机器是一特定的机器或装置,同样地,编程和/或加载有可执行指令的电脑可视为特定的机器或装置。
[0039]本发明公开至少一项实施例,且所属领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/或省略所述实施例的特征而得到的替代性实施例也在本发明的范围内。应当理解的是,本发明已明确阐明了数值范围或限制,此类 明确的范围或限制应包括涵盖在上述范围或限制(如从大约I至大约10的范围包括2、3、4等;大于0.10的范围包括0.11,0.12,0.13等)内的类似数量级的迭代范围或限制。例如,每当公开具有下限R1和上限Ru的数值范围时,具体是公开落入所述范围内的任何数字。具体而言,所述范围内的以下数字是特别揭示的:R=尺1+1^0^-1?1),其中1^为从1%至1』100%范围内以1%递增的变量,即,k为1%、2%、3%、
4%,5%,......,50%,51%,52%,......、95%、96%、97%、98%、99%或 100%。此外,还特
此公开了,上文定义的两个R值所定义的任何数值范围。除非另有说明,否则使用术语“约”是指随后数字的±10%。相对于权利要求的某一要素,术语“可选择”的使用表示该要素可以是需要的,或者也可以是不需要的,二者均在所述权利要求的范围内。使用如“包括”、“包含”和“具有”等较广术语应被理解为提供对如“由……组成”、“基本上由……组成”以及“大体上由……组成”等较窄术语的支持。因此,保护范围不受上文所述的限制,而是由所附权利要求书定义,所述范围包含所附权利要求书的标的物的所有等效物。每项和每条权利要求作为进一步公开的内容并入说明书中,且权利要求书是本发明的实施例。所述揭示内容中的参考的论述并不是承认其为现有技术,尤其是具有在本申请案的在先申请 优先权日:期之后的
【公开日】期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文本中,其提供补充本发明的示例性、程序性或其它细节。
[0040]虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其它特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
[0041 ] 此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其它变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。
【权利要求】
1.一种在网络部件中实施的用于在线业务软件升级(ISSU)的方法,其特征在于,所述方法包括: 从在所述网络部件的印刷电路板上的数据平面处运行以处理和转发多个报文的多个转发内核(Fe)中选择FC;以及 通过软件升级重置所述选择的FC ; 其中至少一个其它FC在所述选择的FC进行升级时处理和转发报文。
2.根据权利要求1所述的方法,其特征在于,进一步包括从所述多个FC中依次选择其它FC进行升级,直至没有剩余FC需要升级。
3.根据权利要求2所述的方法,其特征在于,一次只选择一个FC进行升级,而所述其它FC处理和转发所述报文。
4.根据权利要求3所述的方法,其特征在于,如果有充足的系统资源支持大致同时对多个FC进行所述升级,则选择一个以上所述FC大致同时进行升级,而所述其它FC处理和转发所述报文。
5.根据权利要求1所述的方法,其特征在于,所述FC由在所述印刷电路板上的控制平面处运行的控制器基于负载状态选择进行升级。
6.根据权利要求2所述的方法,其特征在于,根据所述FC的预定序列选择所述FC进行升级。
7.根据权利要求1所述的方法,其特征在于,所述FC是在所述印刷电路板上的一个或多个处理器上运行的软件部件。
8.根据权利要求2所述的方法,其特征在于,在所述印刷电路板上的处理器上运行的控制器软件选择和重置所述FC进行升级。
9.一种网络部件,其特征在于,包括: 印刷电路板,包括多个转发内核(FC),其中所述每个FC用于转发报文;以及 耦合到所述多个FC的处理器,用于: 从所述多个FC中选择FC ; 关闭所述选择的FC停止转发报文; 为所述选择的FC上传升级后的FC软件版本; 给所述选择的FC分配新资源; 配置所述选择的FC使其加入所述印刷电路板上运行的其它所述FC进行报文转发;以及 在配置所述选择的FC后开启所述选择的FC ; 其中至少一个所述FC用于在所述选择的FC被关闭时转发报文。
10.根据权利要求9所述的网络部件,其特征在于,如果有充足的可用资源允许,则大致同时升级一个以上所述FC。
11.据权利要求10所述的网络部件,其特征在于,大致同时升级一个以上所述FC,升级独立进行且无需同步。
12.根据权利要求9所述的网络部件,其特征在于,通过一次选择和关闭一个或多个所述FC来对所有所述FC进行升级,无需关闭所有所述FC。
13.根据权利要求9所述的网络部件,其特征在于,所述选择的FC在被关闭之前停止轮询来自共享缓冲区的报文或对所述FC的输入/输出(IO)中断作出响应,其中所述选择的FC在关闭之前将其来自共享缓冲区的报文卸载到所述其它运行的FC进行操作和转发,以及所述被卸载的报文排列在高优先级缓冲区中待所述其它运行的FC访问来进行操作和转发。
14.根据权利要求9所述的网络部件,其特征在于,所述选择的FC继续轮询来自共享缓冲区的报文或对所述FC的输入/输出(IO)作出响应以在关闭之前完成任何必需的报文处理。
15.根据权利要求9所述的网络部件,其特征在于,进一步包括耦合到所述多个FC的每个FC的缓冲区,其中所述缓冲区用于存储待所述选择的FC转发的多个报文,其中在所述选择的FC被关闭时存在于所述缓冲区中预期发送给所述选择的FC的任意报文保留在所述缓冲区中,直至所述选择的FC被开启。
16.一种网络部件,其特征在于,包括: 印刷电路板,包括至少一个处理器,用于运行控制平面处的控制器和数据平面处的多个转发内核(FC), 其中所述多个FC的每个FC用于处理和转发多个报文;以及 所述控制器用于关闭一个或多个所述FC以进行升级而至少一个或多个剩余FC处理和转发报文。
17.根据权利要求16所述的网络部件,其特征在于, 所述控制器具有第一软件, 所述至少一个处理器进一步包括具有所述第一软件的升级后的软件版本的第二控制器,以及 所述至少一个处理器进一步用于将所述多个FC迁移到所述第二控制器以在被所述控制器关闭后进行升级。
18.根据权利要求17所述的网络部件,其特征在于,所述一个或多个FC进一步用于在被所述第二控制器升级后加入报文处理和转发。
19.根据权利要求16所述的网络部件,其特征在于,所述一个或多个重置的FC在被关闭后面临多个升级步骤,包括重启和初始化,步调由所述每个重置的FC独立自定。
20.根据权利要求16 所述的网络部件,其特征在于,所述处理器进一步用于释放所述重置的FC在重置之前使用的共享资源,包括共享缓冲区、锁、表条目、数据结构、存储器或其组合。
【文档编号】G06F9/445GK103946800SQ201380003972
【公开日】2014年7月23日 申请日期:2013年10月12日 优先权日:2012年10月12日
【发明者】徐俊 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1