REDUNDANT SWITCH SYSTEM AND METHOD OF OPERATION
TECHNICAL FIELD OF THE INVENTION
The present invention relates generally to communication switching systems, and more specifically to a redundant switch system and method of operation.
BACKGROUND OF THE INVENTION
Usage and demand for modern communication systems continues to soar as users demand more and more sophisticated communication services and bandwidth while relying on the instant availability of these communication systems. Increasingly, communication systems are used to provide all types of information including voice, video, and data.
Modern communication systems include a collection of components, such as digital switching systems, that communicate, manipulate, and process information in a variety of ways. Digital switching systems are integral components of today's modern communication systems. The availability of communication systems is directly related to the availability of the digital switching systems used in these communication systems. As reliance on communication systems continues to increase, the availability of the digital switching systems used in these communications systems becomes critically important. Problems arise when attempting to increase the availability of a digital switching system. The digital switching system may provide redundant capability so that if a circuit or module of the digital switching system fails, a backup circuit or module may be used. Problems arise when transitioning from a system or circuit operating in the foreground to a system or circuit operating in the background. Performance suffers greatly when the transition causes delays, interruptions in service, and errors. Often, when a circuit or module fails, the backup circuit is not properly initialized or operating correctly resulting in data loss or complete system failure. Also, overall system performance suffers when system resources are consumed attempting to verify that a backup circuit or
module is operating correctly so that the backup circuit or module may be relied upon in the event of a failure.
SUMMARY OF THE INVENTION
In accordance with the present invention, a redundant switch system and method of operation are provided which substantially eliminate or reduce the disadvantages and problems associated with increasing the availability and reliability of a digital switching system. The present invention provides a redundant switch system and ensures that the background switch is available and operating correctly while minimizing or eliminating any adverse effects on actual switching operation.
According to an embodiment of the present invention, a redundant switch system is provided that includes a first switch control module, a second switch control module, and a first I/O module. The first switch control module includes a first switch fabric operating in the foreground under the control of a first switch fabric controller. The first switch fabric receives communication signals from an input port and provides the communication signals to at least one of its output ports. The first switch fabric controller may initiate a switch fabric test. The second switch control module includes a second switch fabric operating in the background and under the control of a second switch fabric controller. The second switch fabric receives communication signals at an input port and provides the communication signals to at least one of its output ports. The first I/O module exchanges communication signals with the first switch fabric and the second switch fabric. The I/O module provides a test communication signal to an input of both switch fabrics in response to the initiation of a switch fabric test by the first switch fabric controller. The I/O module then receives the test communication signal from an output of the second switch fabric and generates or provides an error signal if an
EET {RULE 26)
error is detected in the received test communication signal.
The redundant switch and method of operation provides various technical advantages. A technical advantage of the present invention includes increased switch availability. Another technical advantage includes the ability to systematically and routinely check the operation of a background switch during actual switch operation to ensure that the background switch is operating correctly while minimizing or eliminating any adverse effect on overall switch performance. Other technical advantages are readily apparent to one skilled in the art from the following figures, descriptions, and claims.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts, in which:
FIGURE 1 is an overview block diagram illustrating a control and a data interconnection between a first I/O module and a foreground switch control module;
FIGURE 2 is a block diagram illustrating a redundant switch system including the data interconnection between the first I/O module and the foreground switch control module and a background switch control module; and FIGURE 3 is a flowchart illustrating a method for operating the redundant switch system.
DETAILED DESCRIPTION OF THE INVENTION
FIGURE 1 is an overview block diagram of a control and a data interconnection between a first I/O module 14 and a foreground switch control module 10 of a digital communication switch. Also shown in FIGURE 1 are a plurality of additional I/O modules represented by a second I/O module 16 and an nth I/O module 18. Each of the plurality of I/O modules interconnect with foreground switch control module 10 in the same manner that first I/O module 14 couples to foreground switch control module 10. A background switch control module 12 is also provided which interconnects to each of the plurality of I/O modules in the same manner that foreground switch control module 10 interconnects to each of these plurality of I/O modules. Background switch control module 12 operates in the background and serves as a redundant module in the event that foreground switch control module 10 fails or is taken out of service.
In operation, the plurality of I/O modules receive information, such as voice, video, and data, from a corresponding communications link using a variety of access technologies. Each I/O module provide this information to the inputs of a foreground switch fabric 26 of foreground switch control module 10 and background switch control module 12. Foreground switch control module 10, using a foreground switch fabric controller 24 and any available switching scheme, controls the switching of foreground switch fabric 26 so that the communication information provided by each I/O module is properly routed or mapped to the appropriate destination I/O module. Foreground switch control module 10 receives control information from the various I/O modules to assist with carrying out the switching scheme.
First I/O module 14 is representative of the plurality of I/O modules and includes a line interface 39 and a cell flow processor 38. In one embodiment, line interface 39 includes a connectivity engine, a network interworking, and a physical interface to exchange information with a particular type of access technology provided by the communication link or network that is coupled to line interface 39. This coupling is not shown in FIGURE 1.
Each of the plurality of I/O modules occupies a particular port in the digital communication switch. Each of the plurality of I/O modules are similar, except for the line interface which allows a particular I/O module to interface with a particular access technology. The access technology may include virtually any communications format or protocol such as asynchronous transfer mode (ATM) , cell relay, frame relay, circuit emulation, LAN emulation, internetworking, and the like, and using virtually any physical medium or transmission hierarchy. Line interface 39 may support any suitable communication technique, whether connection-based or connectionless. Thus, first I/O module 14 may interface, through line interface 39, with a communication link that supports a particular access technology, while the line interfaces of other I/O modules may support different access technologies. In this manner, information may be received by an I/O module in a particular format, converted to a common or core cell format used in foreground switch control module 10 by the line interface, routed to a destination I/O module through foreground switch control module 10, and finally provided to the communication link coupled to the destination I/O module that uses a completely different access technology than the source communication link.
Cell flow processor 38 provides an interface between line interface 39 and foreground switch control module 10. Cell flow processor 38 interconnects with foreground switch control module 10 using a first I/O serial data signal 40 and a first I/O serial control signal 42. In one embodiment, these may be provided as eleven unidirectional lines. The reference to "lines" may include conductors, couplings, connectors, atings, connections, and the like. Cell flow processor 38 also provides these same signals to background switch control module 12 through similar interconnections. Unlike line interface 39, which may vary from one I/O module to another, cell flow processor 38 has the same structure and performs the same function in all I/O modules. In a particular embodiment, cell flow processor 38 implements a core cell transfer function using
ATM with virtual channel (VC) buffer and bandwidth control.
Cell flow processor 38 includes a to-switch port processor (TSPP) 28, a from-switch port processor
(FSPP) 30, a serializer 32, and a deserializer 34. In a particular implementation, TSPP 28 and FSPP 30 may be implemented using an application specific integrated circuit (ASIC) . Cell flow processor 38 uses TSPP 28 to receive information from line interface 39, to process the information, to provide communication signals to and from foreground switch control module 10, which exchange control information with foreground switch control module 10. TSPP 28 controls access to input buffers and to the bandwidth of foreground switch fabric controller 24 on a per connection basis. TSPP 28 requests and receives grants for switch bandwidth from foreground switch fabric controller 24. TSPP 28 also receives flow control information. FSPP 30 may also be an ASIC. The FSPP 30 controls access to output
buffers and linked bandwidth on a per connection basis. FSPP 30 also sends and receives flow control information.
Serializer 32 receives the information from TSPP 28 in parallel format and converts the information to serial format and provides the information as either first I/O serial data signal 40. TSPP 28 also receives control information from foreground switch fabric controller 24. FSPP 30 receives information from foreground switch control module 10 through first I/O serial data signal 40 and first I/O serial control signal 42. Deserializer 34 receives these data signals where they are converted from serial format to parallel format and then provided to FSPP 30.
TSPP 28 and FSPP 30 are in communication with one another.
In one embodiment, foreground switch control module 10 and background switch control module 12 are essentially interchangeable modules with one operating in t'he foreground and the other operating in the background to provide a redundant system to increase overall system availability. Thus, the following discussion of foreground switch control module 10 may apply to background switch control module 12.
Foreground switch control module 10 includes a port processor 20, a foreground switch fabric controller 24, and a foreground switch fabric 26 having input ports and output ports corresponding to each of the plurality of I/O modules. Port processor 20 is used to communicate with the TSPPs 28 and FSPPs 30 on the I/O modules in the system.
Foreground switch fabric controller 24 controls the operation of foreground switch fabric 26 by determining how the data signals provided from the plurality of I/O modules, such as first I/O serial data signal 40, are interconnected (switched) by foreground switch fabric 26. Foreground switch fabric controller 24 accumulates a"nd
arbitrates transfer requests from each I/O module. Foreground switch fabric controller 24 may also maintain and access a topology state for each connection. This topology information controls the fan-in and the fan-out of multipoint connections. In one embodiment, foreground switch fabric controller 24 may include a bandwidth arbiter (BA) ASIC to decide which I/O modules or ports have access to foreground switch fabric 26, and a multipoint topology controller (MTC) ASIC to maintain and access topology states for each connection in the digital communication switch. Foreground switch fabric controller 24 receives control signals from each of the I/O modules, such as first I/O serial control signal 42 from first I/O module 14. Foreground switch fabric controller 24 uses this information to determine which data signal from all of the I/O modules should be provided at a particular input of foreground switch fabric 26 and routed to a particular output of foreground switch fabric 26.
Once foreground switch fabric controller 24 determines which connection should be made within foreground switch fabric 26, a control signal is provided to the TSPP of the appropriate I/O module so that the correct data signal may be provided to the input port of foreground switch fabric 26 corresponding to that I/O module. For example, first I/O module 14, through TSPP 28, provides first I/O serial control signal 42 to foreground switch fabric controller 24 indicating a request for communication from first I/O module 14. Eventually, foreground switch fabric controller 24 grants the request and communicates the grant to TSPP 28 through first I/O serial control signal 42. At this time, the cell may be transferred from TSPP 28 through first I/O serial data signal 40 to foreground switch fabric 26. Foreground switch fabric 26, under the control
of foreground switch fabric controller 24, maps or switches first I/O serial data signal 40 to the designated output port for receipt by the FSPP of the receiving I/O module. The data signals provided from the various I/O modules, such as first I/O serial data signal 40, may be provided as communication cells having a header portion and a data portion. These communication cells may be provided in asynchronous transfer mode (ATM) format, or the like. The information may then be processed by the line interface of the receiving I/O module and provided in the communication format of the interfacing access technology.
Background switch control module 12 receives the same signals from the I/O modules, such as I/O first module 14, that are provided to foreground switch control module 10. Background switch control module 12 operates in the same manner as foreground switch control module 10. In the event that foreground switch control module 10 fails or is taken out of service, background switch control module 12 may operate in the foreground with minimal disruption of service. In one embodiment, port processor 20 switches between foreground control module 10 and background control module 12 in response to external control. However, before taking foreground switch control module 10 out of service or before foreground switch control module 10 fails, it is important to ensure that background switch control module 12 is operating correctly so that service will not be disrupted.
FIGURE 2 is a block diagram illustrating a redundant switch system, including the data interconnection with first I/O module 14. As discussed above, when first I/O module 14 provides information to foreground switch control module 10, the information is correspondingly also provided to background switch control module 12. Background switch
control module 12 includes the same or similar components as that provided in foreground switch control module 10. These same or similar components may include a background switch fabric controller 124, and a background switch fabric 126 as shown in FIGURE 2. Before both foreground switch control module 10 and background switch control module 12 may both receive the same information, background switch fabric controller 124 and foreground switch fabric controller 24 must be synchronized so that these controllers stay in lock-step. This may include identically configuring control registers, and updating tables and entries. When a communication cell is provided from TSPP 28, it is provided to serializer 32 in parallel format and converted to serial format and provided to processor interface 36. In one embodiment, processor interface 36 then provides the communication cell to background switch fabric 126 through a background first I/O serial data signal 41. This same communication cell is also provided to foreground switch fabric 26 through first I/O serial data signal 40. At this time, both background switch fabric 126 and foreground switch fabric 26, under the control of their respective switch fabric controllers, map or switch the communication cell to a designated output port where the cell may then be provided to that port's I/O module for further processing. In normal operation, first I/O serial data signal 40, as provided at the output of foreground switch fabric 26, is a communication cell that is provided to the designated I/O module. However, if foreground switch control module 10 fails or is taken out of service, then background first I/O serial data signal 41, as provided at the output of background switch fabric 126, may be provided to the designated I/O module.
It is critical that the components of background switch control module 12 are operating correctly so that in the event of a failure, background switch control module 12 may be relied upon for continued operation with minimal interruption of service. Thus, it is desirous to routinely verify the operation of background switch control module 12 to ensure that it is operating correctly while minimizing or eliminating any adverse effect on overall system performance caused by the verification of the background operation. The present invention accomplishes all of this as illustrated below.
First, foreground switch fabric controller 24 determines a point in time in which unallocated bandwidth is provided in foreground switch fabric 26. During this period or slot of time, foreground switch fabric 26 may map or switch from an input port to an output port without adversely affecting the transfer of any other communication cell. In one embodiment, unallocated bandwidth may be normally provided for every input and output port of foreground switch fabric 26 once every 5 milliseconds.
During this time of unallocated bandwidth, a test cell may be sent from the TSPP of each I/O module to the corresponding input port of both the foreground switch fabric 26 and the background switch fabric 126. Both switch fabrics then switch the test cell to the output port corresponding to the I/O module that sent the test cell. The FSPP of each I/O module then receives the same test cell from the background switch fabric 126 that was originally provided from the TSPP. The FSPP then performs error checking to determine whether an error occurred in the transmission through background switch fabric 126. This may be accomplished using parity checking or cyclic redundancy check (CRC) techniques to determine if an error
occurred. CRC is an error checking procedure commonly used in data communications in which each transmitted bit is applied to a register containing a series of XOR gates, thereby solving a polynomial equation. The result of this operation is appended to the test cell and compared to an identical operation performed on the received test cell. If the values match, no error was detected. There are several standard CRC checks, including CRC-6, CRC-16, CRC-32 which is used in the IEEE 802 LAN standards. In operation, foreground switch fabric controller 24 detects unused bandwidth in foreground switch fabric 26 and enables a switch fabric test to test the operation of background switch control module 12. At this time, foreground switch fabric controller 24 provides a control signal to the FSPP of each I/O module or to a designated I/O module indicating that a switch fabric test is to be performed. For example, FSPP 30 of first I/O module 14 receives a signal from foreground switch fabric controller 24 indicating that a switch fabric test is to be performed. In response, FSPP 30 instructs TSPP 28 to send a test cell. The test cell is provided to serializer 32 in parallel format and converted to serial format and then provided to processor interface 36. Processor interface 36 provides the test cell in serial format to background switch fabric 126 as background first I/O serial data signal 41. Background switch fabric 126 receives background first I/O serial data signal 41 and maps or switches the signal from a first input port to a corresponding first output port, under the control of background switch fabric controller 124. Background switch fabric 126 then provides the signal to processor interface 36. This signal is also referenced in FIGURE 2 as background first I/O serial data signal 41. Processor interface 36 then provides the signal
containing the test cell to Deserializer 34 where the signal is converted from serial format to parallel format and provided to FSPP 30.
FSPP 30 performs CRC error detection and determines whether or not an error has occurred. If an error has occurred, FSPP 30 sends a control signal to foreground switch fabric controller 24 where the error is stored or logged. In one embodiment, if an error occurs, an alarm or indicator may be enabled as a result of the error condition. After a predefined number of CRC errors, foreground switch fabric controller 24 and, in one embodiment, background switch fabric controller 124, interrupts foreground switch control module 10 and places background switch control module 12 as the primary or foreground control module.
During the time in which the switch fabric test is enabled, deserializer 34 acts as a switch fabric selector or multiplexer and provides the output of background switch fabric 126 to deserializer 34 for error processing by FSPP 30.
The switch fabric test has been described, and shown in FIGURE 2, with respect to first I/O module 14. In one embodiment, every 5 milliseconds every I/O module of the digital communication switch may send a test cell through background switch fabric 126 and then back to the FSPP of the sending I/O module for error checking. The present invention provides technical advantages by testing the operation of background switch fabric 126 and background switch fabric controller 124 without adversely affecting the performance of the digital communication switch.
FIGURE 3 is a flow chart illustrating a method for operating redundant switch system 50. The method begins at step 200 and proceeds to step 202 where the foreground
switch fabric controller detects unallocated switch bandwidth. This may be accomplished by examining a switch allocation table and locating unallocated slots in the switch allocation table. The method proceeds next to step 204 where a switch fabric test is enabled at the point in time where unallocated switch bandwidth may be used.
Proceeding next to step 206, the foreground switch fabric controller sends a control signal to the FSPPs of each I/O module. The control signal indicates that a switch fabric test has been enabled and that a test cell should be sent from the TΞPPs of each I/O module to the background switch fabric. The method proceeds next to step 208 where the FSPPs' signal their TSPP to send the test cell. The test cell may be provided in memory as part of the TSPP and may be shorter than a normal cell to prevent any clock skewing due to the high speed nature of the serial interface between the I/O modules and the switch control modules. The additional signaling needed to implement the switch fabric test may require that the test cell be one-half of a normal cell so that timing errors are not encountered.
Proceeding next to step 210, the TSPPs send the test cell to both switch fabrics where the test cell is provided at each I/O module's input port. The method then proceeds to step 212 where both switch fabrics transfer the test cell from each I/O module's input port to each I/O module's corresponding output port. The corresponding output port is the output port that corresponds to the I/O module that sent the test cell. The test cell is then provided from the background switch fabric to the FSPP of the I/O module. Deserializer 34, acting as a switch fabric selector, provides the output of the background switch fabric to the FSPP instead of the output of the foreground switch fabric.
EET RULE26
Next, the method proceeds to step 214 where the FSPPs receive the test cell and perform error checking, such as CRC error checking, to determine if an error has occurred. If an error has occurred, the FSPP may provide a signal to the foreground switch fabric controller where the error is logged or stored in an error table. The method proceeds next to step 216 where the errors are analyzed and an appropriate action is taken. For example, after a predefined number of CRC errors have occurred, the background switch control module 12 may be transitioned from operating in the background to operating in the foreground. Optionally, an alarm or indicator may be enabled as a result of the errors. The method then concludes at step 218. Thus, it is apparent that there has been provided, in accordance with the present invention, a redundant switch system and method of operation that satisfies the advantages set forth above. The present invention improves overall system availability while eliminating or minimizing any adverse effect on overall system operation.
Although the preferred embodiment of the present invention has been described in detail, it should be understood that various changes, substitutions, and alterations may be made to the described embodiment without departing from the spirit and scope of the present invention. The direct connections illustrated herein could be altered by one skilled in the art such that two devices are merely coupled to one another through an intermediate device or devices without being directly connected while still achieving the desired results demonstrated by the present invention. Other examples of changes, substitutions, and alterations are readily ascertainable by one skilled in the art and could be made without departing
SUBSTTTUTE SHEET (BO-E26J
from the spirit and scope of the present invention as defined by the following claims.