Abstract:
Redundancy, expanded switching capacity and fault isolation arrangements for use with an expandable telecommunications system. An inter-nodal network connects a plurality of programmable switching nodes or other nodes. One or more additional inter-nodal networks may be provided across some or all of the ones. The bandwidth provided by the additional network(s) may be used to provide redundancy against failure of the primary network or the nodes, increased switching capacity or a combination of both. In addition, faults which occur either within a particular node or within an inter-nodal network may be effectively isolated and prevented from degrading system performance.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS AND PATENTS 
     The following commonly-owned patents are related to the present invention and are hereby incorporated by reference: 
     U.S. Pat. No. 5,544,163, entitled &#34;Expandable Telecommunications System,&#34; naming as inventor Robert P. Madonna; and 
     U.S. Pat. No. 5,349,579, entitled &#34;Telecommunication Switch With Programmable Communications Services,&#34; naming as inventors Robert P. Madonna and Kevin C. Kicklighter. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This present invention relates generally to the field of telecommunications and, more specifically, to arrangements for providing redundancy, expanded switching capacity and fault isolation in an expandable telecommunications system. 
     2. Discussion of the Related Art 
     In most telecommunications systems, it is highly desirable, if not necessary, to provide some measure of redundancy with respect to some or all parts of the system. Such redundancy is needed to ensure that the system will continue to operate, preferably with no degradation of performance, in the event that a particular subsystem or component malfunctions or must be taken out of service. 
     Redundancy may be provided in a number of ways, the choice of which typically depends upon the cost, the importance of a particular device to overall system performance, the degree of difficulty of replacing the device and other factors. One type of redundancy, often referred to as &#34;one-to-one&#34; redundancy, is based on the concept that each &#34;active&#34; device is matched or paired with an identical &#34;standby&#34; device. In the event that the active device fails, a &#34;cutover&#34; occurs in which the standby device functionally replaces the failed device. 
     A major disadvantage of conventional one-to-one redundancy is that, at the time of cutover, the original active device and the standby device are in non-identical operating states. Any difference between those operating states will generally result in interruption or loss of service, which may be manifested in the form of dropped calls, calls which fail to connect, and the like. Such degraded performance is generally unacceptable to service providers and customers, at least to the extent that it affects more than a very small percentage of the total call traffic for a very short period of time. 
     One alternative to the one-to-one redundancy approach is to provide a limited number of standby components which are available to replace some, but not all, of a larger number of active components. This approach is often referred to as &#34;n+1&#34; redundancy where n refers to the number of active components. While the n+1 approach is less costly than the one-to-one approach, there is correspondingly less protection against degraded system performance. That is, in the event that several active devices fail at about the same time and that number exceeds the number of available standby devices, then some loss of service or degradation of performance will occur. 
     Another disadvantage of the n+1 approach is that because it is not known in advance which one of several active devices may fail, there is no way to maintain a particular standby device in an operating state which matches that of the device which is to be replaced. Consequently, in the n+1 redundancy approach, there is a high likelihood that service will be disrupted during cutover from a failed device to a standby device. 
     SUMMARY OF THE INVENTION 
     In brief summary, the present invention provides redundancy and fault isolation arrangements for use with an expandable telecommunications system. In a preferred embodiment, the invention is implemented in a system which includes a plurality of programmable switching nodes or other types of nodes, all of which are interconnected by a plurality of fiber optic rings, and a host computer or other device which controls the operations of the system. Each ring is capable of carrying packetized information among all of the nodes which are served by that particular ring. Each node includes at least one nodal switch which functions, in part, as an interface with a single ring. A particular node may include multiple nodal switches to enable it to interface with a corresponding number of rings. 
     In accordance with one aspect of the invention, a first level of redundancy is provided, with respect to the rings and the nodal switches, by employing a second ring to serve some or all of the nodes of the system. As part of a configuration procedure, each of the nodal switches is assigned a logical identifier which uniquely identifies a given node throughout the entire system. Each node is also configured to operate in either a transmit/receive mode or a receive only mode with respect to each ring that serves the node. By configuring two nodal switches located within the same node, but interfaced to different rings, to operate in transmit/receive mode, all of the pulse code modulated (PCM) information originating from that node will be transmitted on each ring. Thus, in the event that one of the rings fails, all PCM information necessary for inter-nodal connections is available on the remaining ring and the system will continue to operate. A third or any number n of additional rings, along with corresponding nodal switches in the desired nodes, may be added to provide multiple levels of redundancy, if desired. Thus, this overall arrangement may be said to provide &#34;1 to n+1&#34; levels of redundancy. 
     In addition, the second ring (or any other ring) may be arranged so that it serves some, but not all of the nodes, in the system. Such an arrangement is advantageous for particular applications in which certain nodes are deemed non-essential and are therefore not provided with redundancy. In effect, this arrangement allows the bandwidth of the second (redundant) ring to be allocated among only those nodes whose functions are deemed critical to system performance. 
     In accordance with another aspect of the invention, the bandwidth provided by the addition of a second or greater number of rings (and corresponding nodal switches) may be used, in whole or in part, to increase the system&#39;s switching capacity, as opposed to providing redundancy as just described. In such an arrangement, different groups of nodes are configured to operate in transmit/receive mode with respect to different rings, each node operating in receive only mode with respect to all rings except for the ones on which it transmits. As a result, the switching capacity of the system may be increased as a function of the number of rings used multiplied by the switching capacity of the system when using a single ring. If desired, a portion of the bandwidth of a particular ring may be used for expanded switching capacity, while the remaining portion is used to provide redundancy to selected nodes. 
     In accordance with yet another aspect of the invention, a fault within a particular node or a portion of a ring may be isolated and prevented from degrading system performance. This is accomplished by providing each nodal switch with a special mode of operation referred to as a loopback mode. In the event of a failure of either a node or a portion of a ring, the loopback mode of operation may be invoked to maintain connections among the remainder of the system. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The above and further advantages of the invention may be better understood by referring to the following description in conjunction with the accompanying drawings in which: 
     FIG. 1 is a block diagram of an expandable telecommunications system which employs a single ring inter-nodal network to transfer information among programmable switching nodes, all of which is constructed in accordance with a preferred embodiment of the present invention; 
     FIG. 2 is a block diagram of one type of programmable switching node which may be used in the system of FIG. 1; 
     FIGS. 3A and 3B are block diagrams which illustrates a node&#39;s normal mode of operation and a loopback mode of operation; 
     FIG. 4 is a message flow diagram which illustrates certain aspects of the process of configuring a node which may be used in the system of FIG. 1; 
     FIG. 5 is a message flow diagram which illustrates the set up an inter-nodal connection, with redundancy, using the node of FIG. 2; 
     FIG. 6 is a block diagram which illustrates the communication paths and operating modes of a single ring system following a failure of one segment of the ring, 
     FIG. 7 is a block diagram which illustrates the communication paths and operating modes of a single ring system following a failure within a node; and 
     FIG. 8 is a block diagram which illustrates the communication paths and operating modes of a two ring system following a failure within a node. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1 shows a large capacity, expandable, fully programmable telecommunications switching system 2. Details of the construction and operation of system 2 may be found in U.S. Pat. Nos. 5,544,163 and 5,349,579, both of which are assigned to the assignee of the present invention. To aid in understanding the present invention, certain aspects of system 2 are discussed here. 
     System 2 includes a host 4 and four programmable switching nodes 6a-6d. It should be understood that a larger or smaller number of switching nodes and other types of non-switching (e.g., voice processing or communications services) nodes may be used in essentially any combination in system 2. Node 6a includes a host interface which is connected in communicating relationship with host 4 by a local area network (LAN) such as Ethernet or other communication link 8. In such a configuration, node 6a may receive messages from host 4 which are intended for one of the other nodes and pass such messages to the appropriate node over an inter-nodal network 12a. Other types of host/node interfaces may be used instead of or in addition to the LAN/link 8. In addition, one or more of the remaining nodes 6b-6d may also be directly connected in communicating relationship with host 4 via LAN/link 8 (not shown). In the absence of a direct link from host 4 to each of nodes 6b-6d, such nodes must be connected in communicating relationship with node 6a is such fashion as to allow messages to be transmitted to and received from host 4. 
     Although only a single host 4 is shown, use of LAN 8 to provide host/node communications permits multiple hosts to control the system 2 (or parts thereof) by configuring each host as a &#34;client&#34; and each node as a &#34;server.&#34; 
     Each of nodes 6a-6d may include connections 10a-10d with the public switched telephone network (PSTN) (not shown) or a private network (not shown). The term &#34;private network&#34; is intended in a broad sense to refer to any network or line or other interface other than the PSTN. Network/line interfaces 10a-10d may terminate either digital networks or analog trunks/lines, or combinations of both types. The network/line interfaces of a given node may include suitable interfaces for performing communications using ATM, Signalling System 7 (SS7), ISDN, T1/robbed bit, E1/CAS or other communication protocols. 
     Nodes 6a-6d are connected together by inter-nodal network 12a which provides for high speed, high bandwidth digital connections among the nodes. Each of nodes 6a-6d includes two ports, denoted A and B, which are physically interfaced with inter-nodal network 12a. Under normal operating conditions, each of nodes 6a-6d receives packetized information (from other nodes) through port A and transmits packetized information to other nodes through port B. 
     Inter-nodal network 12a is preferably implemented using one or more fiber optic rings. Inter-nodal network 12a may also be implemented with any of a variety of other types of communications networks, including wide area networks, wireless communications networks and the PSTN (ATM/SONET). Using the PSTN to implement inter-nodal network 12a permits the nodes to be geographically distributed over large areas. 
     As discussed in detail below, a solid line shown as part of inter-nodal network 12a denotes a communication path which is active during normal operation of system 2. A dashed line shown as part of inter-nodal network 12a denotes a communication path which is inactive during a normal mode of operation, but which may become active following a failure of one of nodes 6a-6d or a portion of inter-nodal network 12. 
     The overall operation of system 2 is controlled by host 4, which is commonly implemented with a personal computer (PC), workstation, fault tolerant or other computer on which a user&#39;s application software runs. Host 4 and each of nodes 6a-6d exchange messages over LAN/link 8. Such messages are typically used to configure the nodes as well as direct call processing functions such as making connections and providing communications services (i.e., tone detection, tone generation and conferencing). 
     FIG. 2 shows the major functional components of a preferred embodiment of one type of programmable switching node 6e which may be used in the system of FIG. 1. Digital or analog network/line interfaces are terminated on a series of line card input/output (IO) cards 20. In a preferred embodiment, network/line interfaces representing a total of 2,048 ports may be terminated by line card IO cards 20. If desired, a redundant line card IO card 22 and redundant IO bus 24 may optionally be provided to permit continued operation of the switching node in the event of a failure of one of line card IO cards 20. 
     A series of digital network T1, E1, J1 or analog trunk/line line cards 26 communicate with line card IO cards 20 over line card (LC) IO lines 28. Line cards 26 are also interfaced with redundant switching buses 30a and 30b. Again, if desired, an optional redundant line card 32 may be provided, which communicates with redundant line card IO card 22 over redundant LC IO lines 34. Other types of network/line interfaces such as DS3, SONET or others may also be provided. 
     Diverse communications services such tone detection and generation, conferencing, voice recorded announcements, call progress analysis, speech recognition, ADPCM compression and many others are provided by one or more multifunction digital signal processing (MFDSP) cards 36. ISDN Primary Rate service and other packet communications services are provided by one or more PRI-32 cards 38. Redundant MFDSP cards 36 and redundant PRI-32 cards 38 may be optionally included. 
     A ring (network) IO card 40a serves as an interface between inter-nodal network 12a and a nodal switch 44a. A second ring (network) IO card 40b serves as an interface between an optional, second inter-nodal network 12b and an optional, second nodal switch 44b, which is preferably of the same construction as nodal switch 44a. 
     A CPU/matrix card 46 is interfaced with switching buses 30a and 30b and with a host interface 42a. If desired, a redundant CPU/matrix card and host interface (not shown) may be included. 
     In terms of communicating with inter-nodal network 12a, node 6e has two basic operating modes. As shown by the solid line in FIG. 3A, during a normal mode of operation, packetized information is received from inter-nodal network 12a at port A of ring IO card 40a and passed through to nodal switch 44a. Information originating from nodal switch 44a is passed to ring IO card 40a and then transmitted via port B. Stated another way, during the normal mode of operation, information passing between nodal switch 44a and inter-nodal network 12a passes in one direction only through each of ports A and B. 
     In contrast, as shown by the solid line in FIG. 3B, during a loopback mode of operation, port A is effectively disconnected from inter-nodal network 12a, while port B functions to both receive and transmit information. Thus, information is still passed through to nodal switch 44a. A particular ring IO card may operate in the loopback mode in response to a message from the host or detection of any of a number of fault conditions. The role of the loopback mode of operation in providing system redundancy and fault isolation is described in detail below. 
     Referring now to FIG. 4, a process by which a node, such as node 6e (FIG. 2), containing two nodal switches (one of which is intended for redundancy) may be configured and brought into service is described. The host transmits a NODE ASSIGN message 48 to the node. NODE ASSIGN message 48 includes a logical node identifier (ID), a value assigned by the host which uniquely identifies a particular node within the entire system 2. Receipt of a NODE ASSIGN message 48 is confirmed by the return of a NODE ASSIGN ACKNOWLEDGMENT 50 to the host. 
     Subsequently, the host transmits a RING CONFIGURE message corresponding to each nodal switch which is to be attached to an inter-nodal network ring. Assume, for purposes of this example, that the node&#39;s two nodal switches are located in slots 1 and 2 within the node&#39;s chassis. Thus, two RING CONFIGURE messages 52a and 52b are sent the host. Each RING CONFIGURE message includes the previously assigned logical node ID, the chassis slot number of the nodal switch which is to be attached to the ring, and a logical ring ID, a value which uniquely identifies the particular ring to which the nodal switch is to be attached. The same logical ring ID must be assigned to every nodal switch in every node which is to be connected to that ring. Receipt of RING CONFIGURE messages 52a and 52b are confirmed, respectively, by RING CONFIGURE ACKNOWLEDGE 54a and 54b which are returned to the host. 
     Next, for each ring which serves a given node, the host transmits a RING CONFIGURE message 56 which designates either a transmit/receive operating mode or a receive only operating mode with respect to each such ring. In this example, RING CONFIGURE messages 56a and 56b instruct the node to operate in transmit/receive mode with respect to both rings. Receipt of messages 56a and 56b is confirmed by RING CONFIGURE ACKNOWLEDGE 58a and 58b, respectively. 
     The effect of messages 56a and 56b is that whatever information the node transmits will appear on both rings and is available to maintain inter-nodal connections in the event that one of the nodal switches fails. In other words, this node has been configured to support nodal switch redundancy. 
     Alternatively, one of the nodal switches could be configured in a receive only mode. In such a configuration, the node would not support nodal switch redundancy (i.e., a failure of the other nodal switch, which is operating in transmit/receive mode, would result in a loss of all inter-nodal connections across the node). However, the system which incorporates such a node would have greater overall switching capacity. 
     Through appropriate configuration, it is possible to decide on a node-by-node basis whether to allocate ring bandwidth to support nodal switch redundancy. It should be understood that a nodal switch&#39;s operating mode may subsequently be changed by the host, although changing from receive only mode to transmit/receive mode requires that the related ring be taken out of service temporarily. 
     All nodes which are configured to operate in the transmit/receive mode must participate in an arbitration to determine which node will be designated a master node and which nodes will be designated as non-master nodes. The same nodes must also arbitrate for source packets. Each node&#39;s source packets are uniquely identified (e.g., by a logical node identifier and a source packet identifier) with that node and are used to transmit information to or receive information from other nodes. 
     These arbitrations are carried out through a series of messages passed among the nodes over LAN/link 8 (FIG. 1) without involving the host. A given node (say, Node 1), if it is unaware that some other node has already achieved master node status, will broadcast a message to, in effect, claim master node status for itself as well as particular source packet values which are preferably chosen at random from a predetermined table of possible values. If no other node responds with a message indicating that master node status was previously assigned or that the chosen source packets values were previously assigned, then Node 1 becomes the master node and keeps the source packet values which it originally selected. Random selection is preferred to avoid a &#34;collision&#34; situation in which multiple nodes simultaneously, repeatedly attempt to claim the same source packet values. 
     Subsequently, as each other node, in turn, broadcasts a message claiming master node status and particular source packet values, the master node will transmit a reply message indicating a master node already exists. In addition, if a node randomly selected source packet values which were previously assigned to the master node or another non-master node, a reply message will be transmitted indicating same. In that circumstance, the node which is attempting to obtain source packet values will transmit another message with reselected source packet values, this process being repeated until a set of values which were not previously assigned is finally selected. 
     With reference again to FIG. 4, in order to bring a ring into service, the host transmits a SERVICE STATE CONFIGURE message 60. Receipt of messages 60a and 60b is confirmed, respectively, by SERVICE STATE CONFIGURE ACKNOWLEDGMENT 62a and 62b. 
     Subsequently, with respect to each ring to which the node is attached, the node transmits RING STATUS messages 64, 68, 72 to the host to report, in succession, that the ring is &#34;Connected,&#34; &#34;Initializing&#34; and &#34;In Service&#34; along with the current operating mode of the ring. Receipt of each RING STATUS message is confirmed, respectively, by the host&#39;s transmission of RING STATUS ACKNOWLEDGMENT 66, 70, 74. 
     FIG. 5 illustrates the process of setting up an inter-nodal connection (call), with redundancy, using a node like that shown in FIG. 2. A remote channel management (RCM) software component, which is running on CPU/matrix card 46, issues a CONNECT PORT 1+PORT 2 message 82 (i.e., an instruction to connect PORT 1 with PORT 2, one of which is physically associated with a different node) to a logical connection management (LCM) task. 20 Message 82 is accompanied by data which reflects the logical node ID of the remote node with which the connection is to be established, a timeslot on ring 1 (inter-nodal network 12a) which is to be used for the connection, a timeslot on ring 2 (inter-nodal network 12b) which is to provide redundancy for the connection, the type of encoding in use on PORT 1, the type of encoding in use on PORT 2, and a pad value applicable to PORT 1. 
     In response, the LCM process forwards a CONNECT PORT 1+PORT 2 message 84 to a matrix switching engine (MATRIX XENG) process. Message 84 is comparable to message 82, but also includes a &#34;connection list&#34; or information as to which hardware device should be instructed to make the connection and which ring timeslot to use. The MATRIX XENG, recognizing that a port associated with a remote node is involved in the connection, issues separate CONNECT messages 86 and 88 to nodal switch 44a and redundant nodal switch 44b, respectively. 
     Message 86 instructs nodal switch 44a to become the &#34;master&#34; with respect to this particular connection. The effect of message 86 is to cause nodal switch 44a, which will be receiving PCM information from the remote node over inter-nodal network 12a, to transmit such PCM information on switching buses 30a and 30b during a particular timeslot. 
     On the other hand, message 88, which is directed to redundant nodal switch 44b, serves to inform that switch of the connection which is being established, but also instruct that switch to become a &#34;slave&#34; (i.e., not to transmit information on buses 30a and 30b) with respect to the same timeslot. In this fashion, switch 44b acquires knowledge of the connection which is being established. Accordingly, in the event of a failure of nodal switch 44a, all that must be done to maintain the previously established connection is for the MATRIX XENG process to issue a message to switch 44b to become &#34;master&#34; of the timeslot, thereby causing switch 44b to beginning transmitting the PCM information it is receiving from the remote node onto buses 30a and 30b. 
     FIG. 6 illustrates an expandable telecommunications system 76 which is substantially identical to system 2 of FIG. 1 (the host, LAN and network/line interfaces omitted for clarity). However, as denoted by an X, a portion of inter-nodal network 12a has failed. Such a failure could be caused by a severing of the network, a detachment of the network from one of the nodes to which it was connected or any of a number of other conditions. In response, port A of node 6a and port B of node 6d have each invoked the loopback mode of operation, as denoted by the letter L. All of the remaining ports continue to operate in the normal mode of operation, as denoted by the letter N. As a result, the faulty portion of inter-nodal network 12a is effectively isolated, yet a complete communication path is maintained among all of nodes 6a-6d as indicated by the solid line. 
     Invocation of the loopback mode at a particular port may be controlled in at least two ways. As part of configuration, a nodal switch may be provided instructions of invoke the loopback mode in the event a failure is detected. Alternatively, upon detection of a failure, a node may send a message (e.g., a RING STATUS message) to the host reporting the failure and the host may return a message to invoke the loopback mode at the appropriate ports. 
     FIG. 7 illustrates a system 78 in which a failure has occurred within node 6c. Such a failure may, for example, represent the failure of a nodal switch or ring IO card. In response, port B of node 6b and port A of node 6d have invoked the loopback mode of operation. As a result, node 6c is effectively isolated and out of service. Accordingly, calls cannot be connected across node 6c and calls which were previously connected are dropped. However, as to the remaining nodes 6a, 6b and 6d, a complete communication path still exists as denoted by the solid lines 
     FIG. 8 shows a system 80 that includes four nodes 6e-6h, each of which includes two nodal switches as shown in FIG. 2, interconnected by two inter-nodal networks 12a and 12b. Assume that the nodal switches were configured as shown in FIG. 4 such that both switches transmit essentially identical information on both networks 12a and 12b. Subsequently, a failure has occurs in node 6g. As a result, port B of node 6f and port A of node 6h have invoked the loopback mode of operation. Thus, node 6g is effectively isolated from inter-nodal network 12a. However, by virtue of the presence of redundant inter-nodal network 12b and the redundant nodal switches present in each node, node 6g remains in service. Network 12b continues to carry all information among the nodes and all ports A&#39; and B&#39; continue to operate in normal mode. Calls which were connected across node 6g prior to the failure remain intact and new calls may be connected across that node in the normal fashion. 
     Inter-nodal network 12b provides the first level of redundancy for system 80. However, as discussed above, additional levels of redundancy may be provided by adding n additional inter-nodal networks across nodes 6e-6h, as well as a like number of nodal switches to each node. In such an arrangement, a total of n+1 levels of redundancy are effectively provided. 
     While the invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention. Furthermore, the terms and expressions which have been employed are used as terms of description and not of limitation, and there is no intention, in the use of such terms and expressions, of excluding any equivalents of the features shown and described or portions thereof, but it is recognized that various modifications are possible within the scope of the invention claimed.