Abstract:
A sniffer for an ad-hoc network including an RF transceiver for receiving network packets from the ad-hoc network, the RF transceiver being operable to receive the network packets without the sniffer being connected to the ad-hoc network; a microprocessor connected to the RF transceiver for processing the network packets to create associated FIFO packets; a memory connected to the microprocessor for storing the associated FIFO packets, and a communications interface for receiving the associated FIFO packets from the memory and for transmitting the associated FIFO packets to a computer.

Description:
FIELD OF THE INVENTION 
     The present invention relates to ad hoc networks and, in particular, to a packet sniffer for an ad hoc network. 
     BACKGROUND OF THE INVENTION 
     Standard IEEE 802.11 packet monitors (or sniffers) are known. Such monitors may, for example, monitor RF traffic packet traffic. 
     Traditionally, network nodes in an ad hoc network connect to and participate in data communication using the ad hoc network. However, with respect to at least some ad hoc networks, such as those manufactured by the assignee of the instant patent application, Intech21, there does not exist the ability to receive data packets in an ad hoc network without connecting to the network. 
     SUMMARY OF THE INVENTION 
     A packet sniffer is a radio frequency (RF) device that receives data packets transmitted by devices on an ad-hoc network, such as Intech21&#39;s radio frequency ad-hoc network. Much like a standard IEEE 802.11 RF packet monitor, the packet sniffer monitors “sniffs” the air, recognizing and receiving RF packets transmitted by a compatible ad-hoc network node or device. The sniffer may also act as a mobile access point with selective communication features that would enable it to receive packets only from nodes of an ad-hoc network having certain hierarchical levels. 
     The packet sniffer advantageously obtains data packets from the network passively, i.e., without having to connect to and participate in the ad-hoc network. The packet sniffer transfers the information contained in the received packets to a personal computer (PC) or other device through the sniffer&#39;s interface. The PC typically contains software tools that can analyze the data to monitor and troubleshoot the ad-hoc network. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of an ad-hoc network and sniffer in accordance with one embodiment of the present invention. 
         FIG. 2  is block diagram of an exemplary packet sniffer in accordance with one embodiment of the present invention. 
         FIG. 3  is a flow diagram describing the functionality of a sniffer in accordance with one embodiment of the present invention. 
         FIG. 4  is a flow diagram describing the transmission of FIFO packets in accordance with one embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     Referring to  FIG. 1 , there is seen a packet sniffer  100  coupled to a computer  110 , such as a personal computer (“PC”)  110 . Packet sniffer  100  may be employed, for example, in an ad-hoc network  120 . Packet sniffer  100  receives data packets wirelessly transmitted via an RF communication link  130  by one or more nodes in ad-hoc network  120 , such as Intech21&#39;s radio frequency ad-hoc network. The packet sniffer  100  transfers the information contained in the received packets through an interface to computer  110 , such as PC  110 . The PC typically contains software tools that can analyze the data to monitor and troubleshoot the ad hoc network  300 . 
     Referring now to  FIG. 2 , there is seen an exemplary packet sniffer  100  in accordance with one embodiment of the present invention. Packet sniffer  100  includes microprocessor  210  coupled to RF transceiver  200 , memory  220  coupled to microprocessor  210 , and a communications interface  230  coupled to memory  220 . In one embodiment, RF transceiver  200  is a TR1000 transceiver, which may be placed in a receive mode. Packet sniffer  100  also includes software, which may be copied from an external computer-readable medium (not shown) into memory  200 , that, when executed, causes microprocessor  210  to receive radio frequency information from at least one ad-hoc network  120 , select from the radio frequency information data packets originating from ad-hoc network  120 , and transfer the data packets to communications interface  230  for transmission to an external device, such as computer  110 . 
     As mentioned above, packet sniffer  100  receives RF packets from ad-hoc network  120 . After some processing via microprocessor  210 , data from the received packets are loaded into FIFO packets deposited into memory  220 . This information is then transferred to communications interface  230  for communication to computer  110 . 
     Communications interface  230  removes the information from memory  220  before transmitting it to the interfaced device, such as computer  110 . Communications interface  230  may include, for example, an RS-232 serial channel device, but other communications interfaces are possible, such as RS-485, USE, PCMCIA, infrared, Ethernet and the like. Communications interface  230  transmits the information obtained from memory  220  to computer  110 , such as PC  110 . Software tools running on PC  110  use the information transmitted by packet sniffer  100  to create a variety of graphical, table, etc. and presentations of the surrounding RF ad-hoc network  120 . These tools significantly simplify the installation, maintenance and troubleshooting of ad-hoc network  120 . 
     Referring now to  FIG. 3  there is seen an exemplary flow process  300  describing the functionality of packet sniffer  100 . The process  300  begins at start step  310  and proceeds to step  320  where it is checked whether an RF packet has been received from ad-hoc network  120 . If a packet is not detected and received, process  300  proceeds to end step  370 . If decision step  320  detects an RF packet from ad-hoc network  120 , process  300  proceeds to decision step  330  where it is determined whether the received RF packet is an “E” type packet or “E-Packet”—i.e., a packet containing status information of a network node of ad-hoc network  120 . If the RF packet is not an E-packet, process  300  proceeds to step  350  where a FIFO packet is created in accordance with at least one field contained in the received RF packet, such as a packet type field, source ID field and/or data field. Sniffer  100  may also include within the FIFO packet information such as the radio signal strength of the received packet, the identifier of a node in ad-hoc network  120  to receive the packet, the identifier of the transmitting device or node, and the hierarchal level of the transmitting device or node. After the FIFO packet is created by step  350 , process  300  proceeds to step  360 , at which a FIFO buffer is loaded for transmission of the FIFO packets through communications interface  230  to a connected device, such as computer  110 . Process  300  then ends at end step  370 . 
     If it is determined in step  330  that the received RF packet is an E-Packet, process  300  proceeds to step  340  where sniffer  100  creates a FIFO packet. The FIFO packet created at step  340  may be (but need not be) similar to the one created at step  350 , but may also include additional information, such as status information of a network node of ad-hoc network  120  that transmitted the E-packet to sniffer  100 . This information may include, for example, an Received Signal Strength Indicator (“RSSI”) measured for the received packet, the identification of the device or node of ad-hoc network  120  to receive the packet, the hierarchal level of the device or node of the ad-hoc network  120  that transmitted the E-packet, and/or the identification of the device or node of ad-hoc network  120  transmitting the E-packet. 
     Referring now to  FIG. 4 , there is seen a flow process  400  for transmitting FIFO packets from the FIFO buffer of sniffer  100  to a connected computer  110  via communications interface  230 . Flow process  400  may (but need not) follow completion of process  300  shown in  FIG. 3 . 
     Process  400  begins at start step  410  and proceeds to decision step  420  where it is determined whether a serial transmission port of sniffer  100  is in a transmit mode, i.e., whether it is in the process of transmitting a FIFO packet to a connected computer  110  via communications interface  230 . If so, it is checked in step  460  whether the serial port is done transmitting the FIFO packet. If not, the serial port is allowed to continue transmitting the packet in step  480  and process  400  ends at end step  490 . If it is determined in step  460  that the serial port is done transmitting the FIFO packet, the serial port is taken out of transmit mode in step  470  and process  400  ends at end step  490 . 
     If it is determined in step  420  that the serial transmission port is not in a transmit mode, then it is checked in step  430  whether the FIFO buffer is empty. If so, process  400  proceeds to end step  490  and process  400  ends. If the FIFO buffer is not empty, the process proceeds to step  440  where a FIFO packet is loaded into the FIFO buffer. Then, process  400  proceeds to step  450  where the serial port is placed into transmit mode and transmission of the FIFO packet begins. Process  400  then proceeds to end step  490 . 
     After end step  490 , sniffer may begin process  300  once again, and both process  300  and  400  may be executed consecutively in an endless loop.