Patent ID: 7787359

Claim:
A method for data forwarding in label switching networks, comprising: at a source node, distributing and mapping all the data packets forming an original data flow to be forwarded to multiple Label Switching Paths (LSPs) for forwarding, inserting a detection message into the original data flow to be forwarded according to a set period, and when information of an invalid LSP is received from a destination node, stop distributing the data packets to the invalid LSP; at the destination node, receiving the detection message from each of the LSPs according to the set period, when the detection message is found lost, deciding that the LSP becomes invalid, sending the information of the invalid LSP to the source node, stopping receiving the data packets from the invalid LSP, and merging the data packets received from all the LSPs into the same data flow as the original data flow forwarded; at the source node, adding a sequence number to each data packet forming the original data flow to be forwarded according to the forwarding order before mapping the data packets to the LSPs, wherein merging the data packets comprises, merging the data packets received from the LSPs in the order of the sequence numbers, removing the sequence numbers of the merged data packets, and obtaining the same data flow as the original one to be forwarded, wherein adding the sequence number comprises the sequence number to be added to the data packet being increased according to the transmitting order; and when the sequence number of the data packet to be merged into the data flow is a variable and when the initial value of the variable is the starting value of the sequence numbers added to the data packets to be forwarded at the source node, implementing the data packet receiving and merging the received data packets by b1) deciding whether there is a sequence number equal to the value of the variable among the sequence numbers of the data packets outputted from the LSPs through a Round Robin mode of all the valid LSPs, if yes, proceeding to b2; otherwise, proceeding to b3; b2) merging the data packet corresponding to the sequence number to a data packet sequence, increasing the variable by one, and proceeding to b1; b3) deciding whether there is, among all the valid LSPs in the Round Robin mode, an LSP that outputs no data packets, if there is, proceeding to b1; otherwise, proceeding to b4; and b4) merging the data packet that has the minimum sequence number among the data packets outputted from all the valid LSPs in the Round Robin mode to the data packet sequence, making the variable equal to the minimum sequence number plus one, and then proceeding to b1.