# Patent

## Title
Communication methods using slotted replies

## Abstract

An RFID tag population is selected by an interrogator. Each tag of the selected tag population then responds to the interrogator in accordance with a slotted arbitration scheme. According to the slotted arbitration scheme, each tag of the selected tag population picks its own random value from a range of integers indicated by the interrogator. The random value corresponds to a slot. The interrogator may indicate that the range of integers is to be adjusted. Each tag of the selected tag population responds to the interrogator with a random number.

## Background
CROSS REFERENCE TO RELATED APPLICATION
This is a Continuation of U.S. patent application Ser. No. 09/026,248, filed Feb. 19, 1998 now U.S. Pat. No. 6,275,476, and titled “Method of Addressing Messages and Communications System.”


TECHNICAL FIELD
This invention relates to communications protocols and to digital data communications. Still more particularly, the invention relates to data communications protocols in mediums such as radio communication or the like. The invention also relates to radio frequency identification devices for inventory control, object monitoring, determining the existence, location or movement of objects, or for remote automated payment.
BACKGROUND OF THE INVENTION
Communications protocols are used in various applications. For example, communications protocols can be used in electronic identification systems. As large numbers of objects are moved in inventory, product manufacturing, and merchandising operations, there is a continuous challenge to accurately monitor the location and flow of objects. Additionally, there is a continuing goal to interrogate the location of objects in an inexpensive and streamlined manner. One way of tracking objects is with an electronic identification system.
One presently available electronic identification system utilizes a magnetic coupling system. In some cases, an identification device may be provided with a unique identification code in order to distinguish between a number of different devices. Typically, the devices are entirely passive (have no power supply), which results in a small and portable package. However, such identification systems are only capable of operation over a relatively short range, limited by the size of a magnetic field used to supply power to the devices and to communicate with the devices.
Another wireless electronic identification system utilizes a large active transponder device affixed to an object to be monitored which receives a signal from an interrogator. The device receives the signal, then generates and transmits a responsive signal. The interrogation signal and the responsive signal are typically radio-frequency (RF) signals produced by an RF transmitter circuit. Because active devices have their own power sources, and do not need to be in close proximity to an interrogator or reader to receive power via magnetic coupling. Therefore, active transponder devices tend to be more suitable for applications requiring tracking of a tagged device that may not be in close proximity to an interrogator. For example, active transponder devices tend to be more suitable for inventory control or tracking.
Electronic identification systems can also be used for remote payment. For example, when a radio frequency identification device passes an interrogator at a toll booth, the toll booth can determine the identity of the radio frequency identification device, and thus of the owner of the device, and debit an account held by the owner for payment of toll or can receive a credit card number against which the toll can be charged. Similarly, remote payment is possible for a variety of other goods or services.
A communication system, such as a wireless identification system, typically includes two transponders: a commander station or interrogator, and a responder station or transponder device which replies to the interrogator.
If the interrogator has prior knowledge of the identification number of a device which the interrogator is looking for, it can specify that a response is requested only from the device with that identification number. Sometimes, such information is not available. For example, there are occasions where the interrogator is attempting to determine which of multiple devices are within communication range.
When the interrogator sends a message to a transponder device requesting a reply, there is a possibility that multiple transponder devices will attempt to respond simultaneously, causing a collision, and thus an erroneous message to be received by the interrogator. For example, if the interrogator sends out a command requesting that all devices within a communications range identify themselves, and gets a large number of simultaneous replies, the interrogator may not able to interpret any of these replies. Thus, arbitration schemes are employed to permit communications free of collisions.
In one arbitration scheme or system, described in commonly assigned U.S. Pat. Nos. 5,627,544; 5,583,850; 5,500,650; and 5,365,551, all to Snodgrass et al. and all incorporated herein by reference, the interrogator sends a command causing each device of a potentially large number of responding devices to select a random number from a known range and use it as that device's arbitration number. By transmitting requests for identification to various subsets of the full range of arbitration numbers, and checking for an error-free response, the interrogator determines the arbitration number of every responder station capable of communicating at the same time. Therefore, the interrogator is able to conduct subsequent uninterrupted communication with devices, one at a time, by addressing only one device.
Another arbitration scheme is referred to as the Aloha or slotted Aloha scheme. This scheme is discussed in various references relating to communications, such as Digital Communications: Fundamentals and Applications, Bernard Sklar, published January 1988 by Prentice Hall. In this type of scheme, a device will respond to an interrogator using one of many time domain slots selected randomly by the device. A problem with the Aloha scheme is that if there are many devices, or potentially many devices in the field (i.e. in communications range, capable of responding) then there must be many available slots or many collisions will occur. Having many available slots slows down replies. If the magnitude of the number of devices in a field is unknown, then many slots are needed. This results in the system slowing down significantly because the reply time equals the number of slots multiplied by the time period required for one reply.
An electronic identification system which can be used as a radio frequency identification device, arbitration schemes, and various applications for such devices are described in detail in commonly assigned U.S. patent application Ser. No. 08/705,043, filed Aug. 29, 1996, and incorporated herein by reference.
SUMMARY OF THE INVENTION
The invention provides a wireless identification device configured to provide a signal to identify the device in response to an interrogation signal.
One aspect of the invention provides a method of establishing wireless communications between an interrogator and individual ones of multiple wireless identification devices. Tree search and Aloha methods are combined to establish communications between the interrogator and individual ones of the multiple wireless identification devices without collision.
One aspect of the invention provides a method of addressing messages from an interrogator to a selected one or more of a number of communications devices. A first predetermined number of bits are established to be used as unique identification numbers. Unique identification numbers respectively having the first predetermined number of bits are established for respective devices. A second predetermined number of bits are established to be used for random values. The devices are caused to select random values. Respective devices choose random values independently of random values selected by the other devices. The interrogator transmits a command requesting devices having random values within a specified group of random values to respond, the specified group being less than or equal to the entire set of random values. Devices receiving the command respectively determine if their chosen random values fall within the specified group and, if so, send a reply to the interrogator within a randomly selected time slot of a number of slots. If not, they do not send a reply. The interrogator determines if a collision occurred between devices that sent a reply and, if so, creates a new, smaller, specified group.
One aspect of the invention provides a communications system comprising an interrogator, and a plurality of wireless identification devices configured to communicate with the interrogator in a wireless fashion. The respective wireless identification devices have a unique identification number. The interrogator is configured to employ tree search and Aloha techniques to determine the unique identification numbers of the different wireless identification devices so as to be able to establish communications between the interrogator and individual ones of the multiple wireless identification devices without collision by multiple wireless identification devices attempting to respond to the interrogator at the same time.
Another aspect of the invention provides a system comprising an interrogator configured to communicate to a selected one or more of a number of communications devices, and a plurality of communications devices. The devices are configured to select random values. Respective devices choose random values independently of random values selected by the other devices. The interrogator is configured to transmit a command requesting devices having random values within a specified group of random values to respond, the specified group being less than or equal to the entire set of random values. Devices receiving the command are configured to respectively determine if their chosen random values fall within the specified group and, if so, send a reply to the interrogator within a randomly selected time slot of a number of slots. If not, they do not send a reply. The interrogator is configured to determine if a collision occurred between devices that sent a reply and, if so, create a new, smaller, specified group.
One aspect of the invention provides a radio frequency identification device comprising an integrated circuit including a receiver, a transmitter, and a microprocessor. In one embodiment, the integrated circuit is a monolithic single die single metal layer integrated circuit including the receiver, the transmitter, and the microprocessor. The device of this embodiment includes an active transponder, instead of a transponder which relies on magnetic coupling for power, and therefore has a much greater range.
In accordance with one aspect, an RFID tag population is selected by an interrogator. Each tag of the selected tag population then responds to the interrogator in accordance with an adaptive, slotted arbitration scheme. According to the arbitration scheme, each tag of the selected tag population picks its own slot value from a range of values indicated by the interrogator. The random value corresponds to a slot. Each tag of the selected tag population responds to the interrogator with an independently generated random number.



BRIEF DESCRIPTION OF THE DRAWINGS
Preferred embodiments of the invention are described below with reference to the following accompanying drawings.
FIG. 1 is a high level circuit schematic showing an interrogator and a radio frequency identification device embodying the invention.
FIG. 2 is a front view of a housing, in the form of a badge or card, supporting the circuit of FIG. 1 according to one embodiment the invention.
FIG. 3 is a front view of a housing supporting the circuit of FIG. 1 according to another embodiment of the invention.
FIG. 4 is a diagram illustrating a tree splitting sort method for establishing communication with a radio frequency identification device in a field of a plurality of such devices, without collisions.
FIG. 5 is a time line plot illustrating operation of a slotted Aloha scheme.
FIG. 6 is a diagram illustrating using a combination of a tree splitting sort method with an Aloha method for establishing communication with a radio frequency identification device in a field of a plurality of such devices.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
This disclosure of the invention is submitted in furtherance of the constitutional purposes of the U.S. Patent Laws “to promote the progress of science and useful arts” (Article 1, Section 8).
FIG. 1 illustrates a wireless identification device 12 in accordance with one embodiment of the invention. In the illustrated embodiment, the wireless identification device is a radio frequency data communication device 12, and includes RFID circuitry 16. In the illustrated embodiment, the RFID circuitry is defined by an integrated circuit as described in the above-incorporated patent application Ser. No. 08/705,043, filed Aug. 29, 1996. Other embodiments are possible. A power source 18 is connected to the integrated circuit 16 to supply power to the integrated circuit 16. In one embodiment, the power source 18 comprises a battery. The device 12 further includes at least one antenna 14 connected to the circuitry 16 for wireless or radio frequency transmission and reception by the circuitry 16.
The device 12 transmits and receives radio frequency communications to and from an interrogator 26. An exemplary interrogator is described in U.S. patent application Ser. No. 08/907,689, filed Aug. 8, 1997 and incorporated herein by reference. Preferably, the interrogator 26 includes an antenna 28, as well as dedicated transmitting and receiving circuitry, similar to that implemented on the integrated circuit 16.
Generally, the interrogator 26 transmits an interrogation signal or command 27 via the antenna 28. The device 12 receives the incoming interrogation signal via its antenna 14. Upon receiving the signal 27, the device 12 responds by generating and transmitting a responsive signal or reply 29. The responsive signal 29 typically includes information that uniquely identifies, or labels the particular device 12 that is transmitting, so as to identify any object or person with which the device 12 is associated.
Although only one device 12 is shown in FIG. 1, typically there will be multiple devices 12 that correspond with the interrogator 26, and the particular devices 12 that are in communication with the interrogator 26 will typically change over time. In the illustrated embodiment in FIG. 1, there is no communication between multiple devices 12. Instead, the devices 12 respectively communicate with the interrogator 26. Multiple devices 12 can be used in the same field of an interrogator 26 (i.e., within communications range of an interrogator 26). Similarly, multiple interrogators 26 can be in proximity to one or more of the devices 12.
The radio frequency data communication device 12 can be included in any appropriate housing or packaging. Various methods of manufacturing housings are described in commonly assigned U.S. patent application Ser. No. 08/800,037, filed Feb. 13, 1997, and incorporated herein by reference.
FIG. 2 shows but one embodiment in the form of a card or badge 19 including the radio frequency data communication device 12, and a housing 11 including plastic or other suitable material. In one embodiment, the front face of the badge has visual identification features such as graphics, text, information found on identification or credit cards, etc.
FIG. 3 illustrates but one alternative housing supporting the device 12. More particularly, FIG. 3 shows a miniature housing 20 encasing the device 12 to define a tag which can be supported by an object (e.g., hung from an object, affixed to an object, etc.). Although two particular types of housings have been disclosed, the device 12 can be included in any appropriate housing.
If the power source 18 is a battery, the battery can take any suitable form. Preferably, the battery type will be selected depending on weight, size, and life requirements for a particular application. In one embodiment, the battery 18 is a thin profile or button-type cell forming a small, thin energy cell more commonly utilized in watches and small electronic devices requiring a thin profile. A conventional cell has a pair of electrodes, an anode formed by one face and a cathode formed by an opposite face. In an alternative embodiment, the power source 18 comprises a series connected pair of cells. Instead of using a battery, any suitable power source can be employed.
The circuitry 16 further includes a backscatter transmitter and is configured to provide a responsive signal to the interrogator 26 by radio frequency. More particularly, the circuitry 16 includes a transmitter, a receiver, and memory such as is described in U.S. patent application Ser. No. 08/705,043.
Radio frequency identification has emerged as a viable and affordable alternative to tagging or labeling small to large quantities of items. The interrogator 26 communicates with the devices 12 via an RF link, so all transmissions by the interrogator 26 are heard simultaneously by all devices 12 within range.
If the interrogator 26 sends out a command requesting that all devices 12 within range identify themselves, and gets a large number of simultaneous replies, the interrogator 26 may not be able to interpret any of these replies. Therefore, arbitration schemes are provided.
If the interrogator 26 has prior knowledge of the identification number of a device 12 which the interrogator 26 is looking for, it can specify that a response is requested only from the device 12 with that identification number. To target a command at a specific device 12, (i.e., to initiate point-on-point communication), the interrogator 26 must send a number identifying a specific device 12 along with the command. At start-up, or in a new or changing environment, these identification numbers are not known by the interrogator 26. Therefore, the interrogator 26 must identify all devices 12 in the field (within communication range) such as by determining the identification numbers of the devices 12 in the field. After this is accomplished, point-to-point communication can proceed as desired by the interrogator 26.
Generally speaking, RFID systems are a type of multiaccess communication system. The distance between the interrogator 26 and devices 12 within the field is typically fairly short (e.g., several meters), so packet transmission time is determined primarily by packet size and baud rate. Propagation delays are negligible. In RFID systems, there is a potential for a large number of transmitting devices 12 and there is a need for the interrogator 26 to work in a changing environment, where different devices 12 are swapped in and out frequently (e.g., as inventory is added or removed). The inventors have determined that, in such systems, the use of random access methods work effectively for contention resolution (i.e., for dealing with collisions between devices 12 attempting to respond to the interrogator 26 at the same time).
RFID systems have some characteristics that are different from other communications systems. For example, one characteristic of the illustrated RFID systems is that the devices 12 never communicate without being prompted by the interrogator 26. This is in contrast to typical multiaccess systems where the transmitting units operate more independently. In addition, contention for the communication medium is short lived as compared to the ongoing nature of the problem in other multiaccess systems. For example, in a RFID system, after the devices 12 have been identified, the interrogator can communicate with them in a point-to-point fashion. Thus, arbitration in a RFID system is a transient rather than steady-state phenomenon. Further, the capability of a device 12 is limited by practical restrictions on size, power, and cost. The lifetime of a device 12 can often be measured in terms of number of transmissions before battery power is lost. Therefore, one of the most important measures of system performance in RFID arbitration is total time required to arbitrate a set of devices 12. Another measure is power consumed by the devices 12 during the process. This is in contrast to the measures of throughput and packet delay in other types of multiaccess systems.
FIG. 4 illustrates one arbitration scheme that can be employed for communication between the interrogator and devices 12. Although the arbitration system is being described in connection with a wireless identification system or RFID system, this and other arbitration schemes disclosed herein can be employed in any communication system. Generally, the interrogator 26 sends a command causing each device 12 of a potentially large number of responding devices 12 to select a random number from a known range and use it as that device's arbitration number. By transmitting requests for identification to various subsets of the full range of arbitration numbers, and checking for an error-free response, the interrogator 26 determines the arbitration number of every responder station capable of communicating at the same time. Therefore, the interrogator 26 is able to conduct subsequent uninterrupted communication with devices 12, one at a time, by addressing only one device 12.
Three variables are used: an arbitration value (AVALUE), an arbitration mask (AMASK), and a random value ID (RV). The interrogator sends a command causing each device of a potentially large number of responding devices to select a random number from a known range and use it as that device's arbitration number. The interrogator sends an arbitration value (AVALUE) and an arbitration mask (AMASK) to a set of devices 12. The receiving devices 12 evaluate the following equation: (AMASK & AVALUE)==(AMASK & RV) wherein “&” is a bitwise AND function, and wherein “==” is an equality function. If the equation evaluates to “1” (TRUE), then the device 12 will reply. If the equation evaluates to “0” (FALSE), then the device 12 will not reply. By performing this in a structured manner, with the number of bits in the arbitration mask being increased by one each time, eventually a device 12 will respond with no collisions. Thus, a binary search tree methodology is employed.
An example using actual numbers will now be provided using only four bits, for simplicity, reference being made to FIG. 4. In one embodiment, sixteen bits are used for AVALUE and AMASK, respectively. Other numbers of bits can also be employed depending, for example, on the number of devices 12 expected to be encountered in a particular application, on desired cost points, etc.
Assume, for this example, that there are two devices 12 in the field, one with a random value (RV) of 1100 (binary), and another with a random value (RV) of 1010 (binary). The interrogator is trying to establish communications without collisions being caused by the two devices 12 attempting to communicate at the same time.
The interrogator sets AVALUE to 0000 (or all “don't care”, indicated by the character “X” in FIG. 4) and AMASK to 0000. The interrogator transmits a command to all devices 12 requesting that they identify themselves. Each of the devices 12 evaluate (AMASK & AVALUE)==(AMASK & RV) using the random value RV that the respective devices 12 selected. If the equation evaluates to “1” (TRUE), then the device 12 will reply. If the equation evaluates to “0” (FALSE), then the device 12 will not reply. In the first level of the illustrated tree, AMASK is 0000 and anything bitwise ANDed with all zeros results in all zeros, so both the devices 12 in the field respond, and there is a collision.
Next, the interrogator sets AMASK to 0001 and AVALUE to 0000 and transmits an identify command. Both devices 12 in the field have a zero for their least significant bit, and (AMASK & AVALUE)==(AMASK & RV) will be true for both devices 12. For the device 12 with a random value of 1100, the left side of the equation is evaluated as follows (0001 & 0000)=0000. The right side is evaluated as (0001 & 1100)=0000. The left side equals the right side, so the equation is true for the device 12 with the random value of 1100. For the device 12 with a random value of 1010, the left side of the equation is evaluated as (0001 & 0000)=0000. The right side is evaluated as (0001 & 1010)=0000. The left side equals the right side, so the equation is true for the device 12 with the random value of 1010. Because the equation is true for both devices 12 in the field, both devices 12 in the field respond, and there is another collision.
Recursively, the interrogator next sets AMASK to 0011 with AVALUE still at 0000 and transmits an identify command. (AMASK & AVALUE)==(AMASK & RV) is evaluated for both devices 12. For the device 12 with a random value of 1100, the left side of the equation is evaluated as follows (0011 & 0000)=0000. The right side is evaluated as (0011 & 1100)=0000. The left side equals the right side, so the equation is true for the device 12 with the random value of 1100, so this device 12 responds. For the device 12 with a random value of 1010, the left side of the equation is evaluated as (0011 & 0000)=0000. The right side is evaluated as (0011 & 1010)=0010. The left side does not equal the right side, so the equation is false for the device 12 with the random value of 1010, and this device 12 does not respond. Therefore, there is no collision, and the interrogator can determine the identity (e.g., an identification number) for the device 12 that does respond.
De-recursion takes place, and the devices 12 to the right for the same AMASK level are accessed by setting AVALUE at 0010 and using the same AMASK value 0011.
The device 12 with the random value of 1010 receives a command and evaluates the equation (AMASK & AVALUE)==(AMASK & RV). The left side of the equation is evaluated as (0011 & 0010)=0010. The right side of the equation is evaluated as (0011 & 1010)=0010. The right side equals the left side, so the equation is true for the device 12 with the random value of 1010. Because there are no other devices 12 in the subtree, a good reply is returned by the device 12 with the random value of 1010. There is no collision, and the interrogator can determine the identity (e.g., an identification number) for the device 12 that does respond.
By recursion, what is meant is that a function makes a call to itself. In other words, the function calls itself within the body of the function. After the called function returns, de-recursion takes place and execution continues at the place just after the function call; i.e. at the beginning of the statement after the function call.
For instance, consider a function that has four statements (numbered 1, 2, 3, 4) in it, and the second statement is a recursive call. Assume that the fourth statement is a return statement. The first time through the loop (iteration 1) the function executes the statement 2 and (because it is a recursive call) calls itself causing iteration 2 to occur. When iteration 2 gets to statement 2, it calls itself making iteration 3. During execution in iteration 3 of statement 1, assume that the function does a return. The information that was saved on the stack from iteration 2 is loaded and the function resumes execution at statement 3 (in iteration 2), followed by the execution of statement 4 which is also a return statement. Since there are no more statements in the function, the function de-recurses to iteration 1. Iteration 1, had previously recursively called itself in statement 2. Therefore, it now executes statement 3 (in iteration 1). Following that it executes a return at statement 4. Recursion is known in the art.
Consider the following code, which employs recursion, and which can be used to implement operation of the method shown in FIG. 4 and described above.
Arbitrate (AMASK, AVALUE)
{

    
    
        collision=IdentifyCmnd(AMASK, AVALUE)
        if (collision) then
        
            {
            
                /* recursive call for left side */
            
            
            Arbitrate((AMASK<<1)+1, AVALUE)
            
                /* recursive call for right side */
            
            
            Arbitrate((AMASK<<1)+1, AVALUE+(AMASK+1))
        
        
        } /* endif */
    
    


}/* return */
The symbol “<<” represents a bitwise left shift. “<<1” means shift left by one place. Thus, 0001<<1 would be 0010. Note, however, that AMASK is originally called with a value of zero, and 0000<<1 is still 0000. Therefore, for the first recursive call, AMASK=(AMASK<<1)+1. So for the first recursive call, the value of AMASK is 0000+0001=0001. For the second call, AMASK=(0001<<1)+1=0010+1=0011. For the third recursive call, AMASK=(0011<<1)+1=0110+1=0111.
The routine generates values for AMASK and AVALUE to be used by the interrogator in an identify command “IdentifyCmnd.” Note that the routine calls itself if there is a collision De-recursion occurs when there is no collision. AVALUE and AMASK would have values such as the following assuming there are collisions all the way down to the bottom of the tree.














AVALUE
AMASK









0000
0000



0000
0001



0000
0011



0000
0111



0000
 1111*



1000
 1111*



0100
0111



0100
 1111*



1100
 1111*










This sequence of AMASK, AVALUE binary numbers assumes that there are collisions all the way down to the bottom of the tree, at which point the Identify command sent by the interrogator is finally successful so that no collision occurs. Rows in the table for which the interrogator is successful in receiving a reply without collision are marked with the symbol “*”. Note that if the Identify command was successful at, for example, the third line in the table then the interrogator would stop going down that branch of the tree and start down another, so the sequence would be as shown in the following table.














AVALUE
AMASK









0000
0000



0000
0001



0000
 0011*



0010
0011



. . .
. . .










This method is referred to as a splitting method. It works by splitting groups of colliding devices 12 into subsets that are resolved in turn. The splitting method can also be viewed as a type of tree search. Each split moves the method one level deeper in the tree. Either depth-first or breadth first traversals of the tree can be employed.
Another arbitration method that can be employed is referred to as the “Aloha” method. In the Aloha method, every time a device 12 is involved in a collision, it waits a random period of time before retransmitting. This method can be improved by dividing time into equally sized slots and forcing transmissions to be aligned with one of these slots. This is referred to as “slotted Aloha.” In operation, the interrogator asks all devices 12 in the field to transmit their identification numbers in the next time slot. If the response is garbled, the interrogator informs the devices 12 that a collision has occurred, and the slotted Aloha scheme is put into action. This means that each device 12 in the field responds within an arbitrary slot determined by a randomly selected value. In other words, in each successive time slot, the devices 12 decide to transmit their identification number with a certain probability.
The Aloha method is based on a system operated by the University of Hawaii. In 1971, the University of Hawaii began operation of a system named Aloha. A communication satellite was used to interconnect several university computers by use of a random access protocol. The system operates as follows. Users or devices transmit at any time they desire. After transmitting, a user listens for an acknowledgment from the receiver or interrogator. Transmissions from different users will sometimes overlap in time (collide), causing reception errors in the data in each of the contending messages. The errors are detected by the receiver, and the receiver sends a negative acknowledgment to the users. When a negative acknowledgment is received, the messages are retransmitted by the colliding users after a random delay. If the colliding users attempted to retransmit without the random delay, they would collide again. If the user does not receive either an acknowledgment or a negative acknowledgment within a certain amount of time, the user “times out” and retransmits the message.
In the slotted Aloha scheme, a sequence of coordination pulses is broadcast to all stations (devices). As is the case with the pure Aloha scheme, packet lengths are constant. Messages are required to be sent in a slot time between synchronization pulses, and can be started only at the beginning of a time slot. This reduces the rate of collisions because only messages transmitted in the same slot can interfere with one another. The retransmission mode of the pure Aloha scheme is modified for slotted Aloha such that if a negative acknowledgment occurs, the device retransmits after a random delay of an integer number of slot times.
FIG. 5 illustrates operation of the slotted Aloha scheme. FIG. 5 shows a packet of data bits transmitted by a first device 12a, which is substantially identical to the device 12. The interrogator 26 acknowledges receipt without collision, as indicated in FIG. 5 by the symbol ACK. FIG. 5 also shows devices 12b and 12c, also substantially identical to the device 12, simultaneously transmitting packets of data to the interrogator 26, resulting in a collision. The interrogator returns a negative acknowledgment, as indicated in FIG. 5 by the symbol NAK. The devices 12b and 12c then respectively select random numbers, and retransmit after a time delay corresponding to the selected random number. There is a possibility that the devices 12b and 12c will again transmit at the same times, causing another collision, but in that case they will retransmit again using newly selected random numbers until there is no collision.
Another form of Aloha scheme is called reservation-Aloha. The reservation-Aloha system has two basic modes: an unreserved mode, and a reserved mode.
In the unreserved mode, a time frame is established and divided into a number of small reservation subslots. Users (devices) use these subslots to reserve message slots. After requesting a reservation, the user (device) listens for an acknowledgment and a slot assignment.
In the reserved mode, a time frame is divided into a certain number of slots whenever a reservation is made. All but the last slot are used for message transmissions. The last slot is subdivided into subslots to be used for reservations. Users (devices) send message packets in their assigned portions of the slots reserved for message transmissions.
FIG. 6 illustrates combining a tree sort method of a type such as the one shown in FIG. 4 with an Aloha method. Combining the two methods allows a minimal number of slots to be used and takes advantage of the conquer and divide approach of the tree sort method. The method shown in FIG. 6 proceeds in a manner similar to the manner described in connection with FIG. 4, except that devices 12 in the field that reply for the given AMASK and AVALUE, reply within a randomly selected time slot. This significantly reduces the number of collisions. In one embodiment, the reply includes the unique identification number of the particular device 12. In one embodiment, the reply includes the random value RV selected by the particular device 12. In one embodiment, the reply includes both the unique identification number of the particular device 12 as well as the random value RV selected by the same device 12.
In one embodiment, the same randomly selected time slot is used by a device 12 at different levels of the tree (i.e., for different values of AMASK and AVALUE). In another embodiment, different randomly selected times slots are used by a device 12 at different levels of the tree (i.e., for different values of AMASK and AVALUE). In one embodiment, a combination of these approaches is used. For example, one embodiment utilizes a method where the interrogator goes down the tree until some responses without collision are received, before the devices 12 re-randomize their Aloha random number. This can be classified as an adaptive method. Other adaptive methods are possible. For example, in one embodiment, the number of Aloha slots is reduced at lower levels of the tree. The number of slots can be reduced by the same number for each level down the tree, or by a number that varies depending on the number of levels down the tree. Thus, for example, the number of slots can remain constant through a progression down the tree until some responses without collision are received, at which point the number of slots is reduced.
Thus, this embodiment provides the advantages of both the Aloha methods and the tree sorting methods of establishing communications without collisions.
In another embodiment, levels of the search tree are skipped. Skipping levels in the tree, after a collision caused by multiple devices 12 responding, reduces the number of subsequent collisions without adding significantly to the number of no replies. In real-time systems, it is desirable to have quick arbitration sessions on a set of devices 12 whose unique identification numbers are unknown. Level skipping reduces the number of collisions, both reducing arbitration time and conserving battery life on a set of devices 12. In one embodiment, every other level is skipped. In alternative embodiments, more than one level is skipped each time.
The trade off that must be considered in determining how many (if any) levels to skip with each decent down the tree is as follows. Skipping levels reduces the number of collisions, thus saving battery power in the devices 12. Skipping deeper (skipping more than one level) further reduces the number of collisions. The more levels that are skipped, the greater the reduction in collisions. However, skipping levels results in longer search times because the number of queries (Identify commands) increases. The more levels that are skipped, the longer the search times. Skipping just one level has an almost negligible effect on search time, but drastically reduces the number of collisions. If more than one level is skipped, search time increases substantially. Skipping every other level drastically reduces the number of collisions and saves battery power without significantly increasing the number of queries.
Level skipping methods are described in a commonly assigned patent application Ser. No. 09/026,045 naming Clifton W. Wood, Jr. and Don Hush as inventors, titled “Method of Addressing Messages, Method of Establishing Wireless Communications, and Communications System,” filed concurrently herewith, and incorporated herein by reference.
In compliance with the statute, the invention has been described in language more or less specific as to structural and methodical features. It is to be understood, however, that the invention is not limited to the specific features shown and described, since the means herein disclosed comprise preferred forms of putting the invention into effect. The invention is, therefore, claimed in any of its forms or modifications within the proper scope of the appended claims appropriately interpreted in accordance with the doctrine of equivalents.

## Claims

1. A method comprising the steps of:
sending a first signal from an interrogator to a plurality of radio frequency identification (RFID) tags, the first signal including parameters that describe bit storage locations of memory and a bit string;
each of the plurality of tags receiving the first signal and comparing the bit string against respective bits stored in the bit storage locations of memory of each respective tag to determine if the respective tag is a member of a selected tag group;
each tag of the selected tag group independently picking a respective first random slot value from a first number of slot values in accordance with an arbitration scheme; and
a first tag of the selected tag group backscattering a first reply to the interrogator, the first reply including a first random number independently generated by the first tag, the first tag replying in accordance with a first sequence determined at least in part by the respective first random slot value independently picked by each tag of the selected tag group.

2. The method of claim 1, wherein the first random number is 16 bits in length.

3. The method of claim 1, further comprising the steps of:
sending a second signal from the interrogator to the plurality of tags; each tag of at least a portion of the selected tag group independently picking a respective second random slot value from a second number of slot values in response to the second signal in accordance with the arbitration scheme, and the second number of slot values is different from the first number of slot values; and
a second tag of the at least a portion of the selected tag group backscattering a second reply to the interrogator, the second reply including a second random number independently generated by the second tag, the second tag replying in accordance with a second sequence determined at least in part by the respective second random slot value independently picked by each tag of the at least a portion of the selected tag group.

4. The method of claim 3, wherein the second number of slots values varies from the first number of slot values depending, at least in part, on collisions detected by the interrogator.

5. The method of claim 4, wherein the first random number is 16 bits in length, and the second random number is 16 bits in length.

6. The method of claim 1, further comprising the step of the interrogator receiving the first reply from the first tag, and, in response thereto, the interrogator sending an acknowledge signal to acknowledge the first tag.

7. The method of claim 6, further comprising the step of the first tag backscattering at least a portion of an identification number that identifies an object to which the first tag is affixed.

8. The method of claim 7, further comprising the step of the interrogator accessing the first tag individually after receiving both the first random number and the at least portion of the identification number from the first tag, the step of the interrogator accessing the first tag including the interrogator sending a command that includes a number randomly generated by the first tag.

9. The method of claim 8, wherein the number randomly generated by the first tag is the first random number.

10. The method of claim 1, further comprising the step of the first tag backscattering at least a portion of an identification number, the identification number identifying an object to which the first tag is affixed.

11. The method of claim 1, wherein comparing the bit string against the respective bits stored in the bit storage locations of memory of each respective tag of the plurality of tags comprises each and every tag of the plurality of tags determining itself to be a member of the selected tag group and the plurality of tags includes all tags in a field of the interrogator.

12. A method comprising the steps of:
sending a first signal from an interrogator to a plurality of radio frequency identification (RFID) tags to select a tag group, the first signal including a set of parameters that describe bit storage locations of memory and a bit string;
each of the plurality of tags receiving the first signal and comparing the bit string to a respective number contained in the respective bit storage locations of memory within each of the plurality of tags to determine if a respective tag is a member of the tag group;
sending a second signal from the interrogator;
each tag of the tag group picking a respective first random slot value from a first number of slot values in response to the second signal, a first sequence in which tags of the tag group are to reply to the interrogator being determined at least in part by the first random slot values associated with the tag group;
a first tag of the tag group backscattering a first reply to the interrogator, the first reply including a first random number generated by the first tag, the first tag replying in accordance with the first sequence;
the interrogator receiving the first reply from the first tag, and, in response thereto, the interrogator sending an acknowledge signal to acknowledge the first tag;
sending a third signal from the interrogator; and
a second tag of the tag group backscattering a second reply to the interrogator in response to the third signal, the second reply including a second random number generated by the second tag, the second tag replying in accordance with the first sequence.

13. The method of claim 12, further comprising the interrogator sending a fourth signal after the step of each tag of the tag group picking a respective first random slot value, wherein the step of the first tag of the tag group backscattering the first reply to the interrogator is performed in response to the fourth signal.

14. The method of claim 12, further comprising the steps of:
each tag of at least a portion of the tag group picking a respective second random slot value from a second number of slot values in response to a signal indicating that a number of slots is to be adjusted, a second sequence in which tags are to reply to the interrogator being determined at least in part by the second random slot values associated with the portion of the tag group; and
a third tag of the at least a portion of the tag group backscattering a third reply to the interrogator, the third reply including a third random number generated by the third tag, the third tag replying in accordance with the second sequence.

15. The method of claim 14, further comprising the interrogator sending a fifth signal after the step of each tag of the at least a portion of the tag group picking a respective second random slot value, wherein the step of the third tag of the at least a portion of the tag group backscattering the third reply to the interrogator is performed in response to the fifth signal.

16. The method of claim 14, wherein the second number of slot values varies from the first number of slot values based, at least in part, on collisions detected by the interrogator.

17. The method of claim 12, further comprising the step of the first tag backscattering at least a portion of an identification number that identifies an object to which the first tag is affixed.

18. The method of claim 17, further comprising the step of the interrogator accessing the first tag individually after receiving both the first random number and the at least portion of the identification number from the first tag, the step of the interrogator accessing the first tag including the step of the interrogator sending a command including a number randomly generated by the first tag to identify the first tag.

19. The method of claim 18, wherein the number randomly generated by the first tag to identify the first tag is the first random number.

20. The method of claim 12, further comprising each and every one of the plurality of tags determining itself to be a member of the tag group in response to receiving the first signal, wherein the plurality of tags includes all tags in a field of the interrogator.

21. The method of claim 20, wherein the first and second random numbers are each 16 bits in length.

22. A method comprising the steps of:
sending a query command from an interrogator to a plurality of wireless identification devices, the query command including a first set of fields comprising first bit values;
each device of the plurality of devices using the first bit values to determine if the respective device belongs to a group of chosen wireless identification devices that may respond to the query command;
each device of the group of chosen devices picking a respective first random slot value from a first number of slot values in response to the query command, the first number of slot values being determined using the first bit values;
a first device of the group of chosen devices backscattering a first random number during a first time, the first random number generated by the first device;
sending a subsequent command from the interrogator to the group of chosen devices, the subsequent command including a second set of fields comprising second bit values;
each device of at least a portion of the group of chosen devices picking a respective second random slot value from a second number of slot values in response to the subsequent command, the second number of slot values varying from the first number of slot values and determined using the second bit values; and
a second device of the at least a portion of the group of chosen devices backscattering a second random number during a second time, the second random number generated by the second device.

23. The method of claim 22, wherein the first and second random numbers are each 16 bits in length.

24. The method of claim 22, further comprising the step of the interrogator receiving the first random number from the first device, and, in response thereto, the interrogator sending an acknowledge command to acknowledge the first device.

25. The method of claim 24, further comprising the step of the first device backscattering at least a portion of a first identification code that identifies a first object to which the first device is affixed.

26. The method of claim 25, further comprising the step of the interrogator receiving the second random number from the second device, and, in response thereto, the interrogator sending an acknowledge command to acknowledge the second device.

27. The method of claim 26, further comprising the step of the second device backscattering at least a portion of a second identification code that identifies a second object to which the second device is affixed.

28. The method of claim 27, further comprising the step of the interrogator transmitting the first random number back to the first device to individually access the first device.

29. The method of claim 22, wherein the subsequent command is a query command.

30. A method comprising:
sending a first signal from an interrogator to first and second radio frequency identification (RFID) tags, the first signal including a bit string and indicating bit storage locations of memory, the first tag having stored therein a first set of bits in bit storage locations corresponding to the bit storage locations of memory, and the second tag having stored therein a second set of bits in bit storage locations corresponding to the bit storage locations of memory;
the first tag receiving the first signal and comparing the bit string against the first set of bits to determine that the first tag is selected;
the second tag receiving the first signal and comparing the bit string against the second set of bits to determine that the second tag is selected;
sending a query command from the interrogator, the query command including a set of fields to select the first and second tags for response to the query command;
the first tag picking a first random slot value from a first number of slot values in response to the query command in accordance with an arbitration scheme;
the second tag picking a second random slot value from the first number of slot values in response to the query command in accordance with the arbitration scheme;
the first tag backscattering a first reply to the interrogator during a first period of time, the first reply including a first random number generated by the first tag; and
the second tag backscattering a second reply to the interrogator during a second period of time, the second reply including a second random number generated by the second tag.

31. The method of claim 30, further comprising the interrogator receiving the first reply from the first tag, and, in response thereto, the interrogator sending an acknowledge signal to acknowledge the first tag.

32. The method of claim 31, further comprising the first tag backscattering at least a portion of an identification number that identifies an object to which the first tag is affixed.

33. The method of claim 32, further comprising the interrogator accessing the first tag individually after receiving both the first random number and the at least portion of the identification number from the first tag, wherein accessing the first tag includes the interrogator sending a command that includes a number randomly generated by the first tag.

34. The method of claim 33, wherein the number randomly generated by the first tag is the first random number, and the first random number is 16 bits in length.

35. The method of claim 34, further comprising each and every one of a plurality of tags determining itself to be selected in resoonse to receiving the first signal, wherein the plurality of tags includes all tags in a field of the interrogator.

36. The method of claim 34, further comprising sending a second signal from the interrogator after the step of the first tag picking the first random slot value, the first tag backscattering the first reply in response to receiving the second signal.

37. The method of claim 30, further comprising sending a second signal from the interrogator after the step of the first tag picking the first random slot value, the first tag backscattering the first reply in response to receiving the second signal.

38. A method comprising the steps of:
sending a first command from an interrogator to a radio frequency identification (RFID) tag, the first command including a bit string and indicating bit storage locations of memory, the tag having stored therein an identifier, a portion of the identifier being stored in a location that corresponds to the bit storage locations of memory indicated by the first command;
the tag comparing the bit string against the portion of the identifier to determine if the tag is selected;
sending a second command from the interrogator;
the tag picking a first random value from a first range of values in response to the second command, the first range of values corresponding to slots in accordance with an arbitration scheme;
the tag backscattering a first self-generated random number during a slot of time that corresponds to the first random value in accordance with the arbitration scheme;
the interrogator detecting a collision upon receiving the first random number;
sending a third command from the interrogator;
the tag picking a second random value from a second range of values different from the first range of values in response to the third command, the second range of values corresponding to slots in accordance with the arbitration scheme; and
the tag backscattering a second self-generated random number during a slot of time that corresponds to the second random value in accordance with the arbitration scheme.

39. The method of claim 38, further comprising the step of the interrogator receiving the second random number from the tag during the slot of time that corresponds to the second random value, and, in response thereto, the interrogator sending a fourth command to acknowledge the tag.

40. The method of claim 39, further comprising the step of the tag backscattering at least a portion of an identification number that identifies an object to which the tag is affixed.

41. The method of claim 40, wherein a difference between the first range of values and the second range of values depends on the third command.

42. The method of claim 38, further comprising the step of the interrogator accessing the tag individually by sending a fourth command that includes the second random number.

43. The method of claim 42, further comprising the step of the tag backscattering at least a portion of an identification number that identifies an object to which the tag is affixed.

44. The method of claim 43, wherein a difference between the first range of values and the second range of values depends on the third command.

45. The method of claim 38, further comprising the step of the interrogator receiving the second random number from the tag during the slot of time that corresponds to the second random value, and subsequently sending a fourth command to the tag, the fourth command including the second random number, the second random number being 16 bits in length.

46. The method of claim 45, further comprising the step of the tag backscattering at least a portion of an identification number that identifies an object to which the tag is affixed.

47. The method of claim 46, wherein a difference between the first range of values and the second range of values depends on the third command.

48. The method of claim 38, further comprising the step of the tag backscattering at least a portion of an identification number that identifies an object to which the tag is affixed.

49. The method of claim 48, wherein a difference between the first range of values and the second range of values depends on the third command.

50. The method of claim 38, wherein a difference between the first range of values and the second range of values depends on the third command.

51. The method of claim 50, wherein the difference between the first range of values and the second range of values depends on collisions detected by the interrogator.

52. The method of claim 38, wherein the first random number, the second random number, and the identifier are the same number.

53. A method comprising:
sending a first command from an interrogator, the first command including a first set of parameters;
a first radio frequency identification (RFID) device wirelessly receiving the first command and using the first set of parameters to determine if the first device is a participant that may respond to the first command and also to determine a first number of slots, the first device randomly picking a first slot from the first number of slots;
a second RFID device wirelessly receiving the first command and using the first set of parameters to determine if the second device is a participant that may respond to the first command and also to determine the first number of slots, the second device randomly picking a second slot from the first number of slots; and
the first device backscattering a first 16 bit random number during a period of time corresponding to the first slot randomly picked by the first device, the first random number generated by the first device.

54. The method of claim 53, further comprising the interrogator receiving the first random number from the first device, and responding by sending an acknowledge command to acknowledge the first device.

55. The method of claim 54, further comprising the first device backscattering at least a portion of an identification number that identifies an object to which the first device is affixed.

56. The method of claim 55, further comprising the interrogator accessing the first device including transmitting the first random number back to the first device.

57. The method of claim 53, further comprising the second device backscattering a second 16 bit random number during a period of time corresponding to the second slot randomly picked by the second device, wherein the second random number is generated by the second device, the first slot is equal to the second slot, and the interrogator detects a collision between the first and second random numbers;
sending a second command from the interrogator at least partially in response to detecting the collision, the second command including a second set of parameters;
the second device wirelessly receiving the second command and using the second set of parameters to determine if the second device is a participant that may respond to the second command and also to determine a second number of slots, wherein the second number of slots varies from the first number of slots, and the second device randomly picks a third slot from the second number of slots; and
the second device backscattering a third 16 bit random number during a period of time corresponding to the third slot, wherein the third random number is generated by the second device.

58. The method of claim 57, further comprising:
the first device backscattering at least a portion of a first identification number that identifies a first object to which the first device is affixed; and
the second device backscattering at least a portion of a second identification number that identifies a second object to which the second device is affixed.

59. The method of claim 58, further comprising the interrogator accessing the first device including transmitting the first random number back to the first device.

60. A method comprising:
sending a first query command from an interrogator to a radio frequency identification (RFID) tag, the first query command including a first set of fields;
the tag wirelessy receiving the first query command;
the tag determining, based on at least one field of the first set of fields, if the tag is chosen to participate in an arbitration scheme;
the tag picking a first random value from a first number of values, the first number of values being determined using at least one field of the first set of fields, the first random value corresponding to a first slot value in accordance with the arbitration scheme;
the tag backscattering a reply to the interrogator during a first period of time in accordance with the arbitration scheme;
sending a second command from the interrogator in response to the reply, the second command including a second set of fields;
the tag wirelessly receiving the second command;
the tag picking a second random value from a second number of values, the second number of values being determined using at least one field of the second set of fields, wherein the second number of values varies from the first number of values, the second random value corresponding to a second slot value in accordance with the arbitration scheme;
the tag backscattering a random number to the interrogator during a second period of time in accordance with the arbitration scheme, wherein the random number is independently generated by the tag; and
sending an acknowledge command from the interrogator to the tag if the random number is received by the interrogator without detecting a collision.

61. The method of claim 60, further comprising the tag determining, based on at least one field of the second set of fields, if the tag is a participant that may respond to the second command.

62. The method of claim 61, further comprising the tag backscattering at least a portion of an identification number that identifies an object to which the tag is affixed.

63. The method of claim 62, further comprising the interrogator detecting a collision upon receiving the reply.

64. The method of claim 63, wherein the second number of values varies from the first number of values based, at least in part, on collisions detected by the interrogator.

65. The method of claim 60, further comprising the interrogator transmitting the random number back to the tag to individually access the tag.

66. The method of claim 65, further comprising the tag backscattering at least a portion of an identification number that identifies an object to which the tag is affixed.

67. A method comprising:
transmitting a first command from an interrogator, the first command to choose a group of radio frequency identification (RFID) tags according to one or more fields of the first command;
causing each respective tag of a first portion of the group of tags to backscatter a respective, independently generated random number in a first order determined, at least in part, by a respective first slot value randomly picked from a first number of values by each respective tag of the first portion in accordance with an arbitration scheme;
causing each respective tag of a second portion of the group of tags to backscatter a respective, independently generated random number in a second order determined, at least in part, by a respective second slot value randomly picked from a second number of values by each respective tag of the second portion in accordance with the arbitration scheme, wherein the first number of values varies from the second number of values;
acknowledging each respective tag of the group of tags; and
causing each respective tag of the group of tags to backscatter at least a portion of a respective identification code that identifies a respective object to which each respective tag is affixed.

68. The method of claim 67, wherein a plurality of RFID tags are members of both the first and second portions of the group of tags.

69. The method of claim 67, wherein the group of tags is fewer than all RFID tags in a field of the interrogator.

70. The method of claim 67, wherein each respective, independently generated random number is 16 bits in length.

71. The method of claim 70, further comprising accessing an individual tag of the group of tags including sending back to the individual tag the respective random number independently generated by the respective individual tag.

72. The method of claim 71, wherein the first number of values is indicated by a field of the first command.

73. The method of claim 67, further comprising choosing the second portion of the group of tags, including comparing a value of a field of a second command to a respective value stored in each respective tag of the second portion, wherein the second command is transmitted by the interrogator after the first command is transmitted and before the respective second slot value is randomly picked by each respective tag of the second portion.

74. The method of claim 73, wherein the first number of values is indicated by a field of the first command, and the second number of values is indicated by a field of the second command.

75. The method of claim 74, further comprising accessing an individual tag of the group of tags including sending back to the respective individual tag the respective random number independently generated by the respective individual tag.

76. The method of claim 75, wherein each of the random numbers is 16 bits in length.

77. The method of claim 67, wherein each of the random numbers is 16 bits in length and the group of tags is fewer than all RFID tags in a field of the interrogator.

78. The method of claim 77, further comprising accessing an individual tag of the group of tags including transmitting to a respective individual tag the respective random number independently generated by the respective individual tag.