Abstract:
A system and method are provided for identifying an error condition and the sequence of a high bandwidth data stream that is split among low bandwidth links. The system includes a first unit coupled to links for inverse multiplexing a data stream into frames that are transmitted over at least two links and a second unit at the second location coupled to the other end of the links for receiving the frames and multiplexing the frames to produce the cell stream, wherein the first unit inserts at least one detection cell into each frame prior to transmission and the second unit analyzes the detection cell to determine if an error condition exits. The method includes establishing a size for a detection cell and a frequency of insertion into the data stream, determining a known signal that will be part of the detection cell, inserting the detection cell into the data stream, and analyzing the received detection cell at the second unit to determine if an error condition exists.

Description:
BACKGROUND  
         [0001]    This invention relates to telecommunication systems and, more specifically, to transporting data streams over physical links of varying bandwidth.  
           [0002]    In telecommunication networks or systems, data is transported from one location in the network to another location in the network at various data rates. Thus, the situation may arise, at some point in the network, where the transport or data rate for an incoming data stream exceeds the capacity of a single physical link over which the data streams needs to be transported. Data streams that exceeds the capacity of a single physical link can be split into separate streams and the separate streams sent over multiple physical links; the aggregate capacity of the lower capacity lines is sufficient to carry the data stream. This approach to splitting the data or transporting a data stream over several lines is known as “inverse multiplexing”.  
           [0003]    One type of link is a T1 link. T1 is a full-duplex system: transmitted signals are transported on one wire pair, and received signals are transported on a separate wire pair a rate of 1.544 Mbps.  
           [0004]    As an alternative to T1 links and equipment, links can have an E1 bit streams that are transmitted at a line rate of 2.048 Mbps.  
           [0005]    In order to transport data, the data is packaged according to a predetermined protocol. One protocol is Asynchronous Transfer Mode (ATM). In accordance with ATM protocol, the data is packaged in cells called ATM cells. In inverse multiplexing, the ATM data or cell stream is divided into frames and transported over several low capacity lines, such as the T1 links.  
           [0006]    One application of inverse multiplexing a high rate data stream onto a low rate data line is in systems that transport ATM cells. A typical ATM cell is 53 bytes in length. Each cell includes a payload and a header. The equipment processing the ATM cell stream may insert or delete idle ATM cells into or from, respectively, each frame. A frame includes ATM cells, control protocol cells for inverse multiplexed ATM (ICP), and/or filler cells.  
           [0007]    Once the separate streams have passed through the low capacity portion of the network, they can be combined to form the original data stream. Known systems and methods combine or multiplex the separate data streams from the lower capacity lines at a receiver and, thereby, reconstruct the original data stream.  
           [0008]    In order to reconstruct the original data stream from the individual low capacity data streams that are received at the receiver, the sequencing or ordering of the frames and, thus, the ATM cells must be tracked. Known methods include inserting a cell into the frame, such as the ICP cell that includes sequencing information for each frame, among other information. However, insertion of this cell results in a great deal of overhead because each ICP cell typical includes 53 bytes, of which only 1 byte is typically devoted to frame sequencing information. Additionally, in order to accurately detect if an error condition exists, cyclic redundancy check (CRC) bytes and/or ICP cells of several sequentially received ICP cells are analyzed. Thus, it takes several frames and, hence, many ATM cells pass before current systems realize that an error condition existed and currently exists. Accordingly, the time take to correct or handle the error condition is greatly increased.  
           [0009]    Therefore, what is needed is a system and method for identifying an error condition and the sequence of a data stream that is taken from a high bandwidth line and split among low bandwidth links, which have an aggregate bandwidth that is at least equal to the high bandwidth line, with minimal overhead quick recovery from error conditions.  
         SUMMARY  
         [0010]    A system and method are provided for identifying an error condition in a data stream that is split among low bandwidth links while introducing minimal overhead in the data stream and allowing for quick recovery from error conditions. The system includes a first unit at the first location coupled to one end of each of a plurality of links for receiving the cell stream and inverse multiplexing the cell stream into frames that are transmitted over at least two trained links selected from the plurality of links and a second unit at the second location coupled to the other end of each of the links for receiving the frames from each of the trained links and multiplexing the frame to produce the cell stream, wherein the first unit inserts at least one detection cell into each frame prior to transmission and the second unit analyzes the received detection cell to determine if an error condition exits.  
           [0011]    The method includes establishing a desired cell size for a detection cell and a frequency of insertion into the data stream, determining a known signal that will be incorporated into the detection cell, inserting the detection cell with the known signal into the data stream being transmitted from the first unit to the second unit, and analyzing the received detection cell at the second unit to determine if an error condition exists. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]    [0012]FIG. 1 is a block diagram of two inverse multiplexers (IMUXs) coupled by multiple bi-directional physical communication links for passing ATM cell streams over the links.  
         [0013]    [0013]FIG. 2 is a block diagram of three active links and one idle link between the IMUXs of FIG. 1.  
         [0014]    [0014]FIG. 3 is timeline illustration of an ATM cell stream inverse multiplexed onto three data links of FIG. 2.  
         [0015]    [0015]FIG. 4 is a timeline which shows the structure of an IMUX frame. 
     
    
     DETAILED DESCRIPTION  
       [0016]    Referring now to FIG. 1, a system  10  includes at least two inverse multiplexers (IMUXs)  20  and  22  coupled by multiple physical communication links  28   a - n . For illustration purposes, the IMUXs  20  and  22  are shown coupled by the physical communication links  28   a - n  that are DS1 links, which carry bi-directional format data streams. Each link  28  carries data streams in either direction at a specified rate, which depends on the link&#39;s characteristics. In the illustrative example, each of the links  28   a - n  carries one DS1 data stream  30   a - n  in one direction and another DS1 data stream  32   a - n  in the other direction. In other embodiments, data streams of different rates and formats, such as an E1, may be utilized.  
         [0017]    Each of the links  28   a - n  can be a part of or pass through a public switched telephone network (PSTN). Furthermore, the links  28   a - n  may be physically separate, for instance, using separate conductors in separate cables, or using different paths through the PSTN. Also, links  28   a - n  may be physically combined for all or part of the path between IMUX  20  and  22 . For example, the data streams may be multiplexed onto a higher capacity physical communication link, such as a DS3 link. Additionally, links  28   a - n  may exhibit different properties, including different transmission delays and different error rates.  
         [0018]    The logical structure for the IMUX  20  and  22  can be implemented using a programmable processor, dedicated hardware, or both. A controller may, in some embodiments, be implemented as software processes executing on a programmable processor, under the control of software stored on a medium, such as a semiconductor read-only-memory (ROM). The controller may also include timing or clocking circuitry to determine the timing of data transfers between modules or unit. If the IMUX  20  and/or  22  includes a programmable processor, then software can be distributed to the IMUX  20  and/or  22 , for example on a physical removable medium or over a data network.  
         [0019]    The IMUX  20  includes a transmitter  24  and a receiver  26 . For illustrative purposes, an ATM cell stream is discussed, but any form of data stream can be handled. The transmitter  24  accepts an inbound ATM cell stream  44  over a physical ATM communication link  40 . The transmitter  24  of the IMUX  20  inverse multiplexes and sends the ATM cell stream  44  in the form of the DS1 data streams  32   a - n  over the links  28   a - n , respectively, to the IMUX  22 .  
         [0020]    The IMUX  22  includes a transmitter  34  and the receiver  36 . The receiver  36  receives the DS1 data streams  32   a - n  from the transmitter  24  of the IMUX  20  and multiplexes the DS1 data streams  32   a - n . The IMUX  22  can also receive an incoming ATM cell stream and inverse multiplex the incoming ATM cell stream over the links  28   a - n . More specifically, the transmitter  34  of the IMUX  22  accepts an inbound ATM cell stream  54  over a physical ATM communication link  50 . The transmitter  34  inverse multiplexes the ATM cell stream  54  in the form of DS1 data streams  30   a - n  over a selected number of the links  28   a - n , respectively, that are then received by the receiver  26  of the IMUX  20 ; the receiver  26  multiplexes the DS1 data streams  30   a - n  to form an outbound ATM cell stream  42  transmitted over the ATM communication link  40 .  
         [0021]    The IMUXs  20  and  22  can be configured to use any number of the links  28   a - n . Each of the DS1 data streams  30   a - n  on the links  28   a - n , respectively, terminate at the receiver  26  of the IMUX  20  where the ATM cell stream  42  is reconstructed and sent over the ATM communication link  40 . Likewise, the DS1 data streams  32   a - n  on the links  28   a - n , respectively, each terminate at the receiver  36  of the IMUX  22 , where an ATM cell stream  52  is reconstructed and sent on the ATM communication link  50 .  
         [0022]    In order for the ATM cell stream to be reconstructed, the ATM cells that are received at the receivers  26  and  36  from the links  28   a - n  must be multiplexed by the receivers  26  and  36  in the same order that the ATM cells were received at the transmitters  20  and  22  from the ATM communication links  40  and  50 , respectively. Accordingly, a number of links from the links  28   a - n  must be selected, synchronized, and trained to operate at an optimal rate. Typically, the number of links that are selected from the links  28   a - n  depends on the data rate that the customer requests, the physical characteristics of each of the links  28   a - n , and the number of available links. Based on these factors and other criteria, the optimal rate for each group of selected links  28  is selected.  
         [0023]    In selecting the optimal transmission rate, various factors are considered, including the characteristics of each link  28 . For example, if four links between the IMUX  20  and  22  are selected, such as links  28   a - d , to carry the inverse multiplexed ATM cell stream, then four links are trained at the selected optimal rate. Calculation of the selected optical rate is the subject of U.S. application Ser. No. ______titled “Method and System for Establishing Link Bit Rate for Inverse Multiplexed Data Streams” Filed on ______and incorporated herein by reference.  
         [0024]    The selected optimal rate for any given link will be the same as the selected optimal rate for all of the other links and will depend on the characteristics of the links. Thus, the selected optimal rate should not exceed the maximum transmission rate of any one of the links  28 . Additionally, the selected optimal rate for each link may result in less than all of the available links being utilized.  
         [0025]    Referring now to FIG. 2, IMUXs  20  and  22  are shown, for illustration purposes, with four links  28   a - d  selected and available to carry the ATM cell streams  44  and  54  between the IMUX  20  and the IMUX  22 . Although in this embodiment four links are shown, it will be apparent to those skilled in the art that any number of links can be used to carry ATM cell streams between the IMUX  20  and the IMUX  22 . Furthermore, when specific numbers are used in the examples below, the intent is to illustrate various embodiments; it not intended to limit the scope and spirit of invention as claimed herein.  
         [0026]    The data traffic is carried between the IMUXs  20  and  22  by the links  28   a - d . In order to determine the optimal transmission rate for each link, the characteristics of each of the links are determined. It is the characteristics of the selected links  28   a - d  that will determine at what rate each of the lines will be trained and if all of the links  28   a - d  will be used.  
         [0027]    For example, if the ATM cell stream rate requires a bandwidth or rate of 5.5 Mbps, and it is determined that each of the links  28   a - d  can carry a rate of 2 Mbps, then only three of the four links  28   a - d  are needed to carry the data between the IMUXs  20  and  22 . Thus, three of the links, such as links  28   a - c , are trained to operate at the 2 Mbps rate and carry the data as active links between the IMUXs  20  and  22 .  
         [0028]    In order to eliminated delays due to a link failure, the fourth available link, such as link  28   d,  is also trained to operate at the 2 Mbps rate, but acts as an idle link. Accordingly, if any one of the three active links  28   a - c  fails, then the idle link  28   d  can be used to immediately carry the traffic and, thereby, avoid the down time associated with having to retrain the failed links or add and train new links.  
         [0029]    Referring now to FIG. 3, the ATM data stream is shown after being inverse multiplexed onto a plurality of links  28   a - c  in frames  60 ,  62 ,  64 ,  66 ,  68 , and  70 . For clarity, only frames  60  and  62  on the link  28   a  are shown in detail even though the teachings set forth with respect to frame  60  or  62  apply to all other frames. The frames  60  and  62  can include ATM cells  72   a - d  some of which may be an idle ATM cell that was inserted when ATM cell were not available to be insert into the frame  60 , cyclic redundancy check (CRC) cells  76 , detection cells  78 , and various other cells used for line detection and possible sequencing information, as will be discussed below.  
         [0030]    The detection cell  78  can vary in length and frequency of insertion. For example the detection cell  78  may be eight byte or sixty-four bits in length and appear after ever eight ATM cells. Alternatively, the detection cell  78  may be four bytes in length and appear after every four ATM cells. The overhead resulting from inserting the detection cell  78  is about 8 bytes or 1% of the total payload per frame  60 .  
         [0031]    Regardless of the length of the detection cell  78  or the frequency of insertion, the detection cell  78  will contain a predetermined pattern that is known at the both ends of the link  28 . Accordingly, error can be detected much faster and sooner because the detection cells, such as detection cell  78 , are insert frequently and repeatedly into each frame with a known content. The detection cell  78  may also include sequencing information that can further be used to enhance error detection.  
         [0032]    Referring to FIG. 4, a specific example of ATM cells are arranged on link  28   a . The link  28   a  includes the DS1 data streams  30   a . In this particular example, each frame, such as frame  60 , is 438-byte long. The frames are carried in sequential 24-byte data payloads of DS1 frames  80   a - n , which provide a 1.536 Mbps payload data rate. The frame  60  is not necessarily aligned with the DS1 frames  80 ; the first byte of the frame  60  does not necessarily begin at the first byte of a payload of the DS1 frame  80   a.    
         [0033]    Each frame carries eight ATM cells  72 . Each ATM cell  72  is either an unmodified ATM cell that was received on inbound ATM cell stream  44  (or  54 ), or is an idle ATM cells inserted at the IMUX  20  or  22  because an ATM cells was not available to fill the frame  60 . The first byte of the frame  60  is a frame alignment word (FAW)  82 , that includes a 7-bit frame alignment word and a 1-bit far end block error (FEBE) indicator.  
         [0034]    The frame  60  includes an ID byte  84 , which includes a 2-bit line identifier, and a 1-bit “line active” indicator. The line identifier is an index, numbered from 0 for the first DS1 data stream, the DS1 data stream  30   a  in this example, to 3 for the fourth DS1 data stream, the DS1 data stream  30   d  in the example of FIG. 2. The line identifiers are used by the receiver to identify the order in which the receiver should assemble the ATM cells onto the outbound ATM cell stream, thereby avoiding reliance on proper physical identification of the physical communication lines carrying each of the DS1 data streams.  
         [0035]    Additionally, the “line active” bit can be used by the receiver to determine whether an inactive line should be skipped altogether when reconstructing the ATM cell stream. Note that each the frame  60  includes four “overhead” bytes and 8*53=424 bytes of ATM cells, which amounts to less than 1% overhead per IMUX frame compared to the maximum DS1 payload data rate.  
         [0036]    The content of each frame, in tabular form, is as follows:  
                                                   TABLE 1                           Frame structure            Frame byte   Frame bit   Number           number   number   of bits   Description                      1     1-7   7   Frame alignment word         1     8   1   Far end block error (FEBE)                   indicator        2-54     9-432   424   ATM cell 1        55-107    433-856   424   ATM cell 2       108-160    857-1280   424   ATM cell 3       161-213   1281-1703   424   ATM cell 4       214-266   1704-2128   424   ATM cell 5       267-319   2129-2552   424   ATM cell 6       320-372   2553-2976   424   ATM cell 7       373-425   2977-3400   424   ATM cell 8       426   3401-3404   4   Reserved       426   3405   1   Available under software control       426   3406   1   “Line active” indicator       426   3407-3408   2   Line identification       427   3409-3416   8   Frame sequence number (FSN)       428   3417-3422   6   Cyclic redundancy check (CRC-6)       428   3423   1   Remote alarm indication       428   3424   1   Reserved                  
 
         [0037]    The cell sequence numbers of ATM cells  72  are determined from frame sequence number (FSN)  86 , which is typically at byte  427  in the frame  60 .  
         [0038]    It is to be understood that the foregoing description is intended to illustrate and not limit the scope of the invention, which is defined by the scope of the appended claims. Other aspects, advantages, and modifications are within the scope of the following claims. Although described in the context of particular embodiments, it will be apparent to those skilled in the art that a number of modifications to these teachings may occur. Thus, while the invention has been particularly shown and described with respect to one or more preferred embodiments thereof, it will be understood by those skilled in the art that certain modifications or changes, in form and shape, may be made therein without departing from the scope and spirit of the invention as set forth above and claimed hereafter.