Abstract:
A cross-connect switching system includes a plurality of three stage switching arrays and an expansion switching array, wherein a second stage of each of the three stage switching arrays includes an expansion section comprising switches which facilitate interconnection of each three stage array to the expansion switching array. In one embodiment, the expansion switching array includes a plurality of square arrays, each having Q inputs and Q outputs and wherein the second stages of the three stage arrays each include 1 . . . M+1 . . . M+p vertical stages which connect to the square “D” arrays of the central expansion switching array.

Description:
RELATED APPLICATIONS 
       [0001]    This application claims the Paris Convention priority of U.S. Provisional Application No. 60/871,103 entitled “Digital Cross-Connect Path Selection Method,” filed Dec. 20, 2006, the contents of which are hereby incorporated by reference in their entirety. 
     
    
     FIELD OF INVENTION 
       [0002]    The present invention relates in general to telecommunications switching systems and more particularly to a large, efficient and cost effective cross-connect switching architecture. 
       BACKGROUND OF THE INVENTION 
       [0003]    Digital cross-connect systems are an integral part of today&#39;s modern telecommunications transport network. They are increasingly used by all service providers including exchange carriers, long distance carriers, and competitive by-pass carriers. Significant technology advancements have allowed digital cross-connect systems to evolve from narrowband grooming and test applications to cross-connect of larger network signals in wideband and broadband frequency domains. 
         [0004]    A broadband system is typically used to terminate high speed SONET optical and electrical signals in order to path terminate and groom lower speed broadband signals. The broadband system also supports performance monitoring and test access functions. Typical broadband cross-connect systems use either single stage or three stage Clos matrix architecture. In the three stage matrix architecture, the cross-connect includes switches grouped into an originating stage, a center stage, and a terminating stage. The three stage matrix architecture is best suited for maximum capacity applications for cross-connecting a large volume of signals. The single stage matrix architecture organizes the single stage matrices in rows and columns, which results in a higher number of switches than the three stage architecture. 
       SUMMARY 
       [0005]    While the Clos three stage architecture has been a staple of high capacity cross-connect arrays, the inventors have recognized a need for even higher capacity arrays. Embodiments configured according to invention facilitate providing such capacity. In particular, such embodiments may employ a plurality of three stage switching arrays adapted to interconnect to a central expansion switching array. The second stage of the three stage switching arrays each include an expansion section, which includes switches which facilitate interconnection to the central expansion switching array. 
         [0006]    In one embodiment, the expansion switching array includes a plurality of square arrays, which may be referred to as “D” arrays, each having Q inputs and Q outputs. In such an embodiment, the second stages of the three stage arrays may include 1 . . . M+1 . . . M+p vertical stages. In such case, the M+1 . . . M+p vertical stages of the second stages connect to the square “ED” arrays of the central expansion switching array. 
     
    
     
       DESCRIPTION OF DRAWINGS 
         [0007]      FIG. 1  is a schematic diagram of a switching array according to an illustrative embodiment. 
           [0008]      FIG. 2  is a schematic diagram of an array of switch identifiers according to an illustrative embodiment. 
           [0009]      FIG. 3  is a block diagram of a computer processor and associated memory according to an illustrative embodiment. 
           [0010]      FIG. 4  is a flow diagram of a switch selection process employing the illustrative embodiment. 
           [0011]      FIGS. 5 and 6  comprise a schematic circuit diagram of an array of 32 switches according to an illustrative embodiment. 
           [0012]      FIGS. 7 and 8  are circuit diagrams of driver circuits for driving switches such as those disclosed in  FIGS. 5 and 6 . 
           [0013]      FIG. 9  is an enlarged view of one of the switches of the array shown in  FIGS. 5 and 6 . 
           [0014]      FIGS. 10 and 11  are waveform diagrams useful in illustrating a method for driving switches of the array of  FIGS. 1 and 2  with a reduced number of drivers. 
       
    
    
     DETAILED DESCRIPTION 
       [0015]      FIG. 1  illustrates a switching array network  11  according to an illustrative embodiment. The system  11  of  FIG. 1  is a relatively large system comprising a plurality of Nodes  1  . . . Q and an Expansion Array  21  also identified as Node  0 . In  FIG. 1 , each of the nodes e.g. Node  1 , is drawn twice, once at the left of Expansion Array  21  and once to the right of the Array  21 . This depiction is employed so that the interconnections, e.g.  15 ,  17 , to the Expansion Array from the left and right side of the “B” arrays in each of the nodes do not overlap other portions of the drawing and are therefore more clearly shown. 
         [0016]    Each of the Nodes  1  . . . Q have a common three stage structure formed of A, B, and C switching arrays, interconnected as shown. The Expansion Array comprises a column of “D” switching arrays. The A, B, C and D arrays are defined as follows: 
         [0017]    An array of type A has N inputs and K outputs. 
         [0018]    An array of type B has M+P inputs and M+P outputs. 
         [0019]    An array of type C has K inputs and N outputs. 
         [0020]    An array of type D has Q inputs and Q outputs. 
         [0021]    Further with respect to the topology of  FIG. 1 , it may be observed that Node  1  through Q has only arrays of type A, B and C, while Node  0  has only arrays of type D. As to the number of arrays, there are M arrays of type A in each of node  1  thru node Q, there are K arrays of type B in each of Node  1  thru Node Q, there are M arrays of type C in each of node  1  thru node Q, and there are R arrays of type D in Node  0  where R=K×P. The various arrays may be identified as follows: 
         [0022]    A (m)  denotes a type A array m in node q where m=1 . . . M; and q=1 . . . Q. 
         [0023]    B (k)  denotes a type B array k in node q where k=1 . . . K; and q=1 . . . Q. 
         [0024]    C (m)  denotes a type C array m in node q where m=1 . . . M; and q=1 . . . Q. 
         [0025]    D (r)  denotes a type D array r in node  0  where r=P(k−1)+p; k=1 . . . K; p=1 . . . P. 
         [0026]    The interconnection of the respective A, B, C and D arrays are defined as follows:
       1. Output k of array A (m)  in node q connects to input m of array B (k)  in the same node q, where m=1 . . . M and k=1 . . . K.   2. Output air of array B (k)  in node q connects to input k of array C (m)  in the same node q, where m=1 . . . M and k=1 . . . K.   3. Output M+p of array B (k)  in Node q connects to input q of array D (r=P(k−1)+p)  in Node  0 , where p=1 . . . K; k=1 . . . K; and q=1 . . . Q.   4. Output q of array D (r=P(k−1)+p)  in Node  0  connects to input M+p of array B (k)  in Node q, where q=1 . . . Q; k=1 . . . K; and p=1 . . . P.
 
Thus, it will be observed that outputs M+1 . . . M+p on each left Node B array and inputs M+1 . . . M+p on each right Node B array facilitate implementation of the Expansion Array&#39;s type D arrays.
       
 
         [0031]    In the switching array of  FIG. 1 , a switch is a device that may be activated to connect one input to one output of the same array. Each switch is represented by the notation S (node, array type, array number, input, output) . For example, S (1,A,2,1,3)  denotes the switch that connects input  1  to output  3  of type A array  2  in node  1 ; S (0,D,3,2,5)  denotes the switch that bridges input  2  with output  5  of the type D array  3  in node  0 . 
         [0032]    Employing the switch notation convention just discussed, the switches of the A, B, C and D arrays are identified as follows:
       1. The switch that connects input x to output k of the type A array m in node q is identified by S (q,A,m,x,k) , where q=1 . . . Q; m=1 . . . M; x=1 . . . N; k=1 . . . K.   2. The switch that connects input in to output n of the type B array k in node q is identified by S (q,B,k,m,n) , where q=1 . . . Q; k=1 . . . K, m=1 . . . M; n=1 . . . M.   3. The switch that connects input k to output y of the type C array m in node q is identified by S (q,C,m,k,y) , where q=1 . . . Q; m=1 . . . M; k−1 . . . K; y=1 . . . N.   4. The switch that connects input p to output t of the type D array r in node  0  is identified by S (0,D,r,p,t) , where r=1 . . . P(k−1)+p; p=1 . . . P; t=1 . . . P.
 
Moreover, in the illustrative embodiment of  FIG. 1  under discussion, an input of a type A array is also viewed as an input of the network. An output of a type C array is also viewed as an output of the network. The path (continuity) between one network input and one network output (one input of a type A array and one output of a type C array) can be established by serially connecting five switches (S 1 , S 2 , S 3 , S 4  and S 5 ) where S 1  is a switch that connects an input and output of the 1 st  array of type A; S 2  is a switch that connects an input and output of the 2 nd  array of type B; S 3  is a switch that connects an input and output of the 3 rd  array of type D; S 4  is a switch that connects an input and output of the 4 th  array of type B; and S 5  is a switch that connects input and output of the 5 th  (last) array of type C.
       
 
         [0037]    As may be appreciated, more than one possible path (more than one set of switches (S 1 , S 2 , S 3 , S 4 , S 5 )) exists between any two I/O points in the network. In the illustrative embodiment, the following procedure is used to determine all possible paths (S 1 , S 2 , S 3 , S 4 , S 5 ) between two I/O points in the network. 
         [0000]    First, the following constants are defined: 
         [0038]    Q=number of I/O nodes in the network 
         [0039]    N=number of inputs on each type A array 
         [0040]    N=also number of outputs on each type C array 
         [0041]    K=number of outputs on each type A array 
         [0042]    K=also number of inputs on each type C array 
         [0043]    M=number of local inputs (from type A array) on each type B array 
         [0044]    M=also number of local outputs (to type C array) on each type B array 
         [0045]    P=number of foreign inputs (from type D array) on each type B array 
         [0046]    P=number of foreign outputs (to type D array) on each type B array 
         [0000]    Next, for a port (X=1 . . . (N×M×Q)), and for (k=1 . . . K), a series of values for variables q, m and n are defined as follows: 
         [0000]        q=int ( X /( N×M×Q ))+1 
         [0000]        m=int ( X /( N×M×q ))+1 
         [0000]        n=X−int ( X /( q×m×N ))× N    
         [0000]    In such case, the set of all switches S 1 , S 2 , S 3 , S 4 , S 5  available for interconnecting a selected port “X” with a selected port “Y” within the same Node is determined as follows for (t=1 . . . M) and for a port (Y=1 . . . N): 
         [0000]      S1=S (q,A,m,n,k)   (Equation 1) 
         [0000]      S2=S (q,B,k,m,t)   (Equation 2) 
         [0000]      S3=S (0,D,0,0,0)   (Equation 3) 
         [0000]      S4=S (q,B,k,m,t)   (Equation 4) 
         [0000]      S5=S (q,C,t,k,Y)   (Equation 5) 
         [0000]    and the set of switches S 1 , S 2 , S 3 , S 4 , S 5  for connecting a port “X” in one Node with a port “Y” in a different Node is determined as follows for (t=1 . . . P), for (h=1 . . . K) and for a port (Y=1 . . . N): 
         [0000]      S1=S (q,A,m,n,k)   (Equation 6) 
         [0000]      S2=S (q,B,k,m,t)   (Equation 7) 
         [0000]        S 3 =S   (0,D,P(k−1)+t,q,w)   (Equation 8) 
         [0000]      S4=S (w,B,k,t,h)   (Equation 9) 
         [0000]      S5=S (w,C,h,k,Y)   (Equation 10) 
         [0047]    As those skilled in the art will appreciate, a key task in a system such as that illustrated in  FIG. 1  is to select the appropriate switches in the Nodes  1  . . . Q and the Expansion Array  21  to complete a desired cross-connect. For example, if it is desired to connect port “1” (“X” Port) of the A array in Node  1  to port “ 1 ” (“Y” Port) of the C array in Node  1 , appropriate switches in Node  1  (and no switches in Expansion Array  21 ) must be selected and closed to create the desired signal path. Thus, as noted above, a “path” may comprise a group or set of switches which serially interlink a desired pair of ports (“X” and “Y”) through the hardware system. 
         [0048]    One approach to accomplishing the switch selection and interconnection task just discussed would be to employ software to determine the appropriate group of switches in real time during operation of the switching array of  FIG. 1 . This approach creates tremendous software overhead and complexity. According to the preferred embodiment, this approach is avoided by employing software to first create an array of switch identifiers based on the specific, known switching system architecture, which greatly simplifies selection of appropriate switches to create a desired path during real time operation of a deployed system. Thus, such a switch identifier array is preferably determined and stored in the system as part of the system manufacturing process prior to deployment of the system at an end user site. A relatively straight forward indexing operation may then be used to determine those switches which may be closed to achieve a desired interconnection. 
         [0049]    More particularly, in the illustrative embodiment depicted in  FIGS. 2 and 3 , and as shown in  FIG. 4 , after the switching system architecture is established (step  101 ), software  61  running on a computer processor  57  generates an array  55  of switch identifiers (step  103 ), and stores the array  55  in memory  59 . As shown in  FIG. 2 , the array  55  is divided into sub-arrays, e.g.  71 ,  73 . Each sub-array contains all sets of switches S 1 , S 2 , S 3 , S 4 , S 5  which are capable of connecting a selected “X” Port to a selected “Y” Port. For example, all switch sets S A(1,1)  . . . S N(1,1)  for connecting “X” Port  1  to “Y” Port  1  are stored in sub-array  71 , while all switch sets S A(1,2)  . . . S N(1,2)  for connecting “X,” Port  1  with “Y” Port  2  are stored in sub-array  73 , and so forth. Each sub-array is determined by software program steps of software  61 , which may, for example, compute either equations 1-5 or equations 6-10 above for the particular port pair (X,Y,) in question. Such software may be written, for example, in C++, or any other suitable language. 
         [0050]    Once the array of  FIG. 2  has been generated, for example, prior to shipping and deployment of a switching array such as that shown in  FIG. 1 , the switch selection software  63 , which actually selects a particular switch set (such as switch set S A1,1 ) to establish connection between a pair of ports (such as ports  1 , 1 ), need only employ an index (e.g. “1,1”) during real time operation to access the set  71  of all possible switches for establishing a particular port-to-port connection (step  105 ,  FIG. 4 ). Thereafter, in step  107  of  FIG. 4 , for example, the switch selection software may perform a particular switch selection procedure employing various criteria, such as those known to those skilled in the art, for selecting a particular pair of switches from those which are available. 
         [0051]    Implementation of a cross-connect switching architecture such as that shown in  FIG. 1  may be enhanced in certain embodiments by implementing a switching device activation approach which allows the elimination of a number of discrete drivers by counter driving the coils of parasitic EM devices with pulse modulated electromotive force (EMF) to counteract the sympathetic switching of nearby devices. According to an illustrative embodiment, the EMF duty cycle and polarity applied to the parasitic paths is determined by the tolerance of switching EMF and the proximity of the sympathetic EM device to the targeted device within a matrix array. The result is that the EM devices in the parasitic paths are not switched for either possible initial state and the total number of drivers required for large arrays of EM devices such as, for example, relays and solenoids, is greatly reduced. Implementation of the foregoing approach is illustrated in connection with  FIGS. 5-11 . 
         [0052]      FIGS. 5 and 6  depict an array of 32 switching devices S 1 , S 2 , S 3  . . . S 32 . The particular switching devices depicted are cantilever MEMS switches, but could be other types of switches or relays in other embodiments. 
         [0053]    Each of the switches S 1  . . . S 32  includes an activation coil (e.g.  21  in  FIG. 9 ), having positive (“Y”) and negative (“X”) terminals. According to the illustrative embodiment, eight positive terminal drivers and four negative terminal drivers suffice to switch (“close”) any selected one of the 32 switching devices S 1  . . . S 32 . The eight positive drivers produce respective drive signals, AYS_ 01 , AYS_ 02 , AYS_ 03  . . . AYS_ 08 ; while the four negative drivers produce four respective drive signals AXS_ 01 , AXS_ 02 , AXS_ 03  and AXS_ 04 . 
         [0054]      FIGS. 7 and 8  depict a driver circuit for generating drive signals AXS_ 01  and AYS_ 01 , respectively. These driver circuits may be conventional MOSFET drivers. The driver of  FIG. 3  is triggered by gate signals AXS_HD_ 01  and AXS_LD_ 01 , while that of  FIG. 4  is triggered by gates signals AYS_HD_ 01  and AYS_LD_ 01 . 
         [0055]    A specific MEMS switching device S 27  is shown enlarged in  FIG. 9 . It may be seen that the coil  21  of this device S 27  is driven by drive signals AYS_ 01  and AXS_ 01 . Pins  7  and  4  are “signal-in” pins and pins  8  and  3  are “signal returns,” respectively. The temporary magnetic field created by an energy pulse to the coil  21  starts the respective cantilever S 23 , S 24  to pull and close the respective signal paths. The cantilevers  23 ,  24  are held in place by a fixed magnet after the activation pulse to the coil  21  terminates. 
         [0056]      FIG. 10  illustrates the pulse waveforms utilized when it is desired to set switch  827 , i.e. close cantilevers  23 ,  24 . As may be seen AXS_ 01  rises to a constant positive voltage level for a time interval t 3 , which may be for example, 200 microseconds. At the same time AYS_ 01  drops to a constant negative voltage level over the same interval t 1 . The other “X” drive signals AXS_ 02 , AXS_ 03  and AXS_ 04  are pulsed with a periodic pulse train which alternates between a positive and a negative voltage level. The other “Y” drive signals AYS_ 02  . . . AYS- 08  are driven with a pulse train which may be the same as, but opposite in polarity, to that driving AXS_ 02 - 04 . 
         [0057]    In this manner, only switch S 27  is provided with the energy necessary to activate or “close” it, while the pulse modulated energy prevents false triggering of other switching devices in the array. As may be appreciated, three other switches in S 25 , S 29 , S 31  in the 32 switch array of  FIGS. 5 and 6  are driven by the output AYS_ 01  of the driver circuit shown in  FIG. 8 . However, each of these other switches receives a respective one of the modulated “X” drive signals AXS_ 02 , AXS_ 03  and AXS_ 04 , which prevents triggering of these three switches S 25 , S 29 , S 31 . 
         [0058]    To clear or reset switch S 27 , the energy waveforms depicted in  FIG. 11  are used. In this case, AXS_ 01  comprises a negative pulse of duration t 2 , while AYS_ 01  comprises a positive pulse of duration t 2 . The waveforms for AXS_ 02 - 04  and AYS_ 02 - 08  are the same as those of  FIG. 10 ; thus achieving the resetting of switch S 27  without false triggering of other switches in the array. 
         [0059]    With respect to switch S 27 , the pulse interval and voltage level supplied by AXS_ 01  and AYS_ 01  may be those typically necessary to close the switch. Such levels and durations will typically vary depending on the type of switch used, e.g. MEMS switches or electromechanical relays or solenoids. Additionally, the voltage levels and duty cycle of the pulse modulated waveforms, e.g. AXS_ 02 , AXS_ 03 , AXS_ 04  in  FIG. 10 , will vary with the application, but are selected in each application to be sufficient to prevent false triggering of other devices in the array. Waveforms analogous to those shown in  FIGS. 10 and 11  are used to set and reset any specific one of the other switches in the 32 switch array. With respect to the array of  FIGS. 5 and 6 , it may be observed that such an array would conventionally require 4×8+4 (N·M+N)=36 drivers, whereas the illustrative embodiment employs 12 drivers. 
         [0060]    Methods according to the illustrative embodiments are effective in addressing EM device arrays that are symmetric (N=M), asymmetric (N&gt;M or N&lt;M), or asymmetric plus non orthogonal (an array composed of multi asymmetric sub arrays with various N or M segments). 
         [0061]    Those skilled in the art will appreciate that various adaptations and modifications of the just described preferred embodiment can be configured without departing from the scope and spirit of the invention. Therefore, it is to be understood that, within the scope of the appended claims, the invention may be practiced other than as specifically described herein.