网络数据重新路由的制作方法

文档序号:7595557阅读:134来源:国知局
专利名称:网络数据重新路由的制作方法
技术领域
本发明一般涉及数据网络。更具体地说,公开了数据交换。
背景技术
在数据通信网络中,路由器、交换机或其它合适的设备经常被用于从源向目的地传送数据。许多高速系统典型地利用带有多条链路且每条链路将一个源地址连接到一个目的地地址的交换机结构来交换数据。如果任何一条链路出故障,典型地可以基于软件指令重新路由数据。用软件重新路由数据经常降低系统的性能,因此是不希望的。而且,一些现有的系统利用分成数据信元和通过多条链路传送信元的带状结构,因此在一条链路上出故障可能导致系统性能的指数降级。如果在链路出故障的情况下数据的重新路由可以被更有效地执行,而不进一步降低系统性能,将是有益的。如果在结构的任何链路出故障的情况下,其性能的降低更为适度,也将是所期望的。

发明内容
本发明提供了一种通过交换机结构传送数据的方法,包括对于每个要进行传送的数据单元,选择从结构接入节点到交换机结构的多条链路中的一条来传送数据单元;在多条链路中的一条或一条以上变为不可用以使一条或一条以上余下的链路保持可用于传送数据的情况下,通过余下的链路中的一条传送随后接收的数据单元。


在接下来的详细描述和附图中公开了本发明的各种实施例。
图1A是说明了配置成交换带状信元的交换系统实施例的图。
图1B说明了非带状交换机结构的实施例。在此例中,信元,例如150-156,没有被细分。
图2是说明在一个实施例中应用的交换机平台的框图。
图3是根据一些实施例说明在源端口和目的地端口之间的数据传送的图。
图4是根据图3所示的实例说明在信元被交换之前对信元的处理的流程图。
图5是根据一些实施例说明在信元正在交换时对信元的处理的流程图。
图6是根据一些实施例说明在信元被目的地端口接收之后对信元的处理的流程图。
图7是说明在一个实施例中应用的交换系统的图。
图8是根据一些实施例说明连接的初始化过程的流程图。
图9是说明在一个实施例中当在结构接入节点检测到出口链路出故障时该结构接入节点的操作的流程图。
图10是说明当在远端结构接入节点检测到出口链路出故障时交换机平台实施例的操作的流程图。
图11是说明当由交换机平台检测到出口链路出故障时该交换机平台实施例的操作的流程图。
图12是说明在一个实施例中当在交换机平台检测到出口链路出故障时结构接入节点的操作的流程图。
图13是说明在一些实施例中、在结构接入节点上执行以通过交换机结构发送数据的过程的流程图。
具体实施例方式
本发明可以以多种方式实现,包括例如过程、装置、系统、物质组成、诸如计算机可读存储介质这样的计算机可读介质或者计算机网络,其中程序指令通过光或电通信链路发送。在本说明书中,这些实现方案,或本发明可能采用的任何其它形式,都可以称为技术。一般地,所公开过程的步骤的顺序可以在本发明范围内改变。
下面连同说明本发明原理的附图一起提供了本发明一个或多个实施例的详细说明。本发明是结合这些实施例进行描述的,但本发明不局限于任何一个实施例。本发明的范围仅仅由权利要求书限定,本发明包含了多种变化、修改和等价替换。在下面描述中阐明了许多特定细节以便提供对本发明的详尽理解。这些细节为举例的目的而提供,本发明可以根据权利要求书在没有这些特定细节的一些或全部的情况下实行。为清楚起见,与本发明相关的技术领域内已知的技术材料没有进行详细描述,以免使本发明被不必要地混淆。
公开了数据交换。在一些实施例中,数据通过到交换机结构的多条链路从源传送到目的地。如果其中一条链路不可用,数据可以通过余下的链路被连续地从源发送到目的地。指示链路不可用的反压(backpressure)信息可以被发送到数据源。
在一些交换系统中,数据分组被细分成信元,然后通过交换机结构进行发送。如在这里用到的,信元指的是被传送数据的单元;其它的数据单元也可能被用到。在不同实施例中,信元的长度可以是固定或变化的。信元可以是带状或非带状的。图1A是说明了配置成交换带状信元的交换系统实施例的图。在这个实例中,信元100到106每个被分成穿过链路110到116散开的几部分。划分每个信元所穿过的链路数以及由此的信元部分的数目可能随不同实施例变化。链路是配置成从它们的源向它们的目的地传送信元的物理连接。链路的集合和它们的互连称作交换机结构。在带状结构中,例如图1A所示的交换机结构,包括每个信元的数据段通过链路以同步方式被传送,以便这些段可以被组装以重建原始的信元。在本例中,用于交换信元的链路集合用作单个的交换机平台。其中一条链路负责作出交换判决,例如,恰好具有包含信元控制信头和/或目的地地址数据的部分的哪个,那条链路把判决传达给被交换信元带状穿过的其它链路。
图1B说明了非带状交换机结构的实施例。在这个实例中,信元例如150-156没有被细分。每个信元作为一个整体通过链路例如链路160-166中的一条进行传送。链路的数目可以根据实现方案而不同。链路不需要同步,信元可以无序到达目的地,然后被重新排序。在这种情况下,链路间不需要同步或通信。因此,从链路接收数据的交换机结构可用作是独立的子结构的集合。
图2是说明在一个实施例中应用的交换机平台的框图。在这个实例中,端口200-206是可以为传送数据目的寻址的逻辑源或目的地。每个端口可以通过交换机平台向其中一个具有到交换机平台的链路的端口发送数据,或者从交换机平台接收自其中一个具有到交换机平台的链路的端口发送到该交换机平台的数据。端口可以和一个或多个结构接入设备,例如结构接入电路或芯片相关。信元通过交换机平台212被从它的源端口传送到它的目的地端口。如在这里用到的,交换机平台指的是交换路径的集合,通过这种路径集合,数据可以被从任何一个具有到交换机平台的链路的端口发送到任何一个具有到交换机平台的链路的端口。交换机平台可以实现为包括多个交叉连接点的电路,其中每个交叉连接点将一个输入和一个输出连接起来,并为信元提供交换路径。交换机结构可能包括一个或多个交换机平台。交换机结构可以用一个或多个物理的交换机设备来实现,例如一个或多个集成电路,而且每个这样的设备可以根据配置(例如每个端口具有的到该设备的链路的数目)包括一个或多个交换机平台。
在所示实例中,在每个端口和交换机平台之间具有双向连接。每个双向连接包括用于从端口向交换机平台传送数据的入口链路(例如入口链路208、入口链路216),以及用于向其目的地传送已被交换机平台交换的数据的出口链路(例如出口链路210和出口链路214)。例如,源端口为206和目的地端口为202的数据信元被从端口206通过入口链路208发送到交换机平台212。接着交换机平台交换数据信元并在出口链路214上发送该信元。数据信元最后到达它的目的地端口202。在一些实施例中,例如链路可用性、反压等控制信息可以包含在通过出口链路发送到端口的信元的信头中。控制信息的细节和它的使用下面进行论述。
图3是根据一些实施例说明在源端口和目的地端口之间的数据传送的图。在这个实例中,数据信元通过交换机302被从源端口206传送到目的地端口202。相应的入口和出口链路分别是208和214。数据信元被处理成在不同时候包括合适的信头。尤其地,端口将入口控制信头312加到净负荷310的前面,其被交换机302重新拆卸和处理。交换机302将出口控制信头316加到净负荷310的前面,并向目的地端口202发送信元,目的地端口202拆除和处理出口控制信头316,并将净负荷310传送到它想要去的目的地。过程的细节将在图4-6中论述。
图4是根据图3所示的实例,说明在信元被交换之前对信元的处理的流程图。在这个实例中,一旦接收到信元的净负荷数据(310)(400),入口控制信头(312)被加到净负荷数据的前面(402)。入口控制信头(312)可能包括用于在接收端(例如交换机)确定和入口链路相关的出口链路的可用性的同步标志,如在下面更充分描述的,和与入口链路相关的出口链路相关的反压信息(例如,通知交换机端口当前不能在入口链路接收信元)、净负荷的描述、目的地的描述、以及其它适当的信息或者其组合。信息也可以被加到净负荷后或者以一些其它的合适格式安排。结果的信元接着被发送到交换机(404)。
图5是根据一些实施例说明在信元正在交换时对信元的处理的流程图。在这个实例中,包括净负荷(例如310)和入口控制信头(312)的信元被接收(500)。分析入口控制信头(501),接着拆除其(502)。基于包括在入口控制信头中的信息,确定与目的地端口相关的合适的出口链路,并且净负荷被交换到链路(504)。出口控制信头(316)被加到净负荷的前面(506),新形成的信元被通过合适的出口链路发送到它的目的地端口(508)。出口信头可以包括指示与出口链路相关的入口链路的同步状态的同步标志,同与出口链路相关的入口链路相关的反压信息(例如,通知端口不要通过入口链路发送寻址到特定目的地的信元,关于该目的地,交换机正在接收反压),净负荷的描述,源的描述,以及其它适当的信息或者其组合。信息也可以被加到净负荷后或者以一些其它的合适格式被安排。
图6是根据一些实施例说明在信元被目的地端口接收之后对信元的处理的流程图。在这个实例中,一旦从交换机接收到数据信元(600),它的控制信头被拆卸(602)。接着信元数据的净负荷被从结构接入设备发送出去,且如果有必要,被进一步处理(604)。
图7是说明在一个实施例中应用的交换系统的图。在这个实例中,多个结构接入节点1到M(700-706)耦合到交换机结构712。交换机结构712包括多个交换机平台1到N(714-718)。每个交换机平台可以独立地交换整个(非带状)信元,而不需要和其它交换机平台同步。每个结构接入节点通过双向连接(例如,入口链路708和它的相关的出口链路包括在结构接入节点700和交换机平台716之间的双向连接,出口链路710和它的相关的入口链路包括在结构接入节点706和交换机平台714之间的双向连接)和每个交换机平台相连。在这个实例中,每个结构接入节点和一个端口相关并用于服务这个端口。通过图7所示的连接信元从源端口传送到目的地端口。接入节点(端口)和交换机平台的实际数目取决于实现方案,可能随不同实施例而变化。
拥塞或者与链路有关的其它问题可能阻止信元被传送到适当的目的地。不能在入口或出口方向上传送其数据的双向连接被认为是出现了故障。在一个实施例中,这保证了仅当相应的返回链路可用于向发送端传送流量控制(例如反压或同步状态)信息时,数据在链路(入口或出口)上发送。在一个实施例中,在这种故障的情况下,信元自动地被路由到替代的路径,不再在出故障的连接上发送,如下面更充分描述的那样。在一些实施例中,在结构接入节点和交换机平台之间维护的链路质量状态机用于确定哪些链路可用。链路质量状态机可以作为处理器、逻辑电路或其它相应的硬件、软件、固件或其组合来实现。在一些实施例中链路质量状态机与结构接入节点和/或交换机结构集成在一起,而在一些实施例中作为一个单独的部件来实现。
图8是根据一些实施例说明连接的初始化过程的流程图。发送方通过与连接相关的链路向接收方发送同步码元(800)。初始化过程可以在入口方向或者出口方向启动。换句话说,如果结构接入节点是发送方,则接收机平台是接收方,反之亦然。在一些实施例中,同步码元是8B/10B IDLE码元。也可以用其它类型的、适合于同步化链路的码元。如果在远端的接收方接收到同步码元,它将设置一个内部标志指示在接收方正在从远端的发送方接收良好的同步码元。一旦在接收端的发送方被启用,它将开始向远端(例如,它从中接收同步码元的那端)发送空闲信元(没有净负荷,但有正确形成的控制信头)。在一些实施例中将设置为真的同步标志包含于空闲信元的控制信头部分中。
在发送端(即,上面描述为发送空闲信号的那端),确定在超时发生前是否接收到响应(802)。在一些实施例中,在步骤802检查的响应是正确形成的空闲信元(或其它信元)。如果超时之前没有接收到响应,那么接收方可能没有接收到同步码元,或者响应可能丢失。这样,发送方再次发送同步码元(800)。但是,如果及时接到了响应,则确定响应中的同步标志是否设定为真(804)。如果同步标志没有设定为真,这指示接收方没有正确接收同步码元。这样,同步码元被再次发送(800)。但是,如果同步标志被设定为真,则确定远端接收方已经正确地接收了同步码元。此时,链路被初始化,信元可以在双向连接的两个方向上传送。发送方接着设定它的内部状态为真(806)。该内部状态指示发送方是否正在从接收方接收正确形成的信元。当发送方准备发送下一个信元时,包含在下一信元信头中的同步标志被设置为与发送方内部状态相同的值(808)。在这种情况下,同步标志通知远端接收机正在从远端接收正确形成的信元,这样建立了双向连接。接着通过链路信元被发送到接收方(810)。
图9是说明在一个实施例中当在结构接入节点检测到出口链路出故障时该结构接入节点的操作的流程图。在这个实例中,和出口链路例如图7中的链路710相关的问题由结构接入节点例如图7中的706来检测(800)。有各种方法可检测链路问题。在一些实施例中,根据一系列编码标准例如8B/10B对数据信元进行编码,每个数据信元包括用于错误检测的循环冗余校验和(CRC)。如果信元是通过有问题的链路传送的,很有可能检测到错误。通过基于接收的信元数据执行计算,结构接入节点可以检测错误并确定是否有链路故障。如果节点停止接收正确的8B/10B的空闲信号,也可能在结构接入节点检测到问题。当检测出任何链路问题,结构接入节点设置它的内部状态为假(902)。当下一个信元准备在入口链路向交换机平台发送时,它的同步标志根据内部状态来设置(904)。接着信元被发送到交换机平台(906)。当信元由交换机平台接收并检测到同步标志时,出口链路由交换机平台标记为不可用,反压信息被发送到其它的结构接入节点以阻止它们通过这条链路向这个目的地发送更多的数据(908)。数据仍可以被发送到其它可用的端口和/或链路。
图10是说明当由远端结构接入节点检测到出口链路出故障时交换机平台实施例的操作的流程图。交换机平台接收信元(1000),确定它的同步链路是否被设置为假(1002)。如果信元中的同步标志没有被设置为假,这指示结构接入节点在出口链路上没有检测出任何问题。交换机结构接着转发该信元,并等待更多要到达的信元(1004)。但是,如果同步标志被确定为假,它指示出口链路不可用(1006)。相应地,交换机平台将它的内部状态从真转变为假(1008)。反压信息接着被提供给与不可用出口链路相关的源(1010)。反压信息向源指示与出口链路相关的链路不可用,源会停止通过该交换平台向与该链路相关的端口发送数据。保留在与该链路相关的出口链路或缓冲器中的信元被丢弃(1012)。
图11是说明当由交换机平台检测到入口链路出故障时该交换机平台实施例的操作的流程图。在这个实例中,检测到入口链路上有问题(1100)。该问题可以通过,例如,检测同步的丢失或检测在与该入口链路相关的出口链路上接收到的信元中的CRC错误而检测出来。用于有故障的入口链路的交换机平台的内部状态标志由真变为假(1102)。当下一信元变为可用来向与出故障的入口链路相关的结构接入节点发送时,该信元的同步标志被设置为假以反映内部状态的变化(1104)。下一个信元经过出口链路被发送到结构接入节点(1106)。反压信息接着被发送到所有其它可能的源,来通知源停止利用这条已变为不可用的链路(1108)。任何保留在这条不可用链路或其相关的缓冲器中的信元被引出(1110)。
图12是说明在一个实施例中当在交换机平台检测到出口链路出故障时结构接入节点的操作的流程图。在这个实例中,结构接入节点在到交换机平台的出口链路上接收信元(1200),并检查信元信头,以确定它的同步标志是否被设置为假(1202)。如果该同步标志不是假,则与接收这个信元的出口链路相关的入口链路运行正常,信元像平常一样发送,结构接入节点等待接收更多的信元(1204)。但是,如果同步标志为假,这指示入口链路不可用(1206)。接着结构接入节点将它的内部状态从真转变为假(1208)。入口链路标记为不可用(1210)。相应地,结构接入节点将停止在标记的入口链路上发送净负荷信元(1212)。
图13是说明在一些实施例中、在结构接入节点上执行以通过交换机结构发送数据的过程的流程图。在这个实例中,数据通过多个到结构上的链路发送到交换机结构,每条链路提供接入到可能被结构接入节点用来向具有到交换机平台的链路的结构接入节点发送数据的交换机平台。
当信元可被发送到交换机结构时,确定从交换机接入节点到交换机结构的链路是否可用(1302)。在一些实施例中,交换机结构是非带状的,结构接入节点根据例如在上文引入作为参考的美国专利申请10/740,720中公开的调度过程调度链路来发送信元。根据这样的调度过程或任何其它合适的选择过程,被检查为可用的链路可以被选择。
如果链路被确定是可用的,则信元通过这条链路被传送(1304)。否则,多条链路中的另一条被检查以确定其是否可用(1306)。如果另一条链路可用,它被用于传送该信元(1304)。但是,如果该链路不可用,重复该过程以确定是否任何一条余下的链路可用(1306),直到找到一条可用链路。任选地,当一条链路被确定为不可用,一个指示可被发送到数据源以阻止还有数据被传送到该不可用的链路。该指示可以是相应出口链路上同步的丢失,或在结构接入节点检测到在出口链路上接收的信元中的错误(如图9中所示的步骤900),或者在出口链路上接收到的信元中检测到被设置为假的同步状态标志(如图12中的步骤1202和1206)。结构接入节点可以继续通过余下的可用链路向交换机结构发送数据。在一个实施例中,这是通过继续调度要通过余下的可用链路发送的信元,而不调度要通过不可用链路发送的信元完成的。以这种方式,单个链路的丢失不会导致和交换机结构相连的任何其它链路的损失,最小化了链路故障对结构接入节点发送数据到与交换结构相关的节点的能力的影响。
在一个实施例中,结构接入节点可以有最多2N条链路连到交换机结构,这里N代表维持线路速率数据流所需要的链路的数目。由于象这里描述这样配置的结构接入节点可使用任意数量的链路,从1到最大值,因此仅仅通过给接入节点提供到交换机结构的N+1到2N条链路(根据想要的冗余水平),可以自动支持从N+1到2N的冗余,而不需要任何软件干预。例如,如果需要8条链路维持线路速率数据流,可以通过提供给结构接入节点到交换机结构的9条链路,根据例如上文描述的调度过程通过所有9条链路发送数据,并在如上所述的9条链路中的一条出故障的情况下自动地通过余下的8条链路继续发送数据来提供N+1冗余。
虽然为了清楚说明起见,对前述的实施例已经以一些细节进行了描述,但本发明不局限于提供的这些细节。有许多可选的方式实现本发明。公开的实施例是示例性的,而不是限制性的。
权利要求
1.一种通过交换机结构传送数据的方法,包括对于每个要进行传送的数据单元,选择从结构接入节点到交换机结构的多条链路中的一条来传送数据单元;在多条链路中的一条或一条以上变为不可用以使一条或一条以上余下的链路保持可用于传送数据的情况下,通过余下的链路中的一条传送随后接收的数据单元。
2.如权利要求1所述的通过交换机结构传送数据的方法,其中数据包括多个信元。
3.如权利要求1所述的通过交换机结构传送数据的方法,其中数据包括多个非带状信元。
4.如权利要求1所述的通过交换机结构传送数据的方法,其中交换机结构包括多个交换机平台。
5.如权利要求1所述的通过交换机结构传送数据的方法,其中第一链路是双向连接的一部分。
6.如权利要求1所述的通过交换机结构传送数据的方法,其中第一链路是包括入口链路和出口链路的双向连接的一部分。
7.如权利要求1所述的通过交换机结构传送数据的方法,进一步包括接收多条链路中的一条已变为不可用的指示。
8.如权利要求7所述的通过交换机结构传送数据的方法,其中接收多条链路中的一条已变为不可用的指示包括在与多条链路中的一条相关的出口链路上从交换机结构接收信元,该信元包含指示多条链路中的一条已出故障的数据。
9.如权利要求7所述的通过交换机结构传送数据的方法,其中接收多条链路中的一条已变为不可用的指示包括在与多条链路中的一条相关的出口链路上从交换机结构接收信元,该信元包含指示多条链路中的一条已出故障的同步标志。
10.如权利要求7所述的通过交换机结构传送数据的方法,其中接收多条键路中的一条已变为不可用的指示包括在与多条链路中的一条相关的出口链路上从交换机结构接收信元,该信元包含指示与多条链路中的一条相关的所述出口链路已出故障的同步标志。
11.如权利要求7所述的通过交换机结构传送数据的方法,其中接收多条链路中的一条已变为不可用的指示包括在与多条链路中的一条相关的出口链路上从交换机结构接收信元,在该信元中检测出错误。
12.如权利要求7所述的通过交换机结构传送数据的方法,其中接收多条链路中的一条已变为不可用的指示包括在与多条链路中的一条相关的出口链路上从交换机结构接收信元,在该信元中通过对信元执行循环冗余校验检测出错误。
13.如权利要求7所述的通过交换机结构传送数据的方法,其中接收多条链路中的一条已变为不可用的指示包括检查关于与多条链路中的一条相关的出口链路的同步丢失。
14.如权利要求7所述的通过交换机结构传送数据的方法,其中接收多条链路中的一条已变为不可用的指示包括在与多条链路中的一条相关的出口链路上接收反压信息。
15.如权利要求1所述的通过交换机结构传送数据的方法,进一步包括向交换机结构发送指示符,其中该指示符指示多条链路中的一条不可用。
16.如权利要求1所述的通过交换机结构传送数据的方法,进一步包括向数据源发送反压信息,其中该反压信息指示多条链路中的一条不可用,以及数据源应阻止更多数据传送到该不可用的链路。
17.如权利要求1所述的通过交换机结构传送数据的方法,在多条链路中的一条或一条以上变为不可用的情况下,进一步包括停止向一条或一条以上不可用的链路发送数据。
18.如权利要求1所述的通过交换机结构传送数据的方法,其中多条链路中的每一条都连接在结构接入节点和交换机结构之间。
19.如权利要求1所述的通过交换机结构传送数据的方法,进一步包括在余下链路中的一条或一条以上变为不可用以使一条或一条以上仍余下链路保持可用于传送数据的情况下,通过仍余下链路中的一条传送另一个随后接收的数据单元。
20.一种网络结构接入设备,包括耦合到交换机结构和结构接入节点的多条链路,其中对于每个待传送的数据单元,选择多条链路中的一条传送该数据单元;在多条链路中的一条或一条以上变为不可用以使一条或一条以上余下链路保持可用于传送数据的情况下,通过余下链路中的一条传送随后接收的数据单元。
21.一种用于控制注册重叠的计算机程序产品,该计算机程序产品体现在计算机可读介质上,且包括用于以下的计算机指令对于每个待传送的数据单元,选择从结构接入节点到交换机结构的多条链路中的一条传送该数据单元;在多条链路中的一条或一条以上变为不可用以使一条或一条以上余下链路保持可用于传送数据的情况下,通过余下链路中的一条传送随后接收的数据单元。
全文摘要
通过交换机结构传送数据包括对于每个要进行传送的数据单元,选择从结构接入节点到交换机结构的多条链路中的一条传送数据单元;以及在多条链路中的一条或一条以上变为不可用以使一条或一条以上余下链路保持可用于传送数据的情况下,通过余下链路中的一条传送随后接收的数据单元。
文档编号H04L12/56GK1571417SQ20041006393
公开日2005年1月26日 申请日期2004年4月26日 优先权日2003年4月25日
发明者N·威尔海特, M·诺尔, R·S·马丁, A·达格尔, C·林德伯格, T·C·琼斯, S·科米蒂 申请人:阿尔卡特Ip网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1