This invention relates to inter-network communications, and more particularly relates to fault-tolerant communications between networks.
The SONET standard provides for inter-working between ring networks. The SONET ring inter-working has two versions: (1) drop and continue and (2) dual transmit. SONET ring inter-working was not designed with mesh networks in mind, and therefore cannot be employed “as-is” to mesh networks. SONET ring inter-working must be substantially modified in order to provide resilience to mesh-to-mesh or mesh-to-ring or ring-to-mesh communications.
Ring-based networks in general do not consist of just one ring, but contain multiple rings. Mesh networks, on the other hand, typically are addressed as one large mesh, even though the mesh in fact comprises multiple meshes. If the mesh is perceived as one large mesh, then there is no need for mesh inter-working. Contrary to this conventional wisdom about mesh networks, the applicants have discovered that mesh inter-working is an important aspect of mesh networks. Mesh inter-working is needed for at least three reasons:
(1) Networks owned by different companies need to communicate with each other, while remaining separate entities, to avoid visibility into each other's internal workings and to avoid faults in one network from affecting another network.
(2) Sub-networks resulting from the break up of one large network to facilitate management also need to communicate with each other.
(3) As network managers migrate from ring networks to mesh networks, there will be a need to inter-work the resulting mesh networks.
None of the foregoing problems is subject to an obvious solution. The present invention addresses these problems and provides a solution.
A preferred apparatus embodiment is useful in a communication system comprising a first network including a source arranged to transmit data and a second network including a destination arranged to receive the data. At least one of the first network and the second network is a mesh network. In such an environment, interruptions in communication between the source and destination can be reduced by providing a first primary node and a first secondary node in the first network. A second primary node and a second secondary node are provided in the second network. A first set of primary routes are provided within the first network and are arranged to facilitate delivery of a first set of the data to the first primary node and a second set of the data to the first secondary node. Inter-network routes between the first and second networks are arranged to deliver the first and second sets of the data to the second primary node and the second secondary node. A second set of primary routes within the second network are arranged to facilitate delivery of at least one of the first and second sets of data to the destination node. A selector within the second network is arranged to select one of the first and second sets of data. A first secondary route is located within the first network between the source and the first secondary node. A first route selector is arranged to select the first secondary route in the event that a primary route within the first set of primary routes is disabled. A second secondary route within the second network is located between the second secondary node and the destination. A second route selector is arranged to select the second secondary route in the event that a primary route within the second set of primary routes is disabled.
A preferred method embodiment of the invention is useful in a communication system comprising a first network including a source arranged to transmit data and a second network including a destination arranged to receive the data. At least one of the first network and the second network is a mesh network. The system also comprises a first primary node in the first network, a first secondary node in the first network, a second primary node in the second network, a second secondary node in the second network, a first set of primary routes within the first network, a second set of primary routes within the second network, a first secondary route within the first network between the source and the first secondary node, and a second secondary route within the second network between the second secondary node and the destination. In such a system, interruptions in communication between the source and destination can be reduced by generating a first set of the data and a second set of the data. The first set of the data is delivered to the first primary node, and the second set of the data is delivered to the first secondary node. The first and second sets of the data are delivered to the second primary node and the second secondary node. At least one of the first and second sets of data are delivered to the destination node. One of the first and second sets of data is selected, and the first set of data is delivered to the first secondary node over the first secondary route in the event that a primary route within the first set of primary routes is disabled. At least one of the first and second sets of data is delivered to the destination over the second secondary route in the second network in the event that a primary route within the second set of primary routes is disabled.
By using the foregoing techniques, communications may be transmitted between networks involving at least one mesh network with a degree of accuracy and reliability previously unattainable.
Referring to
Network 10 includes a source node 11, a primary node 12 and a secondary node 13, which are connected to one another by communication links or routes (e.g., fiber, wireless links or routes). For example, a set of primary routes 14, including primary routes 15 and 16, links source node 11, primary node 12 and secondary node 13 as shown. A secondary route 18 may link source node 11 with secondary node 13. In all embodiments, a primary route is disjoint from its corresponding secondary route. Otherwise, if the primary and secondary routes intersect, a failure at the intersection point(s) would be a single failure that would disable both routes, defeating one purpose of the embodiments.
Network 30 includes a destination node 31, a primary node 32 and a secondary node 33, which are connected to one another by communication links or routes (e.g., fiber, wireless links or routes). For example, a set of primary routes 34, including primary routes 35 and 36, links destination node 31, primary node 32 and secondary node 33 as shown.
The topology of each network may be a ring or an arbitrary mesh. Traffic may be intra-network, i.e., staying entirely within network 10 or entirely within network 30, or it may be inter-network, i.e., originating in network 10 and terminating in network 30 (or vice versa). For inter-network traffic that needs to be transmitted with high reliability, it is important that the transition between networks 10 and 30 be effected in a way that has no single point of failure. In the case where networks 10 and 30 are both SONET rings, standard ring inter-working methods have been developed (see the ANSI standard T1.105.01-1998, SONET Automatic Protection Switching). The embodiment of
In the example of
In each network, two nodes are selected to be dual-homing nodes. One dual-homing node is designated to be the primary node (i.e., nodes 12 and 32) and the other is designated to be the secondary node (i.e., nodes 13 and 33). In each node, a network element, such as a cross-connect, is configured to perform various functions that will be described.
Still referring to
During normal operation, secondary node 33 in network 30 sends one set of the data to primary node 32 in network 30. Primary node 32 then performs a service selection (SS) function 40: node 32 chooses one of the two incoming sets of data (i.e., the data from secondary node 33 in network 30 or the set of data coming directly from secondary node 13). Primary node 32 then forwards the chosen data set to destination node 31.
The
Referring to
Network 110 includes a source node 111, a primary node 112 and a secondary node 113, which are connected to one another by communication links or routes (e.g., fiber, wireless links or routes). For example, a set of primary routes 114, including primary routes 115-116, links source node 111, primary node 112 and secondary node 113 as shown. A secondary route 118 links source node 111 with secondary node 113, and a secondary route 118A links primary node 112 with secondary node 113.
Network 130 includes a destination node 131, a primary node 132 and a secondary node 133, which are connected to one another by communication links or routes (e.g., fiber, wireless links or routes). For example, a set of primary routes 134, including primary routes 135-136, links destination node 131, primary node 132 and secondary node 133 as shown. Secondary routes 137-138 also are provided.
The topology of each network 110 and 130 may be a ring or an arbitrary mesh. Traffic may be intra-network, i.e., staying entirely within network 110 or entirely within network 130, or it may be inter-network, i.e., originating in network 110 and terminating in network 130 (or vice versa). The embodiment of
In the example of
In each network, two nodes are selected to be dual-homing nodes. One dual-homing node is designated to be the primary node (i.e., nodes 112 and 132) and the other is designated to be the secondary node (i.e., nodes 113 and 133). In each node, a network element, such as a cross-connect, is configured to perform various functions that will be described.
Still referring to
During normal operation, secondary node 133 in network 130 sends the second set of the data to primary node 132 in network 130 via route 136. Primary node 132 then performs a service selection (SS) function 140: node 132 chooses one of the two incoming sets of data (i.e., the data from secondary node 133 in network 130 or the set of data from primary node 112). Primary node 132 then forwards the chosen data set to destination node 131.
The
One exemplary failure is shown in
If primary node 112 fails, then secondary node 113 detects the failure and informs source 111. Source 111 sends its data along route 118 and secondary node 113 now stops receiving data from route 116 and switches over to receive data from route 118.
If secondary node 113 in network 110 fails, source node 111 and primary node 112 in network 110 continue to operate normally, and node 112 drops the first set of data across route 122 as before. If any node or link between the primary and secondary nodes in network 110 fails, then secondary node 113 detects the failure and notifies primary node 112, which switches its second set of data traffic from route 116 to secondary routes 118B and 118. Secondary node 113 switches over to receiving data from route 118 and sends this traffic to secondary node 133 over route 123 as before. If one of the links or routes between the two networks fails, the nodes in network 110 continue to act normally; however, if primary node 132 in network 130 was selecting the data set coming directly from network 110 and this data is lost, primary node 132 switches over to selecting the data set from secondary node 133. Similarly, if secondary node 133 in network 130 loses its data set from network 110, node 133 stops sending data traffic to primary node 132. If secondary node 133 in network 130 fails, then all the remaining nodes will continue to act as they would under normal operation, except that if primary node 132 in network 130 was selecting the data set coming from secondary node 133 in network 130, node 132 will switch over to the data set received directly from network 110. If any node or link between the primary and secondary nodes in network 130 fails, then primary node 132 detects the failure and notifies secondary node 133, which switches its data traffic from route 136 to secondary routes 138 and 138B. Primary node 132 switches over to receiving data from route 138B instead of route 136 and performs its service selection function on the data traffic on route 122 and the data traffic on route 138B.
If there is a failure between primary node 132 in network 130 and destination node 131 (as indicated by the X across route 135 in
Still referring to
Referring to
Network 210 may include a source node 211, a primary node 212 and a secondary node 213, which are connected to one another by communication links or routes (e.g., fiber, wireless links or routes). For example, a set of primary routes 214, including primary routes 215-216, links source node 211, primary node 212 and secondary node 213 as shown. Secondary routes 218-219 link source node 211 with primary node 212 and secondary node 213 as shown.
Network 230 includes a destination node 231, a primary node 232 and a secondary node 233, which are connected to one another by communication links or routes (e.g., fiber, wireless links or routes). For example, a set of primary routes 234, including primary routes 235-236, links destination node 231, primary node 232 and secondary node 233 as shown.
The topology of each network 210 and 230 may be a ring or an arbitrary mesh. Traffic may be intra-network, i.e., staying entirely within network 210 or entirely within network 230, or it may be inter-network, i.e., originating in network 210 and terminating in network 230 (or vice versa). The embodiment of
In the example of
In each network, two nodes are selected to be dual-homing nodes. One dual-homing node is designated to be the primary node (i.e., nodes 212 and 232) and the other is designated to be the secondary node (i.e., nodes 213 and 233). In each node, a network element, such as a cross-connect, is configured to perform various functions that will be described.
Still referring to
During normal operation, secondary node 233 in network 230 sends the second set of the data to destination node 231 over route 236, and primary node 232 sends the first set of the data to destination node 231 over route 235. Destination node 231 then performs a service selection (SS) function: node 231 chooses one of the two incoming sets of data (i.e., the set of data from secondary node 233 in network 230 or the set of data from primary node 232.
The
If there is a failure between source 211 and primary node 212 in network 210, primary node 212 uses a detector function to detect the failure and notify source node 211, which uses a selector function to switch the first set of data traffic to an alternate (protection) path 218. If there is a failure between source 211 and secondary node 213 in network 210, secondary node 213 uses a detector function to detect the failure and notify source node 211, which uses a selector function to switch the second set of data traffic to an alternate (protection) path 219. In either case, two sets of data continue to be received at nodes 212 and 213.
If secondary node 213 in network 210 fails, source node 211 and primary node 212 in network 210 continue to operate normally. If one of the links or routes between the two networks fails, the nodes in network 210 continue to act normally, and data is delivered to network 230 over the unaffected route. If secondary node 233 in network 230 fails, the first set of data is still delivered to destination node 231 over route 235. If primary node 232 fails, the second set of data is still delivered to destination node 231 over route 236. If there is a failure between primary node 232 in network 230 and destination node 231, then destination node 231 detects the failure and informs primary node 232. Primary node 232 and destination node 231 then re-establish communication along route 239. If there is a failure between secondary node 233 in network 230 and destination node 231, then destination node 231 detects the failure and informs secondary node 233. Secondary node 233 and destination node 231 then re-establish communication along route 238. As may be seen from
While the invention has been described with reference to one or more preferred embodiments, those skilled in the art will understand that changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular step, structure, or material to the teachings of the invention without departing from its cope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiment falling within the scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
3763320 | Chambers, Jr. | Oct 1973 | A |
5179548 | Sandesera | Jan 1993 | A |
5218604 | Sosnosky | Jun 1993 | A |
5327427 | Sandesera | Jul 1994 | A |
5390164 | Kremer | Feb 1995 | A |
5394389 | Kremer | Feb 1995 | A |
5406549 | Kremer | Apr 1995 | A |
5440540 | Kremer | Aug 1995 | A |
5544151 | Baek et al. | Aug 1996 | A |
5838924 | Anderson et al. | Nov 1998 | A |
5896474 | Van Deventer et al. | Apr 1999 | A |
5901328 | Ooe | May 1999 | A |
6011780 | Vaman et al. | Jan 2000 | A |
6370110 | Eslambolchi | Apr 2002 | B1 |
6556541 | Bare | Apr 2003 | B1 |
6628649 | Raj et al. | Sep 2003 | B1 |
6658457 | Nishikawa et al. | Dec 2003 | B2 |
6829216 | Nakata | Dec 2004 | B1 |
6831898 | Edsall et al. | Dec 2004 | B1 |
6848006 | Hermann | Jan 2005 | B1 |
6934248 | DeBoer et al. | Aug 2005 | B1 |
6947374 | Sasaki et al. | Sep 2005 | B2 |
6990068 | Saleh et al. | Jan 2006 | B1 |
7113699 | Bhate et al. | Sep 2006 | B1 |
20020012318 | Moriya et al. | Jan 2002 | A1 |
20020167900 | Mark et al. | Nov 2002 | A1 |
20030018812 | Lakshminarayana et al. | Jan 2003 | A1 |
20030021222 | Boer et al. | Jan 2003 | A1 |
20030031123 | Gilmour et al. | Feb 2003 | A1 |
Number | Date | Country | |
---|---|---|---|
20030031124 A1 | Feb 2003 | US |