Abstract:
Errorless switching of digital signals from a service channel is achieved even to an alternate channel, when the signals have a format in which the payload can float within the frame or in which the overhead bytes of the service channel may be different from the overhead bytes of the alternate channel. A preprovisioned delay is provided on the service channel. The amount of delay between corresponding frames containing the same payloads in the digital signals being transported in each channel is measured and added on the alternate channel, thus aligning the channels. The payloads within corresponding frames in the digital signals being transported in each channel are aligned by passing a pointer value indicating the start of the payload of the signal being transported in the service channel to the alternate channel and shifting the payload of the signal being transported in the alternate channel in accordance with the passed pointer value. Once the two signals are frame and paylaod aligned, a switch is made from the signal transported on the service channel to the signal transported on the alternate channel.

Description:
TECHNICAL FIELD 
     This invention relates to switching systems and, more particularly, to switching to an alternate channel carried over a diverse route. 
     BACKGROUND OF THE INVENTION 
     Errorless protection switching systems, e.g., for digital radio, are known. In these systems, signals carried on a service channel are switched to be carried on an alternate channel upon the detection of a predetermined threshold number of errors at the receiver. To accomplish such a switch, these prior switching systems must compensate for the different transmission delays between the service channel and the alternate channel. In such radio systems, delays are minimized because the service channel and alternate channel traverse the same physical transmission route. Therefore, the differential delay, i.e., the difference in transmission delay between the service channel and the alternate channel, is minimal. Compensation for the differential delay is obtained by employing on each service channel a delay build-out equal to the maximum differential delay, Δ. The delay of the service channel combined with the build-out delay is always greater than the delay inherent in the alternate channel. Furthermore, a variable delay, the length of which ranges from zero to two times the maximum differential delay, can be controllably added to the alternate channel. As a result, a delay can always be added to the alternate channel so that the total delay of the alternate channel is equal to the total delay of the service channel. Therefore, although the alternate channel without build-out delay can be shorter or longer than any given service channel without build-out delay, the total delay of each channel with their respective build-out delays can be equalized. Once delay equality of the channels has been achieved, data may be errorlessly switched from the service channel to the alternate channel. 
     Such an errorless switching system can only be utilized when the bit stream transported on the alternate channel is identical to the bit stream transported on the service channel. However, when employing a signal format, for example the SONET format, in which the starting location of a payload, i.e., a predetermined unit of data, can float within each frame, the bit streams arriving at the receiver from the service channel and the alternate channel may not be identical. Additionally, the overhead bytes of the signal carried on the alternate channel may be different than the overhead bytes of the signal carried on the service channel, even if the starting location of the payload in corresponding frames is the same. For example, signals originating from a SONET network may need to be rerouted from the service channel to an alternate channel which passes through an intermediate central office. To keep the payload synchronous with the SONET network the payload may be shifted within the frame. In addition, the overhead bytes themselves can be different because some of them may be utilized for auxiliary functions between two network elements, e.g., between the originating element and the added intermediate element through which the signal is rerouted. This would result in the bit streams comprising the signals on the service and alternate channels arriving at the receiving end being different. In such situations, prior errorless switching systems and techniques cannot achieve an errorless switch. 
     SUMMARY OF THE INVENTION 
     The problems with errorless switching of signals from the service channel to an alternate channel, when the signals have a format in which the payload can float within the frame or in which the overhead bytes from the alternate channel may be different than those from the service channel, are overcome, in accordance with an aspect of the invention, by preprovisioning a delay on the service channel, aligning the corresponding frames of the service and alternate channels and then aligning the payloads contained within the corresponding frames. 
     As a first step towards aligning the payloads, the delay between corresponding frames containing the same payloads is measured. The measured amount of delay is added on the alternate channel. Because of the preprovisioned delay on the service channel, delay added to the alternate channel causes the corresponding frames on each of the two channels to be aligned. Thereafter, the payloads within corresponding frames on each channel are aligned by passing a socalled pointer value indicating the start of the payload in the service channel to the alternate channel and shifting the payload of the alternate channel in accordance with the passed pointer value. Once the two signals are frame and payload aligned, a switch is made from the signal carried on the service channel to the signal carried on the alternate channel. If the overhead bytes are not the same, as for example in SONET, the switch must be performed at the start of a new frame. Otherwise, the switch may be performed at any point. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     In the Drawing: 
     Shown in FIG. 1 is an example network wherein the signals carried on the service and alternate channels when they arrive at the receiving end may be different; 
     FIG. 2 shows an alternate high level view of the network shown in FIG. 1; 
     Shown in FIG. 3 is an exemplary high level architecture for errorless switch circuit pack; 
     Shown in FIG. 4, in simplified block diagram format, is an exemplary implementation of an errorless switching device; 
     Shown in FIG. 5 is an exemplary pointer processor and payload aligner; and 
     FIGS. 6, 7, and 8 when connected as shown in FIG. 9 form a flow diagram of the operations required to perform an errorless switch. 
    
    
     DETAILED DESCRIPTION 
     Shown in FIG. 1 is an example network wherein the signals carried on the service and alternate channels when they arrive at the receiving (tail) end may be different. Notwithstanding the possibilities of such differences, errorless switching of the signal carried on the service channel to an alternate channel can be performed. A signal originating at path terminating element (PTE) 101 in office (A) 103 is supplied to cross-connect (XC) system 105. Under typical operating conditions, cross-connect system 105 cross-connects the signal to line terminating equipment (LTE) 107 and causes it to be transported to line terminating equipment (LTE) 109 in office (B) 111. From line terminating equipment 109the signal passes to cross-connect 113 which is equipped with errorless switch circuit pack 115. The output from errorless switch circuit pack 115is supplied to path terminating element (PTE) 117 where it is terminated. The delineated path over which the signal travels from cross-connect system 105 to cross-connect system 113 comprises the service channel. Whenit is determined that an errorless switch to an alternate channel for the aforementioned signal is required, an additional path (shown in dot outline) through cross-connect system 105 is established to line terminating equipment (LTE) 119. This additional path thus bridges the signal from path terminating element 101 to line terminating equipment 119, i.e., a head end bridge is established for the alternate channel. From line terminating equipment 119 the signal is transported to line terminating equipment 121 of office (C) 123. The signal is cross-connectedthrough cross-connect system 125 to line terminating equipment 127 from which it is transported to line terminating equipment (LTE) 129 of office (B) 111. The signal in the alternate channel passes from line terminating equipment 129 to cross-connect system 113. The alternate channel is transported over the delineated path noted above which is entirely distinct from the physical path of the service channel. In office (B) 111 the desired errorless switch is accomplished by means of errorless switch circuit pack 115. Upon completion of the errorless switch, the resulting signal, derived from the alternate channel, is thereafter supplied to pathterminating element 117 which remains unaware that any switching activity has occured. It should be noted that any alternate route available from office (A) 103 to office (B) 111 is acceptable as an alternate channel. The route of the alternate channel need not be fixed until it is determined that an errorless switch is required. Although this example shows the routing of an alternate channel from office (A) 103 over an indirect route to destination office (B) 111, use of this technique is notprecluded when the alternate channel is routed over an available channel directly connecting office (A) 103 to office (B) 111, such as channel 131.Although in this example errorless switch circuit pack 115 is shown as a part of cross-connect system 113, such a circuit pack may also be includedin other network elements. 
     FIG. 2 shows an alternate high level view of the network shown in FIG. 1. This alternate view focuses on the delays that are required to be preprovisioned in the errorless switch node, office (B) 111. Because of the nature of modern high speed communication systems and the large differential delay that can arise if a diverse route is used for the alternate channel, it is typically necessary to preprovision a delay on the service channel. The delay employed on the service channel 201 is set equal to the maximum differential delay between the service channel and the alternate channel, Δ. As in prior systems, the delay of the service channel combined with the preprovisioned delay is always greater than the delay inherent in the alternate channel. It is imperative that the delay be preprovisioned if large differences in path delay between theservice channel and the alternate channel are to be accommodated. This is because a large change of delay on the service channel could cause either the signal transported by the service channel to degrade or lose data. Implementations of the service channel, however, typically allow addition of up to twice the maximum differential delay, Δ , although only onetime the maximum differential delay is actually provisioned. The ability toadd extra delay is provided so that any channel be used as either as a service channel or as an alternate channel. Additionally, a variable delay203, the duration of which ranges from zero to two times the maximum differential delay, i.e., 2Δ, can be controllably added to the alternate channel. As a result, a delay can always be added to the alternate channel so that the total delay of the alternate channel is equal to the total delay of the service channel. Therefore, although the delay of the alternate channel without build-out delay can be shorter or longer than the delay of any given service channel without build-out delay, the total delay of the channels can be equalized by use of their respective build-out delays. 
     Shown in FIG. 3 is an exemplary high level architecture for errorless switch circuit pack 115 (FIG. 1). Channels, are supplied to input ports 1,2, . . . , N of errorless switch circuit pack 115. The channels are groupedinto pairs and each pair is supplied to one of errorless switch devices 303-1 through 303-M where M=N/2. Each channel typically carries a signal comprised of a data signal and a clock signal. The operation of each of errorless switch devices 303 will be described further below. Each of errorless switch devices 303 can operate in one of three modes. In the first mode, each of errorless switch devices 303 operates as an independent errorless switch and output interface for cross-connect system113 (FIG. 1). Similarly, in the second mode, each of errorless switch devices 303 operates as a synchronized errorless switch and output interface for cross-connect system 113. In the third mode, each of errorless switch devices operates as a dual channel output interface for cross-connect system 113. The second and third modes, as well as the function of LOCKING CONTROL signals will be discussed in further detail below. The mode of each of errorless switch devices can be individually determined by the user through a control mechanism (not shown). Output ports 305-1 through 305-N of errorless switch devices 303 are subsequentlysupplied to either path terminating equipment or line terminating equipmentdepending upon the configuration of the system. Also, clock CS is supplied by a source external errorless switch devices 303, e.g., by cross-connect system 113. Signals supplied as outputs from each of output ports 1 through N of errorless switch devices 303 are synchronized to clock CS. 
     Shown in FIG. 4, in simplified block diagram format, is an exemplary implementation of one of errorless switch devices 303 (FIG. 3). The signals transported on a service channel comprising data stream D10 and clock C1 are supplied via input port 1 to variable delay 405. If the cross-connect system 113 (FIG. 1) does not provide clock C1, then clock C1may be derived from data D10 through well known methods of timing recovery.This recovery would be performed by additional clock recovery circuitry (not shown) that may be incorporated into each of errorless switch devices303. The data D10 is written into variable delay 405 at a rate determined by clock C1. Also, the signals transported on an alternate channel comprising data D20 and clock C2 are supplied via input port 2 to variabledelay 409. The data D20 is written into variable delay 409 at a rate determined by clock C2. Variable delays 405 and 409 have been provisioned,in accordance with an aspect of the invention, and may be implemented through the use of elastic stores. Data from variable delay 405 is retrieved at a rate determined by controllably gapped clock C 1G  on circuit path 411 and is supplied to descrambler (DSCR), framer, and overhead (OH) read unit 413. A controllably gapped clock for retrieving data is a clock the frequency of which can controllably be set less than or equal to the clock writing in the data. Controllably gapped clocks are well known in the art. Similarly, data from variable delay 409 is retrieved at a rate determined by gapped clock C 2G  415 and supplied to descrambler (DSCR), framer, and overhead (OH) read unit 417. The gappedclocks C 1G  and C 2G  are supplied by frame alignment unit 419. The function of descrambler (DSCR), framer, and overhead (OH) reads units 413 and 417 is to perform any descrambling that is required, to locate and identify the frame markers, i.e., the beginning of each frame, and to readand extract overhead information required for further processing. Descrambler (DSCR), framer and overhead (OH) read unit 413 supplies descrambled data stream D11 and start of frame signal F1 to frame alignment unit 419. Likewise, descrambled data stream D21 and start of frame signal F2 are supplied by descrambler (DSCR), framer and overhead (OH) read unit 417 to frame alignment unit 419. Frame alignment unit 419 compares the data signal D21 derived from the signal transported on the alternate channel for a frame that corresponds to a predetermined frame ondata signal D11 derived from the signal transported on the service channel in order to determine the differential delay between the service channel and the alternate channel. This differential delay information is then used to align the corresponding frames of the service channel and the alternate channel. This alignment is performed by controlling the variabledelay from the alternate channel via the gapped clock C 2G  which is derived by frame alignment unit 419 from clock C2. Signals D11, C1, F1, D21, C2 and F2 are passed through frame alignment unit 419 to pointer (PTR) processor (PROC) and payload (PLD) aligner. Pointer (PTR) processor (PROC) and payload (PLD) aligner 421 synchronizes data signals D11 and D21are aligned and appropriate pointer values are written into new data streams D12 and D22. Pointer (PTR) processor (PROC) and payload (PLD) aligner 421 is discussed in further detail below in conjunction with FIG. 5. Additionally, pointer (PTR) processor (PROC) and payload (PLD) aligner 421 supplies an alignment indicator channel to switch control unit 423. LOCKING CONTROL IN signal and LOCKING CONTROL OUT, are ignored unless one of errorless switch devices 303 (FIG. 3) is operated in the second mode asa synchronized errorless switch mentioned above and described in further detail below. Upon receipt of an alignment indication, switch control unitin conjunction with any other inputs (not shown) supplies as an output a command to controllable switch 425 to switch from supplying data stream D12 as its output D to supplying data stream D22 as its output D. Additionally, controllable switch 425 supplies clock CS as its output clock C. 
     Shown in FIG. 5 is an exemplary implementation of pointer (PTR) processor (PROC) and payload (PLD) aligner 421 (FIG. 4). Synchronizer 501 is supplied with data signal D11, clock C1, start of frame signal F1 and clock CS. Synchronizer 501 generates new frames containing the payload data that has been extracted from signal D11 and synchronized with clock CS. During the synchronization process the value of the pointer, P1, that points to the start of the payload data may have been changed. The new value of pointer P1 is supplied to pointer (PTR) justification and controller unit 503. Similarly, synchronizer 505 is supplied with data signal D21, clock C2, start of frame signal F2 and clock CS. Synchronizer 505 is also supplied with the value of pointer P1 and a justification control signal from pointer (PTR) justification and controller 503. Synchronizer 505 generates new frames containing the data that has been extracted from signal D21 and synchronizes these new frames with clock CS.Again, during the synchronization process, the value of pointer P2 that points to the start of the payload data may have been changed. In accordance with an aspect of the invention, it is the new value of pointerP2 that is supplied to pointer (PTR) justification and controller 503. Moreimportantly, and again, in accordance with an aspect of the invention, the payload data extracted from signal D21 is inserted in the frame generated for data D21 in the location indicated by the pointer value P1. Pointer (PTR) justification and controller 503 provides to synchronizer 505 the necessary positive or negative justification control signal depending on the relative values of P1 and P2. When the justification process is completed, the value of P1 and P2 are equal and therefore the payloads arealigned. Upon achieving alignment, pointer (PTR) justification and control unit 503 supplies as an output ALIGNMENT indication to switch control unit423 (FIG. 4). 
     Data D1, start of frame signal F, and clock CS are supplied to frame formatter 507 which writes into the frame the necessary overhead bytes. These overhead bytes may include but are not limited to: framing pattern, parity and maintenance information. Additionally, frame formatter 507 performs any necessary scrambling of any parts of the completed frame thatis required. The final form of the frame is supplied as an output D12 to controllable switch 425. In a similar manner, data D2, start of frame signal F and clock CS are supplied to frame formatter 509 which writes into the frame the necessary overhead bytes. Additionally, frame formatter509 scrambles any parts of the completed frame for which scrambling is required. The final frame is supplied as output D22 to error free switch 425. Upon receipt of a switch indication from switch control unit 423 (FIG. 4), controllable switch 425 completes the switching process by switching its output D from D12 to D22. 
     FIGS. 6, 7, and 8 when connected as shown in FIG. 9 form a flow diagram of the operations required to perform an errorless switch. When it is determined that an errorless switch from one facility to another is required, the routine is entered via step 901. An alternate channel is selected and established by bridging at the head end of the signal in step903. One example of such an alternate channel is the channel through office(C) 123 (FIG. 1) as described above. This may be accomplished by cross-connecting at the receiver node and, in addition, it may be necessary to cross-connect at intermediate nodes. The alternate channel isprovisioned with variable delay 409 with a capacity for twice the maximum differential path delay, 2Δ. In step 905, for the signal carried on each channel, frame markers are identified and located, any descrambling that is required is performed and the overhead bytes are read. The functionality of this step is performed by descrambler (DSCR), framer, andoverhead (OH) read unit 413 (FIG. 4) and 417. Then, in step 907 the number of bits between a frame marker of the signal carried transported by the alternate channel and the next frame marker of the signal carried transported by the service channel, M, is counted and stored. A data pattern comprising a predetermined number of data bytes from the payload of the alternate channel is read in step 909. The data bytes that are selected should not be any bytes that are known to repeat in a characteristic fashion in a series of frames, such as path overhead bytes or stuff bytes. Such a selection is necessary to prevent false matching. Because of the preprovisioning of the delay on the service channel it is known that the service channel is longer than the alternate channel. Therefore, the frames containing the payload of the alternate channel are ahead of the corresponding frames of the service channel. Control is then passed to conditional branch point 911 which checks for the same data pattern on the service channel at the same relative location with respect to its payload start mark as the data pattern previously read in step 909 from the alternate channel. If the same pattern is not found within a predetermined number of frames, control is passed back to step 909 and data from a new frame supplied from the alternate channel is sampled. If the same pattern is found in step 911 control is passed to step 913 which rechecks the match to achieve the predetermined probability that the matchis a true match. If the recheck in step 913 is not successful control is passed back to step 909 to initiate a new search. The probability of falsematching is reinitialized. If the recheck in step 913 is successful, control is passed to step 915 which obtains the number of frames that the service channel is behind the alternate channel. This method of searching of corresponding data patterns minimizes the required number of comparisons and hence minimizes the probability of false matching. The number of frames is translated into the corresponding number of bits N. Instep 917, M and N are added to obtain D, the total number of bit time unitsin the differential delay between the two channels. A gapped clock is generated in step 919 to add a delay to the alternate channel by an amountof D bits. Steps 909 through 919 are accomplished by frame alignment unit 419 (FIG. 4) 
     New frames are generated for both channels by synchronizing both channels with clock CS in step 921. Next, in step 923, the pointer values of each of the two channels is read. The pointer of the service channel is P1 and the pointer of the alternate channel is P2. These pointers indicate the start of the payloads within each of the corresponding frames after the two data signals are time synchronized. Control is then passed to conditional branch point 925 which tests the relative values of P1 and P2.If the test result in step 925 is that P1 is less than P2 control is passedto step 927 which performs negative pointer justifications on the signal supplied from the alternate channel. For example, in SONET, a negative justification is performed by shifting the payload backward and placing anextra data byte into a stuff byte location. The number of bytes shifted in the negative pointer justification is equal to the value of P2 minus the value of P1. Control is then passed to step 929. If the test result in step 925 is that P1 is greater than P2 control is passed to step 931 whichperforms positive pointer justifications on the signal supplied from the alternate channel. Again, for example, in SONET positive justifications are performed by shifting the payload forward and any resulting empty byteis filled with a stuff value. The number of bytes shifted in the positive pointer justification is equal to the value of P1 minus the value of P2. Control is then passed to step 929. If the test result in step 925 is thatP1 is equal to P2 control is passed directly to step 929. Conditional branch point 929 test whether incoming pointers P1 and P2 have remained unchanged during the payload alignment process. If the test result in step929 is no, control is passed back to step 925. This is required because thepayload alignment previously performed has become invalidated by the changein either P1 or P2. If the test result in step 929 is yes, control is passed to step 933 which writes a new pointer value of P1 in the appropriate overhead bytes of the signal supplied from the alternate channel. Steps 921 through 933 are performed by pointer (PTR) processor (PROC) and payload (PLD) aligner 421 (FIG. 4). 
     In step 935, the values of any remaining overhead bytes that must be recalculated are recalculated. Then, all the overhead bytes are written tothe appropriate locations in both channels. Both sets of new signals are scrambled, if necessary. This operation is performed by frame formatters 507 (FIG. 5) and 509. The resulting signals which are now both frame aligned and payload aligned are fed to controllable switch 425 (FIG. 4) instep 937. Finally, in step 939, the errorless switching process is completed by switching from the service to the alternate channel at the beginning of a new frame within a fraction of a bit period so that no bit error occurs. If the overhead bytes are not the same, as for example in SONET, the switch must be performed at the start of a new frame. This is because the frame of the alternated channel that was switched to is not identical with the frame of the service channel that was switched from. Thus, although each frame itself is valid and carrying all the informationrequired at the termination for error free reception, a changeover in the middle could cause errors. For example, error checking systems might fail because the received checksum will be for a single frame of the alternate channel signal while the checksum computed at the termination would be based partly on the alternate channel signal and partly on the service channel signal. The two checksums would not match as required for error free operation, since they were calculated based on different data, and anerror condition would result. If the overhead bytes are the same the signals have become identical so that the errorless switch may be performed at any time. 
     Returning to FIG. 3, another aspect of the invention incorporated into thisarchitecture is the ability to errorlessly switch a higher rate signal thaneach of the errorless switch devices can individually accommodate. In this example, errorless switch devices 303-1, 303-2 and 303-3 are collected together as a group to errorlessly switch to an alternate channel three lower rate signals which together comprise one higher rate signal originally carried on a single service channel. For example, in SONET, each individual signal may be 51.84 Mb/s rate. However, the next higher rate signal in the SONET signal hierarchy is 155.52 Mb/s. The 155.52 Mb/s can be split into three tributary 51.84 Mb/s signals using a demultiplexor(not shown) employing byte disinterleaving techniques which are well known.Each tributary of the 155.52 Mb/s service channel is supplied to the odd numbered input of one of errorless switch devices 303. The corresponding tributaries of the 155.52 Mb/s alternate channel are supplied to the even numbered input of the corresponding ones of errorless switch devices 303. The three errorless switch devices operate in their second mode such that they are synchronized to each other and each performs a synchronized errorless switch for its tributary signals. The synchronization is accomplished by means of LOCKING CONTROL signals that are passed from errorless switch device 303-1 to errorless switch devices 303-2 and 303-3.Errorless switch devices 303-2 and 303-3 are to be synchronized with errorless switch device 303-1. The LOCKING CONTROL signals can be seen more clearly in FIG. 4. LOCKING CONTROL OUT signals are supplied from pointer (PTR) processor (PROC) and payload (PLD) aligner 421 and frame alignment unit 419. These LOCKING CONTROL OUT signals are supplied via signal lead LOCKING CONTROL IN to frame alignment unit 419 and pointer (PTR) processor (PROC) and payload (PLD) aligner 421. In one implementation of pointer (PTR) processor (PROC) and payload (PLD) aligner421, LOCKING CONTROL signals are supplied to and generated by pointer (PTR)justification and controller 503 (FIG. 5). After the errorless switch of each of the three tributary signals, the tributary signals are reconstructed into a single 155.52 Mb/s signal by a multiplexer (not shown) utilizing the inverse of the byte disinterleaving techniques employed. 
     In the third mode of operation of one of errorless switch devices 303 (FIG.3), no errorless switch is performed. This mode of operation is selected bya control mechanism (not shown). The signals carried on each channel supplied to the input ports of one of errorless switch devices 303 are synchronized to clock CS but are neither frame aligned nor payload aligned. To prevent pointer justifications from being performed, pointer (PTR) justification and controller unit 503 (FIG. 5) is disabled by a control mechanism (not shown). Therefore, resulting synchronized data signals D12 and D22 (FIG. 4) carry independent signals, i.e., signals not derived from a single original source. Each synchronized signal is independently supplied, along with clock CS, as an output to its corresponding output port.