A method of and apparatus for establishing wireless communications between an interrogator and individual ones of multiple wireless identification devices, the method comprising utilizing a tree search method to establish communications without collision between the interrogator and individual ones of the multiple wireless identification devices, a search tree being defined for the tree search method, the tree having multiple levels representing subgroups of the multiple wireless identification devices, the number of devices in a subgroup in one level being half of the number of devices in the next higher level, the tree search method employing level skipping wherein at least one level of the tree is skipped. 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 having a unique identification number, the interrogator being configured to employ a tree search technique 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, wherein levels of the tree are occasionally skipped. In one aspect, the method comprises transmitting a first command to select a group of rfid devices based at least in part on a first memory range beginning at a first bit location. The method further comprises transmitting a second command, successively following the first command, to select a subgroup of the group of rfid devices based at least in part on a second memory range beginning at a second bit location. The second bit location is shifted by two or more bits from the first bit location and receives a reply from at least one rfid device of the subgroup of rfid devices. The reply includes an identifier to uniquely identify the rfid device.

Patent
   RE44411
Priority
Feb 19 1998
Filed
Dec 17 2009
Issued
Aug 06 2013
Expiry
Feb 19 2018

TERM.DISCL.
Assg.orig
Entity
unknown
0
134
EXPIRED
0. 27. An interrogator that, when operated, performs a method comprising:
transmitting a first command to select a group of rfid devices based, at least in part, on a first memory range beginning at a first bit location;
transmitting a second command, successively following the first command, to select a subgroup of the group of rfid devices based, at least in part, on a second memory range beginning at a second bit location, wherein the second bit location is shifted by two or more bits from the first bit location; and
receiving a reply from at least one rfid device of the subgroup of rfid devices, the reply including an identifier to uniquely identify the rfid device.
0. 41. A system comprising:
an rfid reader configured to send a first command to indicate a first bit string and a first range of bits, followed, without any intervening query commands, by a second command to indicate a second bit string and a second range of bits, wherein the first range of bits differs from the second range of bits by at least two bits;
an rfid device storing an identification code, the rfid device configured to compare the first bit string to a first value stored in memory corresponding to the first range of bits, to compare the second bit string to a second value stored in memory corresponding to the second range of bits, to provide an identifier to uniquely identify the rfid device, and to provide the identification code.
0. 34. A method, comprising:
providing an rfid device storing an identification number to identify a person;
sending a first command from an interrogator, the first command configured to select a group of rfid devices based, at least in part, on a respective first value stored in each respective rfid device of the group of rfid devices, the respective first value bounded at a respective first bit location within a memory of the respective rfid device;
sending a second command from the interrogator after sending the first command and before sending any intervening command from the interrogator, the second command configured to select a subgroup of the group of rfid devices based, at least in part, on a respective second value stored in the respective rfid device of the group of rfid devices, the respective second value bounded at a respective second bit location within the memory of the respective rfid device, wherein the second bit location is at least two bits away from the first bit location; and
receiving a unique identifier of the rfid device from the rfid device, the rfid device belonging to the subgroup, the unique identifier being separate from the identification number.
0. 1. A method of establishing wireless communications between an interrogator and wireless identification devices, the method comprising utilizing a tree search technique to establish communications without collision between the interrogator and individual ones of the multiple wireless identification devices, the method including using a binary search tree having multiple levels representing subgroups of the multiple wireless identification devices, the number of devices in a subgroup in one level being less than the number of devices in the next level, the tree search technique employing level skipping wherein every second level of the tree is skipped.
0. 2. A method in accordance with claim 1 wherein the wireless identification device comprises an integrated circuit including a receiver, a modulator, and a microprocessor in communication with the receiver and modulator.
0. 3. A method in accordance with claim 1 wherein when a subgroup contains both a device that is within communications range of the interrogator, and a device that is not within communications range of the interrogator, the device that is not within communications range of the interrogator does not respond to the command.
0. 4. A method in accordance with claim 1 wherein when a subgroup contains both a device that is within communications range of the interrogator, and a device that is not within communications range of the interrogator, the device that is within communications range of the interrogator responds to the command.
0. 5. A method in accordance with claim 1 wherein a device in a subgroup changes between being within communications range of the interrogator and not being within communications range, over time.
0. 6. A method of addressing messages from an interrogator to a selected one or more of a number of communications devices, the method comprising:
establishing for respective devices unique identification numbers;
causing the devices to select random values, wherein respective devices choose random values independently of random values selected by the other devices;
transmitting a communication, from the interrogator, requesting devices having random values within a specified group of random values to respond;
receiving the communication at multiple devices, devices receiving the communication respectively determining if the random value chosen by the device falls within the specified group and, if so, sending a reply to the interrogator; and
determining using the interrogator if a collision occurred between devices that sent a reply and, if so, creating a new, smaller, specified group, using a search tree, that is one quarter of the first mentioned specified group, wherein at least one level of a search tree is skipped.
0. 7. A method of addressing messages from an interrogator to a selected one or more of a number of communications devices in accordance with claim 6 wherein sending a reply to the interrogator comprises transmitting the unique identification number of the device sending the reply.
0. 8. A method of addressing messages from an interrogator to a selected one or more of a number of communications devices in accordance with claim 6 wherein sending a reply to the interrogator comprises transmitting the random value of the device sending the reply.
0. 9. A method of addressing messages from an interrogator to a selected one or more of a number of communications devices in accordance with claim 6 wherein sending a reply to the interrogator comprises transmitting both the random value of the device sending the reply and the unique identification number of the device sending the reply.
0. 10. A method of addressing messages from an interrogator to a selected one or more of a number of communications devices in accordance with claim 6 wherein, after receiving a reply without collision from a device, the interrogator sends a command individually addressed to that device.
0. 11. A method of addressing messages from a transponder to a selected one or more of a number of communications devices, the method comprising:
causing the devices to select random values, wherein respective devices choose random values independently of random values selected by the other devices;
transmitting a communication, from the transponder, requesting devices having random values within a specified group of a plurality of possible groups of random values to respond, the specified group being less than or equal to the entire set of random values, the plurality of possible groups being organized in a binary tree having a plurality of levels, wherein groups of random values decrease in size with each level descended;
devices receiving the communication respectively determining if the random value chosen by the device falls within the specified group and, if so, sending a reply to the transponder; and, if not, not sending a reply; and
determining using the transponder if a collision occurred between devices that sent a reply and, if so, creating a new, smaller, specified group by descending at least two levels in the tree.
0. 12. A method of addressing messages from a transponder to a selected one or more of a number of communications devices in accordance with claim 11 and further comprising establishing unique identification numbers for respective devices.
0. 13. A method of addressing messages from a transponder to a selected one or more of a number of communications devices in accordance with claim 12 and further including establishing a predetermined number of bits to be used for the random values.
0. 14. A method of addressing messages from a transponder to a selected one or more of a number of communications devices in accordance with claim 13 wherein the predetermined number of bits to be used for the random values comprises sixteen bits.
0. 15. A method of addressing messages from a transponder to a selected one or more of a number of communications devices in accordance with claim 13 wherein devices sending a reply to the transponder do so within a randomly selected time slot of a number of slots.
0. 16. A method of addressing messages from an interrogator to a selected one or more of a number of rfid devices, the method comprising:
establishing for respective devices unique identification numbers;
causing the devices to select random values, wherein respective devices choose random values independently of random values selected by the other devices;
transmitting from the interrogator a command requesting devices having random values within a specified group of a plurality of possible groups of random values to respond, the specified group being less than or equal to the entire set of random values, the plurality of possible groups being organized in a binary tree having a plurality of levels, wherein groups of random values decrease in size with each level;
receiving the command at multiple of the devices, the devices receiving the command respectively determining if the random value chosen by the device falls within the specified group and, only if so, sending a reply to the interrogator, wherein sending a reply to the interrogator comprises transmitting both the random value of the device sending the reply and the unique identification number of the device sending the reply;
determining using the interrogator if a collision occurred between devices that sent a reply and, if so, creating a new, smaller, specified group using a level of the tree different from the level used in the interrogator transmitting, wherein at least one level of the tree is skipped, the interrogator transmitting a command requesting devices having random values within the new specified group of random values to respond; and
if a reply without collision is received from a device, the interrogator subsequently sending a command individually addressed to that device.
0. 17. A method of addressing messages from an interrogator to a selected one or more of a number of rfid devices in accordance with claim 16 wherein every second level is skipped.
0. 18. A method of addressing messages from an interrogator to a selected one or more of a number of rfid devices in accordance with claim 16 wherein the unique identification numbers are respectively defined by a predetermined number of bits.
0. 19. A method of addressing messages from an interrogator to a selected one or more of a number of rfid devices in accordance with claim 16 wherein the unique identification numbers are respectively defined by a predetermined number of bits and wherein the random values are respectively defined by a predetermined number of bits.
0. 20. A method of addressing messages from an interrogator to a selected one or more of a number of rfid devices in accordance with claim 16 and further comprising, after the interrogator transmits a command requesting devices having random values within the new specified group of random values to respond:
devices receiving the command respectively determining if their chosen random values fall within the new smaller specified group and, if so, sending a reply to the interrogator.
0. 21. A method of addressing messages from an interrogator to a selected one or more of a number of rfid devices in accordance with claim 20 and further comprising, after the interrogator transmits a command requesting devices having random values within the new specified group of random values to respond:
determining if a collision occurred between devices that sent a reply and, if so, creating a new specified group and repeating the transmitting of the command requesting devices having random values within a specified group of random values to respond using different specified groups until all of the devices within communications range are identified.
0. 22. A system comprising:
an interrogator;
a number of communications devices capable of wireless communications with the interrogator;
means for establishing for respective devices unique identification numbers respectively having the first predetermined number of bits;
means for causing the devices to select random values, wherein respective devices choose random values independently of random values selected by the other devices;
means for causing the interrogator to transmit a command requesting devices having random values within a specified group of random values to respond;
means for causing devices receiving the command to determine if their chosen random values fall within the specified group and, if so, to send a reply to the interrogator; and
means for causing the interrogator to determine if a collision occurred between devices that sent a reply and, if so, to create a new, smaller, specified group that is one quarter of the first mentioned specified group, wherein at least one level of the tree is skipped.
0. 23. A system in accordance with claim 22 wherein sending a reply to the interrogator comprises transmitting the unique identification number of the device sending the reply.
0. 24. A system in accordance with claim 22 wherein sending a reply to the interrogator comprises transmitting the random value of the device sending the reply.
0. 25. A system in accordance with claim 22 wherein sending a reply to the interrogator comprises transmitting both the random value of the device sending the reply and the unique identification number of the device sending the reply.
0. 26. A system in accordance with claim 22 wherein the interrogator further includes means for, after receiving a reply without collision from a device, sending a command individually addressed to that device.
0. 28. The interrogator of claim 27, wherein the method further comprises transmitting a third command after transmitting the second command and before receiving the reply, the third command including a at least one field configured to select at least a portion of the subgroup of rfid devices to reply to the third command.
0. 29. The interrogator of claim 28, wherein the method further comprises transmitting a signal, the signal associated with a slotted arbitration scheme.
0. 30. The interrogator of claim 27, wherein the reply further includes an identification number that identifies a person with whom the rfid device is associated.
0. 31. The interrogator of claim 27, wherein the method further comprises transmitting a command that causes the subgroup of rfid devices to independently generate random numbers as identifiers.
0. 32. The interrogator of claim 27, wherein the method further comprises transmitting a signal after transmitting the second command and before receiving the reply, the signal indicating a number of slots in accordance with a slotted arbitration scheme.
0. 33. The interrogator of claim 22, wherein the reply further includes an identification number that identifies a person with whom the rfid device is associated.
0. 35. The method of claim 34, wherein the respective first value of the rfid device comprises at least a portion of the unique identifier.
0. 36. The method of claim 34, further comprising receiving the identification number from the rfid device.
0. 37. The method of claim 36, further comprising sending the unique identifier to the device.
0. 38. The method of claim 37, further comprising sending a third command to the rfid device, the third command associated with a slot value.
0. 39. The method of claim 34, further comprising sending a third signal from the interrogator, the third signal being associated with a slotted random anticollision algorithm and indicating a number of slots for the rfid device.
0. 40. The method of claim 39, further comprising receiving the identification number from the rfid device.
0. 42. The system of claim 41, wherein the reader is further configured to send the identifier to the rfid device.
0. 43. The system of claim 42, wherein the rfid device is further configured to pick a random slot value.
0. 44. The system of claim 43, wherein the reader is further configured to send a third command to instruct the rfid device to generate the identifier.

and now U.S. Pat. No. 6,130,602. 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 commonly assigned U.S. patent application Ser. No. 08/907,689, filed Aug. 8, 1997 and now U.S. Pat. No. 6,289,209, which is 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 now U.S. Pat. No. 5,988,510, which is 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 button-type cell forming a small, thin energy cell more commonly utilized in watches and small electronic devices requiring a thin profile. A conventional button-type 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 button type 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, filed Aug. 29, 1996, now U.S. Pat. No. 6,130,602.

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 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). In such systems, the inventors have determined that 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. 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 an Identify command (IdentifyCmnd) 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. 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 “don't care” for all bits, as indicated by the character “X” in FIGS. 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, 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 when AVALUE is set at 0010, and AMASK is set to 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 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 fall, 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 collisions take place 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. Depth first traversals are performed by using recursion, as is employed in the code listed above. Breadth-first traversals are accomplished by using a queue instead of recursion. The following is an example of code for performing a breadth-first traversal.

Arbitrate(AMASK, AVALUE)
  {
   enqueue(0,0)
   while (queue != empty)
    (AMASK,AVALUE) = dequeue( )
    collision=IdentifyCmnd(AMASK, AVALUE)
    if (collision) then
    {
     TEMP = AMASK+1
     NEW_AMASK = (AMASK<<1)+1
     enqueue(NEW_AMASK, AVALUE)
     enqueue(NEW_AMASK, AVALUE+TEMP)
     } /* endif */
 endwhile
 }/* return */

The symbol “!=” means not equal to. AVALUE and AMASK would have values such as those indicated in the following table for such code.

AVALUE AMASK
0000 0000
0000 0001
0001 0001
0000 0011
0010 0011
0001 0011
0011 0011
0000 0111
0100 0111
. . . . . .

Rows in the table for which the interrogator is successful in receiving a reply without collision are marked with the symbol “*”.

FIG. 5 illustrates an embodiment wherein levels in the tree are skipped. The inventors have determined that 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.

Thus, FIG. 5 illustrates a binary search tree 32 being defined for a tree search method similar to the tree search method described in connection with FIG. 4. The tree 32 has multiple levels 34, 36, 38, 40, and 42 representing subgroups of the multiple devices 12. The number of devices in a subgroup in one level 34, 36, 38, 40, and 42 is half of the number of devices in the next higher level 34, 36, 38, 40, and 42. Although only five levels are shown, if more bits are employed, (e.g., sixteen bits or an integer multiple of eight or sixteen bits for each of AMASK and AVALUE), there will of course be more levels. The tree search method illustrated in FIG. 5 employs level skipping wherein at least one level of the tree is skipped.

A first predetermined number of bits, e.g. sixteen or an integer multiple of eight or sixteen bits, are established to be used as unique identification numbers. Respective devices 12 are provided with unique identification numbers respectively having the first predetermined numbers of bits, in addition to their random values RV. For example, such unique identification numbers are stored in memory in the respective devices 12.

A second predetermined number of bits are established to be used for the random values RV. The devices 12 are caused to select random values, RV. This is done, for example, by the interrogator 26 sending an appropriate command. Respective devices choose random values independently of random values selected by the other devices 12. Random number generators are known in the art.

The interrogator transmits a command requesting devices 12 having random values RV within a specified group of random values to respond, using a methodology similar to that described in connection with FIG. 4, except that levels are skipped. Four subsets of random values, instead of two, are probed when moving down the tree and skipping a level. This means that instead of eliminating half of the remaining devices 12 and re-trying, after a collision, the interrogator eliminates three quarters of the remaining devices 12 and re-tries (by sending a command). In other words, a new specified group is created that is one quarter of the set of random values of the previous group.

Each devices 12 that receives the command determines if its chosen random value falls within the specified group by evaluating the equation (AMASK & AVALUE)==(AMASK & RV) and, if so, sends a reply, to the interrogator. The reply includes the random value of the replying device 12 and the unique identification number of the device 12. The interrogator determines if a collision occurred between devices that sent a reply and, if so, creates a new, smaller, specified group, by moving down the tree, skipping a level.

In the illustrated 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 following. 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. The inventors have determined that 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.

The inventors have determined that skipping every other level drastically reduces the number of collisions and saves battery power with out significantly increasing the number of queries.

After receiving a reply without collision from a device 12, the interrogator 26 can send a command individually addressed to that device by using its now known random value or its now known unique identification number.

The above described code for depth-first traversal is modified to provide for level skipping by increasing the number of recursive calls as shown below. For example, the above described code for depth-first traversal is replaced with code such as the following to provide for depth-first traversal employing level skipping.

Arbitrate(AMASK, AVALUE)
 {
  collision=IdentifyCmnd(AMASK, AVALUE)
  if (collision) then
   {
    TEMP = AMASK+1
    NEW_AMASK = (AMASK<<2)+3
    Arbitrate(NEW_AMASK, AVALUE)
    Arbitrate(NEW_AMASK, AVALUE+TEMP)
    Arbitrate(NEW_AMASK, AVALUE+2*TEMP)
    Arbitrate(NEW_AMASK, AVALUE+3*TEMP)
   } /* endif */
 }/* return */

AVALUE and AMASK would have values such as those indicated in the following table for such code.

AVALUE AMASK
0000 0000 
0000 0011 
0000 1111*
0100 1111*
1000 1111*
1100 1111*
0001 0011 
0001 1111*
0101 1111*
1001 1111*
1101 1111*
0010 0011 
0010 1111*
0110 1111*
1010 1111*
1110 1111*
. . . . . .

Rows in the table for which the interrogator is successful in receiving a reply without collision are marked with the symbol “*”.

Similarly, the code provided above for breadth-first traversal can be readily modified to employ level skipping. Instead of inserting two items into the queue each time through the loop, four items are inserted into the queue each time through the loop. For either breadth-first traversal or depth-first traversal, AMASK will be shifted by two bits instead of one, and AVALUE will take on twice as many different values as in the case where level skipping is not 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.

There is a scheme known as slotted Aloha which improves the Aloha scheme by requiring a small amount of coordination among stations. 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.

Aloha methods are described in a commonly assigned patent application (attorney docket number MI40-089) naming Clifton W. Wood, Jr. as an inventor, titled “Method of Addressing Messages and Communications System,” filed concurrently herewith, and Ser. No. 09/026,248, filed Feb. 19, 1998, now U.S. Pat. No. 6,275,476, which is incorporated herein by reference.

In one alternative embodiment, an Aloha method is combined with level skipping, such as the level skipping shown and described in connection with FIG. 5. For example, in one embodiment, devices 12 sending a reply to the interrogator 26 do so within a randomly selected time slot of a number of slots.

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.

Wood, Jr., Clifton W., Hush, Don

Patent Priority Assignee Title
Patent Priority Assignee Title
4075632, Aug 27 1974 The United States of America as represented by the United States Interrogation, and detection system
4761778, Apr 11 1985 Massachusetts Institute of Technology Coder-packetizer for random accessing in digital communication with multiple accessing
4796023, Dec 05 1986 Stabilized binary tree protocol
4799059, Mar 14 1986 Itron, Inc Automatic/remote RF instrument monitoring system
4845504, Apr 08 1987 AMP Incorporated; AMP INVESTMENTS, INC ; WHITAKER CORPORATION, THE Mobile radio network for nationwide communications
4862453, Oct 03 1986 MARCONI COMPANY LIMITED, THE, THE GROVE, WARREN LANE, STANMORE, MIDDLESEX HA7 4LY, UNITED KINGDOM Communication system
4926182, May 30 1986 Sharp Kabushiki Kaisha Microwave data transmission apparatus
4935962, May 19 1988 NCR Corporation Method and system for authentication
4955018, Nov 10 1987 Echelon Systems Corporation Protocol for network having plurality of intelligent cells
4969146, Nov 10 1987 Echelon Systems Corporation Protocol for network having a plurality of intelligent cells
5019813, Apr 13 1987 N V NEDERLANDSCHE APPARATENFABRIEK NEDAP, A CORP OF THE NETHERLANDS System for the contactless exchange of data
5025486, Dec 09 1988 Dallas Semiconductor Corporation Wireless communication system with parallel polling
5046066, Feb 09 1987 Cisco Technology, Inc Wireless local area network
5055968, Jul 04 1988 Sony Corporation Thin electronic device having an integrated circuit chip and a power battery and a method for producing same
5121407, Sep 27 1990 PITTWAY CORPORATION, A CORP OF PA Spread spectrum communications system
5124697, Oct 16 1989 Motorola, Inc. Acknowledge-back pager
5142694, Jul 24 1989 Motorola, Inc. Reporting unit
5144313, Apr 24 1991 Q-Free ASA Method for processing transmitted and reflected signals for removing unwanted signals and noise from wanted signals
5144668, Jan 25 1991 Motorola, Inc.; MOTOROLA, INC , A CORP OF DE Signal overlap detection in a communication system
5150114, Nov 10 1989 NXP B V Polling-type information transmission system
5150310, Aug 30 1989 AMPERSAND SPECIALTY MATERIALS VENTURES, L P ; MORGAN, HOLLAND FUND II, L P Method and apparatus for position detection
5164985, Oct 27 1987 CEDCOM NETWORK SYSTEMS PTY LIMITED Passive universal communicator system
5168510, Mar 06 1984 DBI Corporation Spread spectrum-time diversity communications systems and transceivers for multidrop area networks
5194860, Nov 16 1989 ABB METERING SYSTEMS LIMITED Radio telemetry systems with channel selection
5231646, Mar 16 1992 Kyros Corporation Communications system
5266925, Sep 30 1991 Round Rock Research, LLC Electronic identification tag interrogation method
5307463, Mar 08 1990 Allen-Bradley Company, Inc. Programmable controller communication module
5365551, Dec 15 1992 Round Rock Research, LLC Data communication transceiver using identification protocol
5373503, Apr 30 1993 Information Technology, Inc. Group randomly addressed polling method
5449296, Mar 07 1994 Cabel-Con, Inc. USA Cable connector apparatus for preventing radiation leakage
5461627, Dec 24 1991 Proxim Wireless Corporation Access protocol for a common channel wireless network
5479416, Sep 30 1993 Round Rock Research, LLC Apparatus and method for error detection and correction in radio frequency identification device
5500650, Dec 15 1992 Round Rock Research, LLC Data communication method using identification protocol
5530702, May 31 1994 Mobile Technics LLC System for storage and communication of information
5550547, Sep 12 1994 INTERMEC IP CORP , A CORPORATION OF DELAWARE Multiple item radio frequency tag identification protocol
5555286, Jan 31 1994 TENDLER CELLULAR, INC Cellular phone based automatic emergency vessel/vehicle location system
5562787, Jun 03 1994 Bridgestone Americas Tire Operations, LLC Method of monitoring conditions of vehicle tires
5583850, Dec 15 1992 Round Rock Research, LLC Data communication system using identification protocol
5606323, Aug 31 1995 INTERMEC IP CORP , A CORPORATION OF DELAWARE Diode modulator for radio frequency transponder
5608739, Sep 30 1993 Round Rock Research, LLC Apparatus and method for error detection and correction in radio frequency identification device
5619648, Nov 30 1994 Alcatel Lucent Message filtering techniques
5621412, Apr 26 1994 Texas Instruments Incorporated Multi-stage transponder wake-up, method and structure
5625628, Mar 15 1995 U S BANK NATIONAL ASSOCIATION Aloha optimization
5627544, Dec 15 1992 Round Rock Research, LLC Data communication method using identification protocol
5640151, Jun 15 1990 OL SECURITY LIMITED LIABILITY COMPANY Communication system for communicating with tags
5649296, Jun 19 1995 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Full duplex modulated backscatter system
5686902, Jun 15 1990 SAVI TECHNOLOGY, INC Communication system for communicating with tags
5790946, Jul 15 1993 Round Rock Research, LLC Wake up device for a communications system
5805586, May 02 1995 Motorola, Inc Method, device and data communication system for multilink polling
5841770, Dec 15 1992 Round Rock Research, LLC Data communication system using indentification protocol
5914671, Feb 27 1997 Round Rock Research, LLC System and method for locating individuals and equipment, airline reservation system, communication system
5936560, Dec 04 1996 HANGER SOLUTIONS, LLC Data compression method and apparatus performing high-speed comparison between data stored in a dictionary window and data to be compressed
5940006, Dec 12 1995 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Enhanced uplink modulated backscatter system
5942987, Sep 09 1994 INTERMEC IP CORP , A CORPORATION OF DELAWARE Radio frequency identification system with write broadcast capability
5943624, Jul 15 1996 Google Technology Holdings LLC Contactless smartcard for use in cellular telephone
5952922, Dec 31 1996 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT In-building modulated backscatter system
5966471, Dec 23 1997 United States of America Method of codebook generation for an amplitude-adaptive vector quantization system
5974078, Mar 17 1993 Round Rock Research, LLC Modulated spread spectrum in RF identification systems method
5988510, Feb 13 1997 Round Rock Research, LLC Tamper resistant smart card and method of protecting data in a smart card
6010074, Apr 01 1996 CUBIC CORPORATION, A DELAWARE CORPORATION Contactless proximity automated data collection system and method with collision resolution
6038455, Sep 25 1995 Cirrus Logic, INC Reverse channel reuse scheme in a time shared cellular communication system
6061344, Feb 19 1998 Round Rock Research, LLC Method of addressing messages and communications system
6072801, Feb 19 1998 Round Rock Research, LLC Method of addressing messages, method of establishing wireless communications, and communications system
6073840, Sep 26 1997 Gilbarco Inc Fuel dispensing and retail system providing for transponder prepayment
6075973, May 18 1998 Round Rock Research, LLC Method of communications in a backscatter system, interrogator, and backscatter communications system
6097292, Apr 01 1996 Cubic Corporation Contactless proximity automated data collection system and method
6104333, Dec 19 1996 Round Rock Research, LLC Methods of processing wireless communication, methods of processing radio frequency communication, and related systems
6118789, Feb 19 1998 Round Rock Research, LLC Method of addressing messages and communications system
6130602, May 13 1996 Round Rock Research, LLC Radio frequency data communications device
6130623, Dec 31 1996 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Encryption for modulated backscatter systems
6150921, Oct 17 1996 RF TECHNOLOGIES Article tracking system
6157633, Jun 10 1996 AT&T MOBILITY II LLC Registration of mobile packet data terminals after disaster
6169474, Apr 23 1998 Round Rock Research, LLC Method of communications in a backscatter system, interrogator, and backscatter communications system
6177858, Dec 01 1995 WINSTEAD ASSESTS LTD Method for remotely interrogating tags, and station and tag implementing said method
6185307, Jul 16 1997 Gilbarco Inc Cryptography security for remote dispenser transactions
6192222, Sep 03 1998 Round Rock Research, LLC Backscatter communication systems, interrogators, methods of communicating in a backscatter system, and backscatter communication methods
6216132, Nov 20 1997 IBM Corporation Method and system for matching consumers to events
6226300, Feb 19 1998 Round Rock Research, LLC Method of addressing messages, and establishing communications using a tree search technique that skips levels
6229987, May 18 1998 Round Rock Research, LLC Method of communications in a backscatter system, interrogator, and backscatter communications system
6243012, Dec 31 1996 Lucent Technologies Inc Inexpensive modulated backscatter reflector
6265962, Sep 03 1997 Round Rock Research, LLC Method for resolving signal collisions between multiple RFID transponders in a field
6265963, Dec 19 1996 Round Rock Research, LLC Methods of processing wireless communication, methods of processing radio frequency communication, and related systems
6275476, Feb 19 1998 Round Rock Research, LLC Method of addressing messages and communications system
6282186, Feb 19 1998 Round Rock Research, LLC Method of addressing messages and communications system
6288629, May 23 1997 INTERMEC IP CORP , A CORPORATION OF DELAWARE Method of using write--ok flag for radio frequency (RF) transponders (RF Tags)
6289209, Dec 18 1996 Round Rock Research, LLC Wireless communication system, radio frequency communications system, wireless communications method, radio frequency communications method
6307847, Feb 19 1998 Round Rock Research, LLC Method of addressing messages and communications systems
6307848, Apr 18 2000 Round Rock Research, LLC Method of addressing messages, method of establishing wireless communications, and communications system
6324211, Apr 24 1998 Round Rock Research, LLC Interrogators communication systems communication methods and methods of processing a communication signal
6415439, Feb 04 1997 MUSICQUBED INNOVATIONS, LLC Protocol for a wireless control system
6459726, Apr 24 1998 Round Rock Research, LLC Backscatter interrogators, communication systems and backscatter communication methods
6483427, Oct 17 1996 RF TECHNOLOGIES, INC Article tracking system
6566997, Dec 03 1999 ASSA ABLOY AB Interference control method for RFID systems
6570487, Jan 24 1997 AXCESS INTERNATIONAL, INC Distributed tag reader system and method
6707376, Aug 09 2002 SENSORMATIC ELECTRONICS, LLC Pulsed power method for increased read range for a radio frequency identification reader
6714559, Dec 04 1991 INNOVATIO IP VENTURES Redundant radio frequency network having a roaming terminal communication protocol
6771634, Jun 10 1996 AT&T MOBILITY II LLC Registration of mobile packet data terminals after disaster
6778096, Nov 17 1997 Lenovo PC International Method and apparatus for deploying and tracking computers
6784787, Nov 14 1997 Zebra Technologies Corporation Identification system
6850510, Oct 05 1995 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD Hierarchical data collection network supporting packetized voice communications among wireless terminals and telephones
6919793, Sep 09 1994 Intermec IP CORP Radio frequency identification system write broadcast capability
7026935, Nov 10 2003 IMPINJ, INC Method and apparatus to configure an RFID system to be adaptable to a plurality of environmental conditions
7315522, Feb 19 1998 Round Rock Research, LLC Communication methods using slotted replies
7385477, May 13 1996 Round Rock Research, LLC Radio frequency data communications device
7639638, Feb 19 1998 Round Rock Research, LLC Method and apparatus for an arbitration scheme for radio frequency identification devices
7672260, Feb 19 1998 Round Rock Research, LLC Method of addressing messages and communications system
20030235184,
20050060069,
20050207364,
20060022800,
20060022801,
20060022815,
20060056325,
20060103506,
20070139164,
20070176751,
20080007412,
20080042806,
20080048832,
20080048835,
20080129485,
20080180221,
20080297324,
20090322491,
EP1072128,
EP779520,
JP2002228809,
JP9054213,
RE40686, Feb 19 1998 Round Rock Research, LLC Method of addressing messages and communications system
RE42344, Feb 19 1998 Round Rock Research, LLC Method and apparatus to manage RFID tags
WO2008094728,
WO9748216,
WO9943127,
WO9748216,
/
Executed onAssignorAssigneeConveyanceFrameReelDoc
Dec 17 2009Round Rock Research, LLC(assignment on the face of the patent)
Date Maintenance Fee Events


Date Maintenance Schedule
Aug 06 20164 years fee payment window open
Feb 06 20176 months grace period start (w surcharge)
Aug 06 2017patent expiry (for year 4)
Aug 06 20192 years to revive unintentionally abandoned end. (for year 4)
Aug 06 20208 years fee payment window open
Feb 06 20216 months grace period start (w surcharge)
Aug 06 2021patent expiry (for year 8)
Aug 06 20232 years to revive unintentionally abandoned end. (for year 8)
Aug 06 202412 years fee payment window open
Feb 06 20256 months grace period start (w surcharge)
Aug 06 2025patent expiry (for year 12)
Aug 06 20272 years to revive unintentionally abandoned end. (for year 12)