Patent Publication Number: US-2005135244-A1

Title: Wireless network load generator address mask manipulation

Description:
CROSS REFERENCE TO ANOTHER APPLICATION  
      This application is entitled to and claims the benefit of the filing date of provisional application No. 60/531,061 filed 19 Dec. 2003. 
    
    
     TECHNICAL FIELD OF THE INVENTION  
      The present invention relates generally to the field of wireless data communications, and specifically to the emulation of multiple stations in a wireless network.  
     BACKGROUND OF THE INVENTION  
      A wireless data communication network is characterized by two or more stations which share the use of a common wireless communications medium or channel to facilitate transmission of data packets or frames between communicating peers. Since the medium is shared among all stations in the network, some means of controlling access to the medium is required to prevent two stations from simultaneously attempting to control the medium. Wireless communication is further complicated by the lack of a tangible physical medium for making the connection between stations.  
      Communications must adhere to the protocols prescribed by the specifications applicable to the particular type of wireless communications network at hand. Such wireless standards specify a general format for data packets or frames transmitted on the network, as well as a protocol to be followed by communicating peers and other stations sharing the network medium.  
      The frame format typically includes an addressing mechanism to distinguish the frame intended to be received by a particular station on the network, in which case the other stations on the network may ignore the frame. To mitigate the vagaries of frame transmission in a wireless network, the receiving station is typically required to provide positive acknowledgment that it has successfully received the frame. The acknowledgment also informs other stations that the use of the medium for the current frame is now complete and the medium is now available for other use.  
      In some applications it is desirable to operate several stations within a single device. An illustrative example is a device which mimics the operation of a number of wireless stations for test purposes. In such applications the device emulates multiple wireless stations which appear from the network standpoint to be distinct nodes on the network, these nodes being concurrently active in accordance with protocol requirements.  
      One such device is disclosed in U.S. patent application Ser. No. 10/424,161 filed 25 Apr. 2003. The entire disclosure of the &#39;161 application is hereby incorporated in this application by reference.  
      A fundamental problem to be solved in such a system is how to share the system&#39;s single wireless interface among the several emulated stations, and to do so in a way that satisfies the requirements of the particular wireless communications protocol; specifically, to generate proper acknowledgment for received frames and to receive acknowledgment for transmitted frames. This must be balanced against an economical system implementation which makes efficient use of available network communications bandwidth.  
      When exchanging frames on the wireless network, the receiver must send acknowledgement to the sender within an allotted response time. If the sender does not receive acknowledgment, it will attempt to resend the frame up to some maximum number of retries. Other stations on the wireless network may not use the medium until the acknowledgement is sent, up to some maximum duration. The acknowledgement/retry logic is typically implemented in the interface hardware to avoid the slower response time and additional processor overhead of a software implementation. The hardware is aware of its physical address and acknowledges frames transmitted from other stations to the station with that physical address.  
      A network interface may typically be set into a “promiscuous” mode in which it passively receives and may inspect all frames transmitted on the medium, whether or not they are addressed to the station in which the interface is installed. By placing the interface in the promiscuous mode, the system can be made aware of frames addressed to an emulated station and change the address in the interface hardware accordingly so that it will acknowledge the frame. In some cases this may cause sufficient delay in the acknowledgement as to result in the sender having to retry the transmission.  
      This same concept holds when transmitting frames: the interface must be aware of the address of the emulated station sending the frame so that it can properly receive the acknowledgement and thus prevent resending the frame unnecessarily.  
      By manipulating the address of the physical interface as outlined above, the wireless protocol is satisfied with respect to frame acknowledgement. However, this scheme does not make optimal use of the available communications bandwidth of the wireless network, because of the increased likelihood of retransmission of frames while awaiting acknowledgement. In addition, the processor of the host system must carry the extra burden of examining all frames placed on the channel, plus the additional overhead of switching the interface&#39;s physical address on a frame-by-frame basis.  
      There is therefore an outstanding and continuing need for a more efficient implementation of wireless station emulation which would allow a wireless data communication system to receive only frames which are addressed to any of the system&#39;s emulated stations, without requiring the constant address manipulation of the heretofore employed technique discussed above. Such a system would also desirably provide a timely acknowledgement of all frames thus received.  
     SUMMARY OF THE INVENTION  
      Methods and systems with the important attributes just described have now been invented and are described herein.  
      Broadly stated, the present invention involves the innovative use of an address filter as a component in a wireless network load generator. The load generator is a testing device which leverages a single wireless network interface to emulate the operation of a configurable number of virtual wireless stations and generates network traffic on behalf of those emulated stations for purposes of verifying network capacity, scalability, and adherence to protocol requirements. The address filter is implemented in the form of a binary mask value and attendant address matching criteria.  
      The criteria essentially involve the selection of critical bit positions in a system base address, whose collective value is then to be compared against the collective value of similar selected bit positions in the receiver address contained in incoming frames. The resulting two values must be identical for a match to occur. This address filter is applied to all frames transmitted on the medium by other wireless stations and received at a current host system. If a frame passes the filter criteria, it is accepted into the current host system for further processing.  
      The address filter is programmed with a binary mask value which is applied in a logic AND operation to a receiver address field in each incoming frame. The receiver address field indicates the address of the intended recipient station for a given transmission instance of a given frame. The resulting value is compared against a match value which is similarly constructed by applying the same binary mask value in a logic AND operation against the base address for the system. Wireless stations that are emulated by the system are assigned, at the time they are created and initialized, an address that will conform to this constraint. When another wireless station on the network wishes to transmit a frame to an emulated station it designates the emulated station&#39;s conforming address as the receiver for the frame.  
      The address filter allows the system to selectively accept frames which are addressed to one of the system&#39;s emulated stations while ignoring other frames with a non-conforming receiver station address. Broadcast frames, as defined by the pertinent communications protocol specification, are accepted in all cases; multicast frames are similarly accepted, subject to validation of multicast group. The validation protocol is not part of the present invention but is constructed to conform the group to the general specification for the involved wireless communication medium.  
      The address filter is programmed once at system initialization and need not be further reprogrammed except as indicated by a desired change in system control policy. This makes for efficient use of the system processor and allows optimal use of the communications bandwidth of the wireless network.  
      The address mask has a format which corresponds to the physical device address format as defined by the applicable communications protocol specification. The address mask can be programmed with any binary value, affording the system user a great deal of flexibility in the range of conforming addresses that can be assigned to an emulated station. This also helps in test planning to prevent conflicts with the addresses of other wireless stations on the network, as well as conflicts with the addresses of any wireless stations being emulated by additional similar systems.  
      The binary mask value in the address filter may be changed at any time in order to redefine the body of conforming emulated stations being maintained in a given host system.  
      The objects, features, and advantages of the present invention will be apparent to the reader from the foregoing, the appended claims, and the ensuing detailed description of the invention taken in conjunction with the accompanying drawing. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       FIG. 1  is a block diagram depicting a communications system which emulates multiple stations that communicate with other peers in a wireless network. Within the system&#39;s wireless interface is an address filter, which enables the system to selectively accept received frames on behalf of the emulated stations without compromising communications or processing efficiency; and  
       FIG. 2  is a block diagram which illustrates the operation of the address filter within the wireless interface of the host system shown in  FIG. 1 . The address filter allows incoming frames that are addressed to one of the system&#39;s emulated stations to pass through for further processing, while rejecting other frames. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
       FIG. 1  depicts a communication system wireless interface  100 , which: (a) includes an address filter  102 , and (b) is a component of host system  104 . The host system  104  emulates the operation of multiple wireless stations  106  in accordance with the wireless protocols prescribed by the specifications applicable to the particular communications network at hand. The emulated wireless stations  106  send data to and receive data from a communicating peer station  108  (i.e., another station on the network) via the services of the transmitting protocol subsystem  110  and receiving protocol subsystem  112 , respectively, of the system wireless interface  100 .  
      To send data, the transmitting protocol subsystem  110  prepares to transmit a packet or frame containing the data on behalf of the sending emulated station  106  and transmits the frame  114  on a radio channel or other suitable medium in accordance with the particular type of wireless network involved. The transmitted frame  114  includes the address of the sending emulated station  106  as the involved transmitter address and the address of the peer station  108  as the receiver address. When the peer station  108  to which the transmitted frame  114  is addressed successfully receives the frame, it sends an acknowledgement  116 , indicating as the receiver the originating emulated wireless station  106 .  
      The inbound acknowledgement frame  116  designates the address of the originating emulated wireless station  106  as the receiver address for this frame. This address is applied to the address filter  102  at the point of entry into the system wireless interface  100 . If the addressing criteria of address filter  102  are met, the acknowledgement  116  is accepted for further processing and is applied to the transmitting protocol subsystem  110  to inform it of successful receipt by the intended receiver of the acknowledgment transmitted by peer station  108  to host system  104 . In other words, if the filter address criteria are met—the acknowledgment frame can be accepted—the transmit protocol is made aware that the frame transmitted by host system  104  made it to its intended recipient (the communicating peer station  108 ). If the addressing criteria are not met, the acknowledgement  116  is rejected, and the transmitting protocol subsystem  110  may then go into its retry logic in accordance with a protocol which is not part of the present invention.  
      When the communicating peer station  108  has data to send to an emulated wireless station such as  106 , it prepares a packet or frame containing the data and transmits it on the channel or medium. This incoming frame  118  (from the standpoint of host system  104 ) designates as the receiver address the address of the emulated station (here  106 ) that is the intended recipient of this data. When the incoming frame  118  is received at the system wireless interface  100 , the receiver address contained in the frame is sent to address filter  102 .  
      If the addressing criteria of address filter  102  are met, the incoming frame  118  is accepted for further processing, and is applied to the receiving protocol subsystem  112  for receipt into the system and subsequent consumption by the receiving emulated station  106 . The receiving protocol subsystem  112  causes generation of an acknowledgement  120 , which is transmitted back to the originating peer station  108 , satisfying the requirements of the protocol.  
      The operation of system wireless interface address filter  102  is described in detail below with reference to  FIG. 2 .  
      Specifically, the system wireless interface  100  is configured with a base address  200 . As an example, consider a communications protocol in which addresses are given in the form of a string of 6 octets (8-bit binary quantities). Each octet is expressed as a two-digit hexadecimal (base 16) number in the range 00 through ff. (n.b.: A hexadecimal digit represents a decimal value in the range 0 through 15 and is represented by a character in the range 0 through 9 and A through F (upper or lower case).) In the example at hand, the system wireless interface base address  200  has the value 00:0b:16:01:23:45.  
      The value of an address mask  202  is expressed in a binary format like that of the base address  200 . In this example, the address mask  202  has the value ff:ff:ff:ff:00:00.  
      The base address  200  is logically combined in a bitwise AND operation with address mask  202  to derive the value of critical address bit positions  204  of base address  200 . In a bitwise AND operation, bit positions in which both operands have the value “one” are retained, while bit positions in which either operand has the value “zero” are “masked out” (i.e. result in a zero). This increases efficiency by eliminating bit positions which are not relevant to the mask/comparison.  
      In this example, 00 AND ff=00, 0b AND ff=0b, etc. The resulting value of the system base address critical bits  204  in the example is 00:0b:16:01:00:00.  
      By a similar process, the receiver address of an incoming frame  206  is passed through address mask  202  to derive receiver station address critical bits  208 , an inbound acknowledgement such as discussed above and identified by reference character  116  being treated the same as an incoming frame  206  in this regard. In this example, the incoming frame receiver address  206  has the value 00:0b:16:01:54:32. After being combined with the address mask  202 , the resulting receiver station address critical bits  208  have the value 00:0b:16:01:00:00.  
      When any inbound frame (e.g.,  206 ) is considered for acceptance, its receiver address critical bits value  208  is computed and compared as shown at  210  with the system base address critical bits  204 . If the two values are equal, the frame is accepted as shown at  212  for further processing by the system. If they do not match, the frame is ignored.  
      In the example under discussion, the critical bits of both the receiver-station address and the address mask have the same value—00:0b:16:00:00. The address values match, and the frame is therefor accepted into host computer  104  for further processing.  
      The above-disclosed manipulation and coordination of a system base address, an address mask, and the configured addresses of emulated wireless stations such as those identified by reference character  106  allows a user to construct powerful and flexible sets of test station populations for wireless network tests. All emulated stations  106  will normally be configured such that their addresses match the characteristics of the system base address  200  plus the address mask  202 .  
      Additional emulated stations whose addresses do not satisfy the constraints of base address  200  plus address mask  202  may be defined, allowing for “negative test cases” in which protocol requirements are purposely not met. In this case the system would allow the transmission of frames ostensibly sent by the purposely misconfigured emulated station to a communicating peer, but would prevent the system from accepting for receipt any frames which come within the meaning and range of equivalency of the claims are intended to be embraced therein.