用于在网络元件中提供冗余的方法和系统的制作方法

文档序号:7580632阅读:218来源:国知局
专利名称:用于在网络元件中提供冗余的方法和系统的制作方法
技术领域
本发明涉及数据网络,更具体地说,涉及用于改进网络元件中的可靠性的方法和装置。
背景技术
当今,随着通过网络传送越来越多的信息,企业在向它们的客户提供及时的服务和信息方面已经非常依赖它们的网络基础设施。就收入损失和雇员无法工作来说,这种网络基础设施中的故障是代价高昂的。因此,对于网络装备的用户,高可靠性系统正变的日益具有吸引力。
例如,在这种连网环境中常见的组件是在其端口之间引导网络流量的交换机。在应用OSI协议栈的以太网网络中,这种网络元件在第2层(数据链路层)上运行。该层处理下述任务将数据包转移到物理层上和将数据包从物理层转移走;检错和纠错;以及重传。通常将第2层分成两个子层在上半部的执行检错的LLC(逻辑链路控制);以及在下半部的MAC(媒体访问控制),MAC处理将数据包转移到物理层上和将数据包从物理层转移走。因为这种元件在网络中相当常见,所以在这种网络元件中提供改进的可靠性的能力是重要的。提供这种期望的可靠性虽然不是不可逾越的任务,但是为了保持这种网络元件的成本尽可能低,使得这一任务更加困难。因此,可以尝试数种方法。
例如,考虑这样一种交换机,在该交换机中,一组端口通过网络处理器或转发引擎(FE)被连接到交换矩阵。假设为了满足交换机的可用性目标,FE具有高得不可接受的故障率(即,低的平均故障间隔时间,或者MTBF)和恢复时间。可以使用数种方法来解决这个问题。
第一种方法是对交换机中的所有系统(端口卡、路由处理器、FE等)应用双冗余。因此,对于交换机的每个端口,存在主FE和备份FE二者。万一端口的主FE发生故障,这种方法就为每个端口提供备份FE。由于可以将备份FE的配置设置为主FE的配置的镜像,所以可以快速实现切换到备份FE。然而,这种布置使给定交换机中的FE的数目加倍,与具有FE与端口的比率为1比1的交换机相比,这种解决方案的成本也加倍。
另一种方法是在交换机的输出处使用高MTBF光交叉连接(OXC)。使用这种部署,万一FE发生故障,OXC就将流量从附接到发生故障的FE的端口重导向到另一个端口(附接到运行的FE)。这简化了交换机的内部结构和操作,免除从故障的FE到运行的FE的数据流的转移。遗憾的是,要求高MTBF OXC提供期望的可靠性,并且因为这种OXC是昂贵的,所以不可接受地增加了这种方法的成本。
第三种方法是应用双冗余FE。和大多数交换机中的一样,FE被耦合到交换矩阵,FE将来自它们各自的端口的数据流耦合到交换矩阵。然而,在例如这种部署之类的部署中,在一组物理端口(称作PPset)和一个矩阵端口之问耦合有两个FE(FE对)。在这种配置中的每个FE能够服务FE对的各自的PPset。在任何时候,只需要一个FE是活动的。假设一个FE发生故障,就要求另一个FE服务以处理流量。两个FE通过少量电子元件耦合到PPset和交换矩阵。因此,与第一种解决方案一样,将替换FE(实际上,它可以是FE对的任一FE)的配置设置为活动FE的配置的镜像,这允许快速切换。
然而,这种解决方案带来某些限制。首先,将FE耦合到它们各自的端口和交换机矩阵的电子元件或者不是冗余的、或者导致伴随这种冗余的额外成本。此外,即使将这种电路设计为具有高MTBF,结果也可能增加成本。此外,与只有单个FE与每个PPset相关联的情形相比,用于每个PPset的额外FE使成本加倍。因此,与非冗余体系结构相比,这种交换机的成本也将显著增加。
最后,可以使用中央复用器/解复用器来给交换机配置有一个或多个备份FE。这一般允许1∶N冗余,在这种方式中,直接将连接到发生故障的转发引擎的端口卡重导向到备份转发引擎。这种中央复用器/解复用器被插入在交换机端口和FE之间。在这种情形中,通过N∶M复用器/解复用器将FE连接到M个交换机矩阵端口和N个PPset,其中M大于N,并且备份FE的数目是M-N。在任何时刻,在系统中只需要N个FE是活动的,以服务所有的PPset。因此,当所有FE都在工作状态中时,在系统中共有M-N个备份FE。如果在系统中的任何FE发生故障,则重新配置系统,以使得备份FE之一通过把受影响的端口卡直接耦合到备份FE来接替发生故障的FE。这种方法非常有效,因为执行的唯一切换是将受影响的(多个)端口卡耦合到备份FE。
遗憾的是,这种替代方案也遇到某些障碍。首先,添加中央复用器/解复用器再次极大地添加了这样设计的交换机的成本。此外,添加中央复用器/解复用器包括向交换机添加其自身也可能发生故障的额外电路,从而降低可靠性。如果通过使用高MTBF电路(无论通过冗余还是其他方法)实现中央复用器/解复用器来解决这个问题,将再次增加这种交换机的成本。
从前面的讨论可以清楚看到,尽管提供高可用性确实可行,但是以划算的方式提供这种可靠性是有挑战性的。与大多数工程问题一样,经济上不合理的解决方案不会向用户提供真正的好处(因此也不会向制造商提供好处)。因此,需要一种以经济合理的方式来提供可靠的数据流传输的方法。

发明内容
在本发明的一种实施方式中,公开了一种网络元件。该网络元件包括N个接口单元和M个处理单元。N的值是大于1的整数。每个接口单元耦合到L个处理单元。L的值是大于0小于N的整数,并且M的值等于N加L。
在本发明的另一种实施方式中,公开了一种网络元件中的故障恢复方法。该方法包括选择第一链路,选择第二链路,并且一旦在第一处理单元中发生故障,就选择第一待机链路和第二待机链路。第一链路耦合第一接口单元和第一处理单元。第二链路耦合第二接口单元和第二处理单元。第一待机链路耦合第一接口单元和第二处理单元,而第二待机链路耦合第二接口单元和待机处理单元。
前面只是一个概述,因此只包含必要的简化和归纳,并且省略了细节;所以,本领域的技术人员将会理解,这个概述只是示例性的,并不是要以任何方式做出限制。本领域的技术人员也会清楚,可以以许多种方式实现这里公开的操作,并且可以做出这些改变和修改,而不脱离本发明和本发明的更广泛的方面。在下面阐述的非限定性详细描述中,只由权利要求规定的本发明的其他方面、创造性特征和优点将变清楚。


通过参考附图,可以更好地理解本发明,并使本发明的众多目的、特征和优点对本领域的那些技术人员更清楚。
图1是图示了根据本发明的转发引擎冗余方案的交换机的方框图。
图2A是图示了根据本发明实施方式的端口卡的方框图。
图2B是图示了根据本发明实施方式的转发引擎的方框图。
图3是图示了根据本发明实施方式的过程所执行的动作的流程图。
图4A和图4B是图示了根据本发明实施方式的体系结构的操作的方框图。
图5是图示了根据本发明实施方式的交换机的替换实施方式的方框图。
图6是图示了另一种替换体系结构的交换机的方框图,该替换体系结构可以用来提高本发明实施方式的性能。
在不同的附图中,使用相同的标号指示相似或相同的项目。
具体实施例方式
下面意在提供本发明的实施例的详细描述,并不应当作为对本发明自身的限制。此外,许多变化都可以落入在所附权利要求中规定的本发明的范围之内。
介绍本发明通过应用使用分布式交换结构(分布式结构,或者更简单地说,结构;在其中存在N个端口卡和M(=N+L)个FE)的N+L(例如,N+1)个FE,以经济合理的方式提供数据流的可靠传输。除了支持额外的FE所必需的额外的(多个)输入外,以与传统交换机相似的方式,将FE耦合到交换矩阵的端口。然而,到N组物理端口(也称作PPset)的连接不同于传统的交换机。在根据本发明实施方式的交换机中,每个FE和每组PPset(在这里专门称作端口卡)包括2∶1复用器/解复用器(或者取决于配置,是(L+1)∶1复用器/解复用器,其中L是用于每个端口卡的备用FE的数目)。通过2∶1选择器(例如,复用器/解复用器),将每个PPset连接到2个FE(如所提到的,或者经由(L+1)∶1复用器/解复用器连接到(L+1)个FE),在这里将2个FE中的一个FE称作主FE,并且将2个FE中的另一个FE称作备用FE。在交换机中,只需要N个FE是活动的,以服务所有N组PPset。在这里这些FE被称作主FE。因此,当所有的主FE都在工作状态中时,如果主FE发生故障,则存在总共1(或L)个额外的(多个)FE可用来支持PPset。如果系统中的任何一个FE发生故障,则配置交换机,使得额外的(多个)FE接替发生故障的(多个)FE。这些额外的FE和现在支持其他端口卡的主FE在这里被称作备用FE(也可以将额外的FE单独称作备用FE)。可以在交换机、路由器或其他网络元件中实现这些技术和结构,以在网络环境中提供可靠、经济的数据流传输。
本发明带来了许多优点。应用本发明实施方式的交换机的成本与前述解决方案相当或者低于前述解决方案。此外,不需要通过中央复用器/解复用器来路由PPset和FE之间的连接,所以在连通性基础设施(例如,在交换机的中背板(midplane)和/或背板(backplane)中)中存在较少的拥塞。此外,与应用中央复用器/解复用器的体系结构相比,没有必要设计期望其自身带有冗余的高MTBF中央复用器/解复用器。这种冗余在中背板/背板中添加了更多连接,并且添加了管理这种冗余以及中央复用器/解复用器的故障转移的更多复杂性。因此,通过解决可靠性需求,同时将成本维持在相对低的水平,本发明以经济合理的方式满足用户对可靠交换的需求。
示例性网络元件体系结构图1是图示了应用根据本发明实施方式的冗余方案的网络元件(在这种情形中是交换机)的方框图。如图1所示的交换机100包括许多端口卡(示作端口卡110(1)-(N))、许多转发引擎(示作转发引擎120(1)-(N+1))、路由处理器130和交换矩阵140。应当注意,尽管不是一般的情形(如随后所述),在本图中,端口卡的数目(N)与转发引擎的数目相关(N+1,或者在更一般的情形中,M(=N+L))。路由处理器130被耦合以控制端口卡110(1)-(N)和转发引擎120(1)-(N+1)。如图1所示,端口卡110(1)-(N)和转发引擎120(1)-(N+1)之间的连接,以及这些元件的部分被组合来表示分布式交换结构150。分布式交换结构150代表分布式复用/解复用布置,该布置提供支持根据本发明实施方式的N+1转发引擎冗余方案所必需的连通性。
如果发生了故障(随后参考图4A和4B进行更加详细地描述),路由处理器130一般将采取对转发引擎120(1)-(N+1)中的故障作出反应所必需的动作。这是因为发生故障的转发引擎可能不能实现切换,并且具他转发引擎可能无法知道这种故障。这个因素也使得下述优点变得更加突出每个FE能够自己切换到它的备用模式,而不需要从另一个FE传输信息(该FE可能已经发生故障,并且不能提供这种信息)。
可以将交换机100的体系结构归纳为存在N个端口卡和M个FE的体系结构。在这种情形中,存在N个主FE和L(其中L=M-N)个备用FE。可以以数种方式实现端口卡到FE的连接,如随后结合图5和图6所示的示例所述。在这种一般的情形中,将每个端口卡耦合到主FF和许多个(L个)备用FE。为了实用目的,对L的限制是N。这种边界情形为每个端口卡提供主FE和备用FE二者,所以这种布置在其所带限制下转变为与下述体系结构的布置相类似的体系结构所述体系结构为每个端口应用主FE和备用FE。
从而,通过主链路和L个备用链路将每个端口卡耦合到它的对应的L+1个FE。如这里所使用的,链路一般是某种传输介质(例如,光缆、同轴电缆等),并且同时这可以包括各种类型的信号处理(放大、再生、带宽整形等),这种传输介质不包括从任何一个源(例如,端口卡或FE)到任何一个目的地(例如,分别是FE或端口卡)的数据流的任何交换。本领域的技术人员将清楚,随着数目L增长,交换机中的备用链路和FE的数目也增长,伴随而来的是复杂性和成本的增长。然而,由具有多个备用FE所提供的MTBS的增长(并且因此可靠性增加)可以在某种程度上抵消这种增长的复杂性和成本,尽管随着增大L这种抵消将可能趋向快速减少,使得大L相对不经济(并且在边界情形中,导致先前提到的成本限制)。使用这种体系结构,使一个(或多个)发生故障的FE退出服务,并且受影响的端口卡(和朝向备用FE的那些端口卡)移动适当数目的FE(等于发生故障的FE的数目)。因此,如果一个FE发生故障,则连接到在发生故障的FE和备用FE之间的FE的每个端口卡切换(移动)一个FE。(然而,需要切换的FE/端口卡的数目等于发生故障的FE和备用FE之间的FE的数目)除了能够处理多个同时的FE故障,这种体系结构还能够处理多个时间上连续的FE故障。因此,在第一FE发生故障并且受影响的端口卡被切换之后,另一个故障导致新切换的端口卡的切换。这样,在面对多个FE故障时,应用这种体系结构的交换机能够连续运行。当然,代价是增大的复杂性和成本,但是,在给定的具有极高MTBF需要的应用中,这可以得到保证。
应当注意,在这里所描述的图中的多个示例中,使用变量标识符“N”来更简单地指定一串相关或相似元件的最后一个元件。重复使用这种变量标识符并不意味着必然暗示这种元件串的大小之间存在相关性,尽管这种相关性可能存在。使用这种变量标识符不需要每串元件具有的元件数目与用相同变量标识符限定的另一串元件相同。而是在使用的每个实例中,用“N”标识的变量(或者任何其他这种标识符)可以具有与相同变量标识符的其他实例相同的或者不同的值。
此外,关于这里描述的信号,本领域的技术人员将认识到可以将信号直接从第一模块传输到第二模块,或者可以在模块之间修改信号(例如,放大、衰减、延迟、锁存、缓存、反转、滤波或者其他修改)。尽管上述实施方式的信号被特征化为从一个模块传输到下一个模块,但是本发明的其他实施方式也可以包括代替这种直接传输的信号的修改信号,只要信号的信息的和/或功能的方面在模块之间传输。在某种程度上,可以将在第二模块处输入的信号概念化为由于所涉及的电路的物理限制(例如,不可避免地会有某些衰减和延迟)而从从第一模块输出的第一信号得来的第二信号。因此,如这里所使用的,从第一信号得来的第二信号包括第一信号或对第一信号的任何修改,无论这种修改是由于电路限制还是由于通过不改变第一信号的信息的和/或最后功能的方面的其他电路元件。
在前述的实施方式中,不同的组件被包含在不同的其他组件中(例如,示作交换机100的组件的各种元件)。应当理解,这种图示的体系结构仅仅是示例,实际上,可以实现许多获得相同功能的其他体系结构。言简意赅地说,有效地“关联”实现相同功能的组件的任何部署,以使得实现期望的功能。因此,在这里被组合来实现具体功能的任何两个组件可以被看作相互“关联”,以使得实现期望的功能,而不考虑体系结构或中间组件。同样地,也可以将这样关联的任何两个组件看作被相互“可操作的连接”,或者“可操作的耦合”,以实现期望的功能。
根据本发明构造的交换机(例如,交换机100)的一个重要特征是分布式交换结构(例如,分布式交换结构150)。与其他替换相比较,分布式交换结构提供更简单、更有效并且更优雅的解决方案来满足端口卡和FE的互连需求。这种简单性转变为更高的可靠性(更高的MTBF)和更低的成本,并且因此优于其他替换解决了用户的需求。对于N+1技术更是如此,该技术将分布式交换结构减少到每个端口卡和FE上的2输入复用器/解复用器。参考图2A和图2B更加详细地描述了这类体系结构。
图2A是端口卡200的方框图。端口卡200是图1的端口卡110(1)-(N)之一的代表。如它的名字所暗示,端口卡200支持许多进站和出站端口,这些端口提供到其数据要被交换的网络元件的连通性。在图2A中将这些连接示作网络输入205(1)-(N)和网络输出210(1)-(N)。端口卡200还包括转发引擎选择器(示作转发引擎(FE)选择器220)。FE选择器220被耦合到主转发引擎(未示出)和备用转发引擎(未示出)。在正常环境中,选择器220经由主链路230将端口卡200耦合到其主转发引擎。如果主转发引擎发生故障,则选择器220经由备用链路240将端口卡200耦合到其备用转发引擎。在图1中用端口卡110(1)-(N)之一和转发引擎120(1)-(N)之一之间的实线图示到主转发引擎的连接。类似地,在图1中用端口卡110(1)-(N)之一和转发引擎120(1)-(N)之一之间的虚线图示端口卡和它的备用转发引擎之间的连接。
图2B是图示转发引擎(示作转发引擎250)的示例的方框图。转发引擎250是图1的转发引擎120(1)-(N)之一的代表。在向交换矩阵255传递由耦合到转发引擎250的端口卡接收到的数据流所携带的信息时,转发引擎250控制该信息的转发。清楚的是,交换矩阵255是交换矩阵140的示例。转发引擎250作为主转发引擎经由主链路260a接收这种数据流,并且作为主转发引擎经由主链路260b发送数据流。类似地,转发引擎250作为备用转发引擎经由备用链路265a接收数据流,并且作为备用转发引擎经由备用链路265b发送数据流。在图2B中这样图示主链路和备用链路的接收部分和发送部分,使得更加详细地描述转发引擎250的体系结构。分别由进站FE选择器270和出站FE选择器275(一起被称作选择单元276)执行主链路260a和260b、以及备用链路265a和265b之间的选择。进站FE选择器270将来自所选择的链路的数据流提供给进站处理元件280。然后,进站处理元件280在转发控制器285的控制下将这种数据流转发到交换矩阵255。
相反,出站处理元件290处理从交换矩阵255接收到的数据流。出站处理元件290在转发控制器285的控制下将这种数据流传递到出站FE选择器275,然后,出站FE选择器275通过主链路260b或者备用链路265b将数据流传递回预期的端口卡。尽管转发控制器285包括一定数量的存储器(例如,片上存储器或缓存存储器),但是常常还需要额外的存储器(例如,用于存储额外的配置信息)。在图2B中将这种额外的存储器示作主存储器(或者更简单地说,存储器)295,主存储器295被耦合到转发控制器285,并且例如可能是DRAM存储器。可以在进站处理元件280和出站处理元件290中提供配置信息的存储,如图2B中分别由缓存存储器296和缓存存储器297提供。
配置信息的存储(例如,用来将数据包转发到它们的期望的目的地的每个源/目的地对的转发条目)对于这种网络元件的运行是关键的。当FE正充当主FE时所使用的配置信息在这里被称作主配置信息,而当FE正充当备用FE时所使用的配置信息在这里被称作备用配置信息。因此,含蓄地说,迅速访问这种信息对于它的适当运行是很关键的。通过将必需的信息存储在经济上可行的最快速的存储器中,来促进这种访问。如果这种配置信息不是可以迅速访问的,则结果可能丢失数据包,并且因此向用户提供高可用性网络元件的努力失败。
可以存储FE配置信息的位置有许多,必须做出设计权衡。许多因素影响决定在何处存储这种信息。这些因素包括访问和存储信息所涉及的时间,如果发生故障则这种延迟对交换机的无缝运行的影响,在每个可能的位置处的存储空间的大小和成本(一般来说,存储器被设置的离数据通路越远,存储器就越大并且越便宜),用作缓存存储器的可用集成电路(IC)区域、以及其他这种考虑。例如,如果可以将配置信息(主FE配置和备用FE配置二者)存储在缓存存储器296和297中(更快,但是一般较小并且更昂贵),则在存储器295(较慢,但是更大并且更便宜)中存储该信息是优选的。也可以从交换机的路由处理器下载这种信息。这种权衡会影响存储和读取配置信息的方式,从而影响FE接替另一个FE的方式。
因此,如果用于主FE和备用FE二者的信息(分别是主配置信息和备用配置信息)都可以被存储在缓存存储器296和297中,则切换会相对较快,尽管该解决方案可能更昂贵(就成本和在(多个)IC中需要的面积二者来说)。相反,如果用于主FE和备用FE二者的信息都被存储在存储器295中,则切换可能相对较慢,尽管该解决方案可能便宜。如果缓存存储器296和297不足够大以容纳所有必需的信息(即,只能存储一组配置信息(例如,主配置信息)),则可能迫使设计者如此构建交换机,以使得如果发生故障,则从转发控制器的存储器复制备用配置信息,甚至从一个FE向另一个FE复制备用配置信息(以前述方式)。
还应当注意,设计者可以通过将缓存存储器296和297设计的刚好大到足以允许它们存储只用于一组配置信息(例如,主FE配置)的配置,来选择在速度和资源使用的效率之间取得平衡。备用FE配置则存储在存储器295中。这具有最小化成本(通过将昂贵的片上缓存存储器保持最小)和有效使用IC面积的优点,同时通过本地存储备用信息来最小化控制消息流量(作为存储器295与缓存存储器296和297之间可用的比较高速的传送的结果,也提高了可以使这种信息可用的速度)。
在解决N∶M冗余方案的更一般情形中,可能的备用FE越多,必须要存储的信息也越多,从而需要增加的存储器空间。因此,这使得在缓存中存储这种信息的选择更不实际(或者甚至不可能),并且可能更加昂贵。这种考虑导致使用更简单的(并且更加便宜)N+1冗余方案,这是因为只需要存储支持两个FE所需要的信息,所以需要更少的存储器。但是,如果在两个配置中存在大量的重复,则可以进一步减少存储器空间的需求,如下所述。
因此,存储/复制的信息不需要是配置信息的完整补充,而只是FE之间相互不同的信息。这可以使得这种信息的存储更接近数据通路(例如,在缓存存储器296和297中,或者至少在存储器295中)。在L>1(或者L>>1)的情形中,这种技术可能尤其吸引人,这是因为在这种技术中,存储器需求的减少可以使得在其他情形中不能实现的部署成为可能。
一种优化是如果使用图1所示的体系结构,则第(N+1)FE(在这里也称作备用FE)只需要被加载有用于第N FE的配置信息,并且第一FE只加载有用于第(N+1)FE的配置信息。这是因为这两个FE水远只被用在一种状态中(分别是备用和FE和主FE)。因此,只有其他受影响的FE需要将它们的信息从一个复制到另一个(假设使用级联技术)。
图3是图示由根据本发明实施方式的过程执行的动作的流程图。该过程从端口卡和转发引擎选择主链路来提供这些元件之间的连通性开始(步骤300)。一旦选择了主链路,交换机的路由处理器就等待在活动转发引擎之一中的故障指示(步骤310)。在没有这种故障发生时,过程仅仅循环。如果发生了这种故障,受影响的端口卡和转发引擎选择备用链路中的一个或多个。可以用许多方式中的任意一种来实现这种切换。例如,可以在交换机的路由处理器的控制下同时执行用于所有这种受影响的链路的切换。或者,可以使用级联技术,如图3所示。在这种过程中,路由处理器使附接到发生故障的转发引擎的端口卡切换到它的备用链路,并且使端口卡的备用转发引擎也切换到备用链路来支持那个端口卡(步骤320)。
然后,路由处理器作出关于是否有任何其他端口卡(例如,附接到现在必须被支持的另一个端口卡转发引擎的端口卡)仍需要被切换到它们的备用链路(并且从而切换到它们的备用转发引擎)的判断。如果额外的端口卡仍需要被切换,则将下一个这样的端口卡切换到它的备用链路,并且将它的对应的备用转发引擎也切换到那个备用链路(步骤340)。这样,从主链路和主转发引擎到备用链路和备用转发引擎的切换从发生故障的转发引擎开始一直到最后一个备用转发引擎(例如,图1的转发引擎120(N+1))。从而,以链环方式将配置信息从一个转发引擎复制到另一个转发引擎。一旦完成所有这种切换,该过程就结束。此时,发生故障的转发引擎已经被切换出服务,现在可以被替换。
这种级联技术的一种替换是路由处理器只将所有受影响的端口卡和转发引擎配置来(大约)同时分别切换到它们的对应的备用转发引擎/端口卡。这样,转发引擎被配置为支持这些转发引擎用作其备用转发引擎的端口卡,并且因此优选地将它们的备用配置信息存储在某些可快速访问的位置,以在发生故障时迅速可用。但是,这意味着每个转发引擎都应当支持这种配置信息(主连接和备用连接二者)的存储,以使得可以不需要将配置信息从一个转发引擎复制到另一个所需的延迟,就完成切换。
如图所示,图3图示了根据本发明的一种实施方式的的过程的流程图。应当理解,这里所讨论的操作可以由由计算机系统的用户直接输入的命令或者由应用专用的硬件模块所执行的步骤组成,但是优选的实施方式包括由软件模块执行的步骤。这里提到的步骤的功能对应于模块或者部分模块的功能。
这里提到的操作可以是模块或者部分模块(例如,软件、固件或者硬件模块)。例如,尽管所述实施方式包括软件模块,并且/或者包括手工输入的用户命令,但是各种示例性模块可以是专用硬件模块。这里讨论的软件模块可以包括脚本、批处理或其他可执行文件、或者这些文件的组合和/或部分。软件模块可以包括编码在计算机可读介质中的计算机程序或计算机的程序的子例程。
另外,本领域的技术人员将认识到,模块之间的边界仅仅是示例性的,并且替换实施方式可以合并模块或者分解模块的功能。例如,可以将这里讨论的模块分解为子模块来作为多个计算机进程执行,或者可选地在多个计算机中执行。此外,替换实施方式可以组合具体模块或者子模块的多个实例。此外,本领域的技术人员将认识到,在示例性实施方式中描述的操作仅仅为了说明。可以将操作合并,或者将操作的功能分配到根据本发明的其他操作中。
另外,在实现这种功能的电路的结构中可以实现这些动作,这些电路结构例如,复杂指令集计算机(CISC)的微代码、被编程到可编程或者可擦/可编程设备中的固件、现场可编程门阵列(FPGA)的配置、门阵列的设计或者完全定制的专用集成电路(ASIC)等。
流程图的每个块可以由模块(例如,软件模块)、部分模块或者计算机系统的用户执行。从而,上述方法、该方法的操作和用于该方法的模块可以在配置来执行该方法的操作的计算机系统中执行,并且/或可以从计算机可读介质被执行。该方法可以被实现在用于配置计算机系统来执行该方法的机器可读和/或计算机可读介质中。从而,可以将软件模块存储到和/或传输到计算机系统存储器中,以配置计算机系统来执行该模块的功能。
这种计算机系统通常根据程序(一列内部存储的指令,例如,具体的应用程序和/或操作系统)处理信息,并且经由I/O设备输出作为结果的输出信息。计算机进程一般包括执行(运行)程序或程序的部分、当前程序值和状态信息、以及操作系统用来管理进程的执行的资源。父进程可以生成被称作子进程的其他进程来帮助执行父进程的整体功能。因为父进程专门生成子进程来执行进程的整体功能的一部分,所以子进程(以及孙进程等)执行的功能有时可以被描述为由父进程执行的。
这种计算机系统一般包括“并发”执行的多个计算机进程。计算机系统常常包括单个能够交替支持许多活动进程的单个处理单元。尽管可能看起来多个进程被并发执行,但是,在任何给定的时刻实际上只有一个进程被单个处理单元执行。通过快速改变进程执行,计算机系统表现为并发执行进程。计算机系统在计算的各个阶段中在多个进程之间复用计算机系统的资源的能力被称作多任务处理。具有多个处理单元的系统(定义是可以支持真正的并发处理)被称作多处理系统。当活动进程在多任务和/或多处理环境中被执行时,这些进程常常被称作并发执行。
可以由这种计算机系统例如从计算机可读介质接收在这里描述的软件模块。计算机可读介质可以永久地、可移动地或者远程地被耦合到计算机系统。计算机可读介质可以非排他地包括例如任何数目的下述介质包括磁盘和磁带存储介质在内的磁存储介质;诸如光盘介质(例如,CD-ROM、CD-R等)和数字视频盘存储介质之类的光存储介质;包括基于半导体的存储器单元(例如,闪存、EEPROM、EPROM、ROM或专用集成电路)在内的非易失性存储器存储介质;包括寄存器、缓冲器或缓存、主存储器、RAM等在内的易失性存储介质;以及包括计算机网络、点到点远程通信和载波传输介质在内的数据传输介质。在基于UNIX的实施方式中,软件模块可以被包含在这样的文件中,该文件可以是设备文件、终端文件、本地或远程文件,也可以被包含在套接字、网络连接、信号、或者其他通信或状态转变的手段中。其他新的和各种类型的计算机可读介质可以用来存储和/或传输在这里讨论的软件模块。
图4A和图4B图示了在转发引擎发生故障,并且备用链路和备用转发引擎被投入服务的情形中,根据本发明实施方式的体系结构的操作。图4A是图示了配置来执行正常操作的交换机400的方框图,其中交换机的转发引擎没有发生故障。交换机400包括许多端口卡(图示为端口卡410(1)-(4))和转发引擎(图示为转发引擎420(1)-(5))。应当注意,转发引擎420(5)在这里也被称作备用转发引擎,这表示,尽管交换机400被配置为使用它的主转发引擎,但是备用转发引擎的目的是,如果主转发引擎之一发生故障,则备用转发引擎可用。
如图4A所示,端口卡410(1)-(4)利用主链路430(1)-(4)被耦合到它们的主转发引擎(转发引擎420(1)-(4))。如图4A中所示,备用链路440(1)-(4)分别在端口卡410(1)-(4)和转发引擎420(2)-(5)之间提供连通性(除了转发引擎420(2)-(4)的主链路430(1)-(4)之外)。如果转发引擎420(1)-(4)之一发生故障,则将一个或多个备用链路440(1)-(4)投入服务,以在端口卡410(1)-(4)中受影响的端口卡和转发引擎420(2)-(5)之间提供连通性,下面将更加详细地对此进行描述。
图4B是图示了在其中转发引擎发生故障(例如,转发引擎420(2))的情形的方框图。在这种情形中,端口卡410(1)仍旧经由主链路430(1)耦合到转发引擎420(1),并且不利用备用链路440(1)。然而,已经经由主链路430(2)被耦合到现在发生故障的转发引擎420(2)的端口卡410(2)现在必须使用备用链路440(2)被耦合到它的备用转发引擎(转发引擎420(3))。通过端口卡410(2)和转发引擎(420(3))选择备用链路440(2),实现了这种连通性改变。结果,在结合图3讨论的级联方式中,端口卡410(3)现在从转发引擎420(3)切换到转发引擎420(4)。通过端口卡410(3)和转发引擎420(4)选择备用链路440(3),从主链路430(3)到备用链路440(3)的切换导致这种连通性改变。以相似的方式,通过选择备用链路440(4),并且不选择主链路430(4),端口卡410(4)被强制从转发引擎420(4)切换到转发引擎420(5)。从而,这种连通性的改变将端口卡410(4)耦合到转发引擎420(5)(即,备用转发引擎)。
另外,如下所述,端口卡410(1)-(4)和转发引擎420(1)-(5)可以被配置为同时切换。使用这种方法,转发引擎420(2)-(4)每个都维护主配置和备用配置。将会清楚,转发引擎420(1)和420(5)只需要分别维护它们的主配置和备用配置。如果发生故障(例如,转发引擎420(2)发生故障),转发引擎420(3)-(4)仅仅改变它们所耦合到的端口卡,并且开始使用它们各自的备用配置信息,而转发引擎420(1)和以前一样继续,并且将转发引擎420(5)投入服务。
取决于实现方式,这些转变可能导致两个端口卡在短时间内被耦合到相同的FE。如果可能发生这种情况,则必须将FE设计为从多个端口卡接收数据流,并且正确地转发这些信息。将会清楚,在这种系统中的FE还必须被设计为同时耦合到多个链路。相反,这种系统的端口卡必须能够通过它们的主链路和备用链路接收数据流。这种能力确保在这种转变期间数据不丢失。
在并非所有的端口卡和FE都被安装在给定的交换机中的情形中,尽管该过程不相同,但是相似。例如,尽管在图1中交换机100被一般地示作被填充满,但是可能并不总是这种情形。如果交换机未用端口卡和FE填充满,则优选地将N个PPset填充到被耦合到N+1个FE槽的(逻辑)相邻的槽中。然后,N+1个FE被安装到下述槽中,其中所述槽对应于端口卡被耦合到的那些槽。例如,考虑能够容纳7个端口卡和8个FE的交换机。然而,只填充了4个端口卡(在这里被称作PC1到PC4)和5个FE(在这里被称作FE1到FE5)。可以如下配置连接-PC1对FE1和FE2-PC2对FE2和FE3-PC3对FE3和FE4-PC4对FE4和FE5-PC5(未被填充的)对FE5和FE6(未被填充的)-PC6(未被填充的)对FE6(未被填充的)和FE7(未被填充的)-PC7(未被填充的)对FE7(未被填充的)和FE1以与满填充的交换机相似的方式处理这种情形中的故障。例如,首先考虑所有的主FE都在工作状态中,并且FE1到FE4分别正在服务PC1到PC4。随后,FE2发生故障。在这种情形中,交换机被配置来使得FE5服务PC4,FE4服务PC3,并且FE3服务PC2。FE2被排除出服务任务。应当注意,FE可能需要被重编程来服务不同的端口卡。存在各种实现这种重编程的机制。最简单的是,可以顺序执行重编程——在上面的示例中,顺序级联重配置FE5、FE4和FE3。或者,如果用于由FE维护的表的存储器足够大,则可以将每个FE预先配置为处理两个端口卡(例如,在上面的示例中的FE4将被预先编程为处理PC3和PC4)。在该情形中,如果发生故障FE并不需要重编程。
应当注意,在实现本发明的实施方式时,无论采用何种方法来对FE进行编程,到备用FE的切换都应当是有状态的(即,维护关于发生故障的FE的信息,以允许由此切换的数据流继续进行,就像没有发生故障)。正如指出的那样,这可以通过将所有必需的信息预先编程到每个FE中,通过将信息从一个FE复制到另一个FE,或者利用某些其他方法(例如,从交换机的路由处理器下载这种信息)来实现。这是一个重要的特征,因为它支持交换机在面临FE发生故障时维护正被切换的数据流的能力。
还应当注意,并不需要排他地使用这种技术。视情况而定,可以使用同时切换和级联切换的组合。例如,离故障较近的FE可以使用级联技术进行切换,而那些离发生故障的FE较远的FE可以使用同时切换技术(到执行完最小级联转变所需要的时间之前,已经给出了准备这种转变的时间)。或者,可以将成组的FE配置为同时切换。
替换网络元件体系结构的示例图5是图示了交换机500的替换实施方式的方框图,该交换机可以被用来在主转发引擎发生故障的情况下,减少切换到一个或多个备用转发引擎所需要的平均等待时间。如前所述,交换机500包括耦合到许多转发引擎(示作转发引擎520(1)-(6))的许多端口卡(示作端口卡510(1)-(6))。转发引擎520(1)-(6)每个都充当用于端口卡510(1)-(6)中的各个端口卡的主转发引擎。转发引擎520(1)-(6)在路由处理器540的控制下,以图1所示的方式将数据流从端口卡510(1)-(6)转发到交换矩阵530。交换机500还包括备用转发引擎550。备用转发引擎550(尽管在结构上与转发引擎520(1)-(6)没有不同)作为备用转发引擎耦合到两个端口卡(即,端口卡510(3)和510(4)),并且因此能够通过选择适当的备用链路来充当用于这两个端口卡中任意一个的备用转发引擎。在图5所示的体系结构中,负责选择主链路/转发引擎和备用链路/转发引擎(包括主链路和备用链路)的结构被概括地称作分布式交换结构560。通过允许端口卡510(1)-(6)除了选择备用转发引擎550之外,还选择转发引擎520(2)-(5)中的各个转发引擎作为备用转发引擎,交换机500的体系结构允许这种选择平均在图1所述的体系结构所需时间的一半中级联过该体系结构。
还应当注意,使用图1的交换机100的基本体系结构的另一种替换实施方式是以与图5的交换机500的体系结构相似的方式扩展那种体系结构。即,除了将端口卡110(N)耦合到转发引擎120(N+1)之外,还可以使用转发引擎120(N+1)的入站和出站选择器的第二输入来将端口卡110(1)耦合到转发引擎120(N+1)。从而,通过允许从发生故障的转发引擎出发的级联向两个方向中任一方向前进,转发引擎120(N+1)被有效地置于转发引擎120(1)-(N)的“中间”。在这种配置中,可以使给定的端口卡切换到它的备用转发引擎(例如,在图1中的“下”向切换时)或者到“第三方”转发引擎(例如,在“上”向切换时(与刚刚描述的“下”方向相反))。和交换机500一样,因为离发生故障的转发引擎最远的可能是备用转发引擎(例如,转发引擎120(N+1)),所以距离的最大值从N减小为N/2,并且因此平均等待时间同样被减至一半。
或者,可以应用轮询方法。备用转发引擎(例如,图1的转发引擎120(N+1))可以耦合到第一和最后端口卡(例如,如图所示,分别是端口卡110(N)和端口卡110(1))。在那种情形中,每个端口卡110(1)-(N)被耦合到三(3)个转发引擎主转发引擎、在“顺时针”方向的备用转发引擎和在“逆时针”方向的备用转发引擎。从而,取决于发生故障的位置,切换可以沿着最短路线离开发生故障的转发引擎并向备用转发引擎前进(即,包括切换最少数目转发引擎的方向(以到达备用转发引擎))。所涉及的额外的电路可能是一个顾虑,但是应当是最小的——复用/解复用电路应当是3向(而不是2向),并且必须在相反的方向上提供其他链路(例如,从端口卡110(K)到转发引擎120(K-1))。
图6是图示了另一种替换体系结构的交换机600的方框图,该交换机可以用来提高本发明的实施方式的性能。交换机600包括被耦合到许多转发引擎(示作转发引擎620(1)-(6))的许多端口卡(示作端口卡610(1)-(6))。转发引擎620(1)-(6)作为主转发引擎经由主链路625(1)-(6)被耦合到端口卡610(1)-(6)。转发引擎620(1)-(6)在路由处理器640的控制下,以图1和图5所示的体系结构的方式将数据流从端口卡610(1)-(6)转发到交换矩阵630。相对于交换机100的体系结构,交换机600将端口卡和转发引擎分组,以改善在转发引擎发生故障的情况下与切换相关的等待时间。通过提供这样的备用转发引擎来实现这种分组该备用转发引擎专门支持它的指定的组。因此,如图6所示,端口卡610(1)-(3)和转发引擎620(1)-(3)在组650中被分组在一起,而端口卡610(4)-(6)和转发引擎620(4)-(6)被分组到组660中。
正如所指出的那样,支持每个这种组的是备用转发引擎。备用转发引擎670支持组650的端口卡和转发引擎,而备用转发引擎680支持组660的端口卡和转发引擎。当在(组650的)转发引擎620(1)-(3)之一中发生故障时,端口卡610(1)-(3)、转发引擎620(2)-(3)和备用转发引擎670中的适当的元件选择备用链路685(1)-(3)中的适当的备用链路。这样,通过(以图1的交换机100的方式)切换到备用转发引擎处理了在转发引擎620(1)-(3)之一中的故障。类似地,端口卡610(4)-(6)中的适当的端口卡选择经由备用链路685(4)-(6)中的适当的链路,耦合到转发引擎620(5)-(6)和备用转发引擎680中适当的转发引擎。如前所述,端口卡610(1)-(3),转发引擎620(2)-(3)和备用转发引擎670中的结构形成分布式交换结构690,而端口卡610(4)-(6),转发引擎620(5)-(6)和备用转发引擎680中的对应的结构形成分布式交换结构695。但是,应当注意,分布式交换结构690不提供任何元件到任何元件的连通性,而只提供由端口卡和FE的复用/解复用器所支持的连通性。简而言之,通过添加备用转发引擎,减少了等待时间,并且提高了平均故障间隔时间,结果,这允许将端口卡和转发引擎划分成组。这些组中的每组都以与图1的交换机100的体系结构的方式相似的方式运行,虽然具有更少的端口卡和转发引擎,并且因此在任何给定的情况中都执行更少的切换。
实际上,任何其他根据本发明的方法都可以应用这种分组概念(或者相反地说,一旦被分组,每个组可以应用其他方法之一(并且没必要都应用相同的方法))。因此,在组中可以使用级联方法、轮询方法或其他方法。由于复杂性和备用转发引擎的数目增加,这里的折衷是对故障影响的定位。
尽管已经图示并描述了本发明的具体的实施方式,但是对于本领域的技术人员很清楚,基于这里的教导,可以做出各种改变和修改,而不脱离本发明和本发明的更广泛的方面,因此,所附权利要求是要在它们的范围中包括所有这种在本发明的真实精神和范围中的改变和修改。此外,应当理解,本发明只由所附权利要求规定。
权利要求
1.一种网络元件,包括N个接口单元,其中N的值为大于1的整数;和M个处理单元,其中每个所述接口单元被耦合到所述处理单元中的L个处理单元,L的值为大于0且小于N的整数,并且M的值等于N加L。
2.如权利要求1所述的网络元件,还包括多个链路,其中每个所述链路都被配置为耦合所述接口单元之一和所述处理单元之一。
3.如权利要求2所述的网络元件,其中所述接口单元中的每个接口单元都被耦合到所述处理单元中的主处理单元和所述处理单元中的备用处理单元,并且所述接口单元中的所述每个接口单元都被配置为如果所述处理单元中的一个发生故障,则从所述处理单元中的所述主处理单元切换到所述处理单元中的所述备用处理单元。
4.如权利要求3所述的网络元件,其中所述处理单元中的每个处理单元都被耦合到所述接口单元中的第一接口单元和第二接口单元;并且所述处理单元中的所述每个处理单元都被配置为如果发生所述故障,则从所述接口单元中的所述第一接口单元切换到所述接口单元中的所述第二接口单元。
5.如权利要求2所述的网络元件,其中每个所述接口单元都通过所述链路中的多个主链路之一耦合到所述处理单元中的主处理单元。
6.如权利要求5所述的网络元件,其中每个所述接口单元都通过所述链路中的多个备用链路之一耦合到所述处理单元中的备用处理单元。
7.如权利要求2所述的网络元件,其中每个所述接口单元都包括选择器,并且每个所述接口单元都被所述选择器通过如下两种方式之一进行耦合通过所述链路中的多个主链路之一耦合到所述处理单元中的一个处理单元,以及通过所述链路中的多个备用链路之一耦合到所述处理单元中的另一个处理单元。
8.如权利要求7所述的网络元件,其中每个所述处理单元都包括选择单元,并且每个所述处理单元都被所述选择单元通过如下两种方式之一进行耦合通过所述主链路之一耦合到所述处理单元中的一个处理单元,并且通过所述备用链路之一耦合到所述处理单元中的另一个处理单元。
9.如权利要求2所述的网络元件,其中所述接口单元和所述处理单元都包括组,并且所述组是多个这种组之一。
10.如权利要求9所述的网络元件,还包括,交换矩阵,其中每个所述组都被通信耦合到所述交换矩阵。
11.如权利要求2所述的网络元件,其中L等于1。
12.如权利要求11所述的网络元件,其中所述接口单元中的每个接口单元都被耦合到所述处理单元中的主处理单元和所述处理单元中的备用处理单元。
13.如权利要求11所述的网络元件,其中所述处理单元中的每个处理单元都被耦合到所述接口单元中的第一接口单元和第二接口单元。
14.如权利要求13所述的网络元件,其中,如果所述处理单元中的一个发生故障,则所述接口单元中的所述每个接口单元都被配置为从所述处理单元中的所述主处理单元切换到所述处理单元中的所述备用处理单元,并且所述处理单元中的所述每个处理单元都被配置为如果发生所述故障,则从所述接口单元中的所述第一接口单元切换到所述接口单元中的所述第二接口单元。
15.如权利要求12所述的网络元件,其中所述处理单元中的所述主处理单元是所述处理单元中的第I处理单元,并且所述处理单元中的所述备用处理单元是所述处理单元中的第(I+1)处理单元。
16.如权利要求15所述的网络元件,其中所述接口单元中的所述每个接口单元还都被耦合到所述处理单元中的第三方处理单元,所述处理单元中的所述主处理单元是所述处理单元中的第I处理单元,所述处理单元中的备用处理单元是所述处理单元中的第(I+1)处理单元,并且所述处理单元中的所述第三方处理单元是第(I-1)处理单元,并且如果I等于1,则所述处理单元中的所述第三方处理单元是所述处理单元中的第(N+1)处理单元。
17.如权利要求12所述的网络元件,其中对于所述处理单元中的第一处理单元至所述处理单元中的第(N/2)处理单元,所述处理单元中的所述主处理单元是所述处理单元中的第I处理单元,并且所述处理单元中的所述备用处理单元是所述处理单元中的第(I+1)处理单元,并且对于所述处理单元中的第((N/2)+2)处理单元至所述处理单元中的第(N+1)处理单元,所述处理单元中的所述主处理单元是所述处理单元中的第I处理单元,并且所述处理单元中的所述备用处理单元是所述处理单元中的第(I-1)处理单元。
18.如权利要求2所述的网络元件,还包括分布式交换结构,其中每个所述接口单元都包括选择器,每个所述处理单元都包括选择单元,并且所述分布式交换结构包括所述选择器、所述选择单元和所述链路。
19.如权利要求18所述的网络元件,其中每个所述接口单元都被所述选择器通过如下两种方式之一进行耦合通过所述链路中的多个主链路之一耦合到所述处理单元中的一个处理单元,以及通过所述链路中的多个备用链路之一耦合到所述处理单元中的另一个处理单元,并且每个所述处理单元都被所述选择单元通过如下两种方式之一进行耦合通过所述主链路之一耦合到所述处理单元中的一个处理单元,以及通过所述备用链路之一耦合到所述处理单元中的另一个处理单元。
20.一种网络元件中的故障恢复方法,所述方法包括选择第一链路,所述第一链路耦合第一接口单元和第一处理单元;选择第二链路,所述第二链路耦合第二接口单元和第二处理单元;并且一旦在所述第一处理单元中发生故障,则选择第一备用链路,所述第一备用链路耦合所述第一接口单元和所述第二处理单元,并且选择第二备用链路,所述第二备用链路耦合所述第二接口单元和备用处理单元。
21.如权利要求20所述的方法,其中以级联方式首先选择所述第一备用链路,其次选择所述第二备用链路。
22.如权利要求20所述的方法,还包括从路由处理器将备用配置信息下载到所述第二处理单元。
23.如权利要求20所述的方法,还包括在所述第二处理单元的缓存存储器中维护主配置信息和备用配置信息。
24.如权利要求20所述的方法,还包括在所述第二处理单元的缓存存储器中维护主配置信息;并且一旦发生所述故障,就将备用配置信息从所述第二处理单元的主存储器传送到所述缓存存储器。
25.如权利要求20所述的方法,还包括一旦发生所述故障,就将备用配置信息从所述第二处理单元传送到所述备用处理单元。
26.如权利要求20所述的方法,还包括选择第三链路,所述第三链路耦合第三接口单元和第三处理单元;选择第四链路,所述第四链路耦合第四接口单元和第四处理单元;并且一旦在所述第四处理单元中发生故障,则选择第三备用链路,所述第三备用链路耦合所述第三接口单元和所述备用处理单元,并且选择第四备用链路,所述第四备用链路耦合所述第四接口单元和所述第三处理单元。
27.如权利要求26所述的方法,其中以级联方式首先选择所述第三备用链路,其次选择所述第四备用链路。
28.一种网络元件,包括第一和第二接口单元;第一和第二链路;第一和第二备用链路;第一、第二和备用处理单元,其中所述第一接口单元和所述第一处理单元通过所述第一链路被相互耦合,所述第二接口单元和所述第二处理单元通过所述第二链路被相互耦合,所述第一接口单元和所述第二处理单元通过所述第一备用链路被相互耦合,并且所述第二接口单元和所述备用处理单元通过所述第二备用链路被相互耦合;路由处理器,其被耦合来控制所述第一接口单元和所述第二接口单元,以及所述第一、第二处理单元和所述备用处理单元;计算机可读介质,其中所述计算机可读介质被耦合到所述路由处理器、所述第一处理单元、所述第二处理单元和所述备用处理单元中的至少一个;和计算机代码,其被编码在所述计算机可读介质中,其被配置来选择所述第一链路;选择所述第二链路;并且一旦在所述第一处理单元中发生故障,则选择所述第一备用链路,并且选择所述第二备用链路。
29.如权利要求28所述的网络元件,其中以级联方式首先选择所述第一备用链路,其次选择所述第二备用链路。
30.如权利要求28所述的网络元件,其中所述计算机代码还被配置来将备用配置信息从所述路由处理器下载到所述第二处理单元。
31.如权利要求28所述的网络元件,其中所述计算机代码还被配置来在所述第二处理单元的缓存存储器中维护主配置信息和备用配置信息。
32.如权利要求28所述的网络元件,其中所述计算机代码还被配置来在所述第二处理单元的缓存存储器中维护主配置信息;并且一旦发生所述故障,就将备用配置信息从所述第二处理单元的主存储器传送到所述缓存存储器。
33.如权利要求28所述的网络元件,其中所述计算机代码还被配置来一旦发生所述故障,就将备用配置信息从所述第二处理单元传送到所述备用处理单元。
34.如权利要求28所述的网络元件,其中所述网络元件还包括第三和第四接口单元,第三和第四链路,第三和第四备用链路,以及第三、第四处理单元;所述第三接口单元和所述第三处理单元通过所述第三链路被相互耦合;所述第四接口单元和所述第四处理单元通过所述第四链路被相互耦合;所述第三接口单元和所述备用处理单元通过所述第三备用链路被相互耦合;所述第四接口单元和所述第三处理单元通过所述第四备用链路被相互耦合;所述计算机代码还被配置来选择所述第三链路,选择所述第四链路,并且一旦在所述第四处理单元中发生故障,则选择所述第三备用链路,并且选择所述第四备用链路。
35.如权利要求34所述的网络元件,其中以级联方式首先选择所述第三备用链路,其次选择所述第四备用链路。
36.一种用于网络元件中的故障恢复的装置,包括用于选择第一链路的装置,所述第一链路耦合第一接口单元和第一处理单元;用于选择第二链路的装置,所述第二链路耦合第二接口单元和第二处理单元;用于选择第一备用链路的装置,一旦在所述第一处理单元中发生故障,所述第一备用链路就耦合所述第一接口单元和所述第二处理单元;以及用于选择第二备用链路的装置,一旦发生所述故障,所述第二备用链路就耦合所述第二接口单元和备用处理单元。
37.如权利要求36所述的装置,其中以级联方式首先选择所述第一备用链路,其次选择所述第二备用链路。
38.如权利要求36所述的装置,还包括用于将备用配置信息从路由处理器下载到所述第二处理单元的装置。
39.如权利要求36所述的装置,还包括用于在所述第二处理单元的缓存存储器中维护主配置信息和备用配置信息的装置。
40.如权利要求36所述的装置,还包括用于在所述第二处理单元的缓存存储器中维护主配置信息的装置;以及用于一旦发生所述故障,就将备用配置信息从所述第二处理单元的主存储器传送到所述缓存存储器的装置。
41.如权利要求36所述的装置,还包括用于一旦发生所述故障,就将备用配置信息从所述第二处理单元传送到所述备用处理单元的装置。
42.如权利要求36所述的装置,还包括用于选择第三链路的装置,所述第三链路耦合第三接口单元和第三处理单元;用于选择第四链路的装置,所述第四链路耦合第四接口单元和第四处理单元;以及用于选择第三备用链路的装置,一旦在所述第四处理单元中发生故障,所述第三备用链路就耦合所述第三接口单元和所述备用处理单元,以及用于选择第四备用链路的装置,一旦发生所述故障,所述第四备用链路就耦合所述第四接口单元和所述第三处理单元。
43.如权利要求42所述的装置,其中以级联方式首先选择所述第三备用链路,其次选择所述第四备用链路。
全文摘要
本发明公开了一种网络元件(100)。该网络元件(100)包括N个接口单元(110)和M个处理单元(120)。N的值为大于1的整数。每个接口单元(110)被耦合到L个处理单元(120)。L的值为大于0且小于N的整数,并且M的值等于N加L。
文档编号H04L12/56GK1711730SQ200380103256
公开日2005年12月21日 申请日期2003年10月17日 优先权日2002年10月17日
发明者迪帕纳卡·巴塔查里亚, 迈克尔·罗伊·史密斯, 凯文·莫里西格 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1