Abstract:
An automatic CRC format detection and selection device observes FCS errors during an interval, incrementing counts thereof. When a determination is made that an error count threshold has been met, the CRC format may be automatically changed in order to enable CRC format detection and switching without requiring a user to have knowledge of the format or how to accomplish its change.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     This invention relates to data transmission, and more particularly for a method and apparatus for detecting the CRC format in Wide Area Network monitoring, for example.  
         [0002]     In Wide Area Network communication, for example with the PPP protocol, a cyclic redundancy code (CRC) is employed for error detection. The sender of a data frame calculates the CRC and includes the calculated value with the frame of data. At the receiving end, the receiver calculates the CRC based on the data and compares the calculated value with the CRC value sent by the sender.  
         [0003]     Current practices employ both 16 bit and 32 bit CRC. It is important that the same type of CRC be employed by both the sender and the receiver of the data, in order for the error detection to operate as designed. Particularly in the case of network test and monitoring equipment, wherein a particular instrument may be used on many different specific types of networks, or may be installed by persons not familiar with the particular network or protocol configurations, the particular form of CRC that is in use may be unknown.  
         [0004]     In accordance with the prior art, it was necessary to manually select either 16 or 32 bit CRC format with monitor and test equipment, requiring the user to have knowledge of the CRC format in use and to have the skill to make the setting properly. An incorrect CRC format would make an analyzer or other test instrument unusable.  
       SUMMARY OF THE INVENTION  
       [0005]     In accordance with the invention, a method and apparatus are provided for automatically selecting either 16 or 32 bit CRC format. A counter is employed to count consecutive frame check sequence (FCS) errors, and that counter is watched in order to make a determination whether the CRC format setting is either acceptable or needs to be changed.  
         [0006]     Accordingly, it is an object of the present invention to provide an improved system and method for determining the CRC format of a network under test.  
         [0007]     It is a further object of the present invention to provide an improved WAN analyzer instrument that automatically detects and sets the correct CRC format.  
         [0008]     It is yet another object of the present invention to provide an improved method to determine and set the CRC format without requiring user knowledge or intervention.  
         [0009]     The subject matter of the present invention is particularly pointed out and distinctly claimed in the concluding portion of this specification. However, both the organization and method of operation, together with further advantages and objects thereof, may best be understood by reference to the following description taken in connection with accompanying drawings wherein like reference characters refer to like elements. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]      FIG. 1  is a block diagram of a WAN analyzer employing the invention therein; and  
         [0011]      FIG. 2  is a flow chart of the error detection and counting process.  
     
    
     DETAILED DESCRIPTION  
       [0012]     The system according to a preferred embodiment of the present invention comprises a WAN analyzer that incorporates the inventive CRC format detection method and apparatus.  
         [0013]     Referring to  FIG. 1 , a block diagram of a WAN analyzer  10  in accordance with the present invention, the analyzer suitably employs one or more microprocessors and/or programmable gate arrays  12 , memory  14  (which may include RAM, ROM, flash memory, etc.), WAN interfaces  16 , other interfaces  18  and power supply  20 . The WAN interfaces and other interfaces convey data to and from the processors  12 , wherein the processors implement a WAN analyzer. A display and input device may suitably be provided to display data and reports and show/enable configuration, but in a preferred embodiment, such display and i/o is suitably accomplished by interaction through interfaces  18  or  16 , which allow another device, such as a computer running operation software or the like, to interact with the WAN analyzer and allow a user to configure and operate the analyzer.  
         [0014]     In operation, data from the WAN is received via the interface (transmissions may also be made to the WAN) and are processed and analyzed by processors  12 . The interface  16  handles any protection, data framing and other issues relevant to the particular type of network to which the instrument  10  is connected.  
         [0015]     Referring now to  FIG. 2 , a flow chart of the error counting process, an error count is initially cleared (step  22 ). Data is input via the WAN interface (step  24 ) and at the end of a packet of data, a determination is made whether the packet had a FCS error. If so, and if the count of errors has not yet reached an error count limit (which may be, for example,  15 ), then the error count is incremented (step  26 ). The process then either continues to process more input data, or if a particular data set is complete, step  28 , (which may be, for example, based on the passage of an amount of time, for example, 5 seconds) then a determination is made at whether the error count is too high, step  29 , (which may be the above noted error count limit of 15, for example). If so, then a flag is set to indicate a CRC error (step  30 ). Then, whether an error condition was determined or not, the process continues back with step  22 , to reset the error count and continue as noted above.  
         [0016]     The setting of the error flag to indicate a CRC error is observable by the processors, and is used to decide whether to change the CRC from 16 to 32 bit or from 32 to 16 bit, for example.  
         [0017]     Periodically, during operation, if the option of using automatic detection of CRC format is enabled, the processor or firmware will read the state of a CRC excessive error flag. If that flag is set, indicating that CRC errors were excessive over a particular period (which is, for example, 5 seconds), then the CRC setting can be automatically changed, which, as noted above, in the particular embodiment would involve switching from a 16 bit to a 32 bit CRC, or from a 32 bit to a 16 bit CRC. Other factors beyond the state of the CRC excessive error flag are also observed by the firmware in decided whether to switch the CRC format. These other factors include physical layer decision factors, which may include physical layer errors such as loss of signal, loss of frame, framing errors, for example. These particular types of physical layer errors could present a false positive CRC error state. In view of this, if physical layer errors are present during the sampling period of the CRC counters, then the state of the CRC error count flag will not be used to make a switch of the CRC format.  
         [0018]     In the illustrated embodiment, the analyzer monitors both sides of a full duplex link and a CRC excessive error count flag is provided for each side of the link. In operation, the frame check sequence CRC setting is considered incorrect (therefore warranting changing) if the side of the link with the most total frames (whether error frames or not) meets the test of the CRC excessive error count flag being set and the physical layer decision factors warranting observation of the CRC flag.  
         [0019]     In operation, the firmware will initially set the CRC mode to be last detected or user-specified value, the assumption being that there is a likelihood that the analyzer will be used on a same or similar network as during the previous operation thereof.  
         [0020]     The invention is suitably implemented via a FPGA that performs the monitoring and counting of FCS errors and setting of the CRC error flag, and by firmware or software running on a processor that observes the state of the CRC error flag, and uses that flag value to decide whether to change the CRC format.  
         [0021]     Accordingly, the invention suitably provides and automated setting of CRC format between two or more formats, suitably 16 and 32 bit in the illustrated embodiment. By use of the process and system, the user is freed from having to know what format the particular network employs and without having to know how to change the format settings.  
         [0022]     While a preferred embodiment of the present invention has been shown and described, it will be apparent to those skilled in the art that many changes and modifications may be made without departing from the invention in its broader aspects. The appended claims are therefore intended to cover all such changes and modifications as fall within the true spirit and scope of the invention.