System and method for traversing ATM networks based on forward and reverse virtual connection labels
First Claim
1. A switch based label swapping communication network, comprising:
- a set of interconnected hosts and switch based label swapping communication nodes, where each said communication node is connected to at least one other of said communication nodes by input links and output links and each of said hosts are attached to at least one of said communication nodes by input links and output links;
each said communication node further including a switching apparatus that, when it receives a digital message at one of its input links, sends the message over a programmable set of its output links selected in accordance with said one input link'"'"'s identity and an input label contained in the received message, and prior to sending said message over each output line in said set of output links, replaces said input label in said received message with a programmable output label selected in accordance with said one input link'"'"'s identity, said input label and the identity of the output link on which the message is being sent;
said network including at least one a virtual connection between hosts coupled to distinct ones of said nodes in said network, said virtual connection including a tree of data channel segments on a plurality of said links that interconnect a tree of said nodes in said network;
each of said control processors at said tree of said nodes including a message generation procedure, executed by each of said control processors, for generating a virtual connection traversal message that includes (1) a message header having an input label that identifies a first control channel connecting said control processor to the control processor another one of said nodes, and (2) a data portion that identifies a data channel segment in one of said virtual connections;
each of said control processors at said tree of said nodes further including a virtual connection traversal procedure, executed by each of said control processors, for collectively transmitting said virtual connection traversal message over a sequence of control channels to the control processors at a sequence of nodes along said virtual connection, wherein each of said control channels is topologically parallel to one of the data channel segments in said one virtual connection; and
each of said control processors including a communication port for sending and receiving messages including said virtual connection traversal message; and
said virtual connection traversal procedure including instructions for parsing said virtual connection traversal header in each virtual connection traversal message received by the control processors executing said virtual connection traversal procedure to identify a next data channel segment, if any, along said virtual connection and to identify a control channel topologically parallel to said identified next data channel segment, and for then retransmitting said received virtual connection traversal message along said identified control channel to the control processor of a next node along said virtual connection.
4 Assignments
0 Petitions
Accused Products
Abstract
In a communication network having a set of hosts and switch based label swapping communication nodes, each node has a control processor that is also a host that sends and receives messages via the switching apparatus in its associated node. Each node'"'"'s control processor also includes a virtual connection (VC) traversal procedure that implements the methodology of the present invention. The control processor of any node along an established connection can initiate the transmission of a VC traversal message to the control processors of all the nodes along the connection. The VC traversal message is transmitted as one or more ATM cells, where each cell includes a standard ATM header for routing the cell to a neighboring node'"'"'s control processor, as well as a VC traversal header in the body of the cell that identifies the connection being traversed. When a node receives a VC traversal message with a VC traversal header in it, the virtual connection traversal procedure in the receiving node processes that message by (A) performing whatever command is indicated in the VC traversal header, (B) routing a copy of the VC traversal message to the control processor of each node to which a data cell on the connection being traversed would be sent, and (C) performing a VC traversal header swapping operation on each such copy of the VC traversal message so that the VC traversal header in each forwarded VC traversal message identifies the segment of the connection being traversed by the control message.
63 Citations
21 Claims
-
1. A switch based label swapping communication network, comprising:
-
a set of interconnected hosts and switch based label swapping communication nodes, where each said communication node is connected to at least one other of said communication nodes by input links and output links and each of said hosts are attached to at least one of said communication nodes by input links and output links; each said communication node further including a switching apparatus that, when it receives a digital message at one of its input links, sends the message over a programmable set of its output links selected in accordance with said one input link'"'"'s identity and an input label contained in the received message, and prior to sending said message over each output line in said set of output links, replaces said input label in said received message with a programmable output label selected in accordance with said one input link'"'"'s identity, said input label and the identity of the output link on which the message is being sent; said network including at least one a virtual connection between hosts coupled to distinct ones of said nodes in said network, said virtual connection including a tree of data channel segments on a plurality of said links that interconnect a tree of said nodes in said network; each of said control processors at said tree of said nodes including a message generation procedure, executed by each of said control processors, for generating a virtual connection traversal message that includes (1) a message header having an input label that identifies a first control channel connecting said control processor to the control processor another one of said nodes, and (2) a data portion that identifies a data channel segment in one of said virtual connections; each of said control processors at said tree of said nodes further including a virtual connection traversal procedure, executed by each of said control processors, for collectively transmitting said virtual connection traversal message over a sequence of control channels to the control processors at a sequence of nodes along said virtual connection, wherein each of said control channels is topologically parallel to one of the data channel segments in said one virtual connection; and each of said control processors including a communication port for sending and receiving messages including said virtual connection traversal message; and said virtual connection traversal procedure including instructions for parsing said virtual connection traversal header in each virtual connection traversal message received by the control processors executing said virtual connection traversal procedure to identify a next data channel segment, if any, along said virtual connection and to identify a control channel topologically parallel to said identified next data channel segment, and for then retransmitting said received virtual connection traversal message along said identified control channel to the control processor of a next node along said virtual connection. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of sending messages in a switch based label swapping communication network of hosts and communication nodes, where each said communication node is connected to at least one other of said communication nodes by input links and output links and each of said hosts are attached to at least one of said communication nodes by input links and output links;
-
each said communication node further including a switching apparatus that, when it receives a digital message at one of its input links, sends the message over a programmable set of its output links selected in accordance with said one input link'"'"'s identity and an input label contained in the received message, and prior to sending said message over each output line in said set of output links, replaces said input label in said received message with a programmable output label selected in accordance with said one input link'"'"'s identity, said input label and the identity of the output link on which the message is being sent; said network including at least one a multicast virtual connection between a source host and a tree of destination hosts in said network, said virtual connection including a tree of interconnected data channel segments on a plurality of said links that interconnect a tree of said nodes in said network; said method comprising the steps of; (A) at the control processor of one of said nodes,, generating a virtual connection traversal message that includes (1) a message header having an input label that identifies a first control channel connecting said control processor to the control processor another one of said nodes, and (2) a data portion that identifies a data channel segment in one of said virtual connections; (B) transmitting said virtual connection traversal message over a tree of control channels to the control processors at a tree of nodes along said virtual connection, wherein each of said control channels is topologically parallel to one of the data channel segments in said one virtual connection; and (C) at each of said control processors in said sequence of nodes, receiving said virtual connection traversal message, parsing said data portion of said virtual connection traversal message to identify one or more next data channel segments, if any, along said virtual connection and to identify a control channel topologically parallel to each said identified next data channel segment, and then retransmitting said virtual connection traversal message along each said identified control channel to the control processor of another node along said virtual connection. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method of sending messages in a switch based label swapping communication network of hosts and communication nodes, where each said communication node is connected to at least one other of said communication nodes by input links and output links and each of said hosts are attached to at least one of said communication nodes by input links and output links;
-
each said communication node further including a switching apparatus that, when it receives a digital message at one of its input links, sends the message over a programmable set of its output links selected in accordance with said one input link'"'"'s identity and an input label contained in the received message, and prior to sending said message over each output line in said set of output links, replaces said input label in said received message with a programmable output label selected in accordance with said one input link'"'"'s identity, said input label and the identity of the output link on which the message is being sent; said network including at least one a unicast virtual connection between two hosts coupled to two distinct ones of said nodes in said network, said virtual connection including a sequence of data channel segments on a plurality of said links that interconnect a plurality of said nodes in said network; said method comprising the steps of; (A) at the control processor of one of said nodes, generating a virtual connection traversal message that includes (1) a message header having an input label that identifies a first control channel connecting said control processor to the control processor another one of said nodes, and (2) a data portion that identifies a data channel segment in one of said virtual connections; (B) transmitting said virtual connection traversal message over a sequence of control channels to the control processors at a sequence of nodes along said virtual connection, wherein each of said control channels is topologically parallel to one of the data channel segments in said one virtual connection; and (C) at each of said control processors in said sequence of nodes, receiving said virtual connection traversal message, parsing said data portion of said virtual connection traversal message to identify a next data channel segment, if any, along said virtual connection and to identify a control channel topologically parallel to said identified next data channel segment, and then retransmitting said virtual connection traversal message along said identified control channel to the control processor of another node along said virtual connection. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification