Abstract:
A radio frequency identification device (RFID) tag includes a processor, a memory configured to store an identification number that distinguishes the tag from other tags, and a transponder coupled to the memory and the processor. The tag arbitrates by selecting a random number in response to an inventory query from a reader. The tag responds to the reader depending on the random number selected. The tag is configured for multiple concurrent inventory session arbitrations with multiple readers by separately storing random numbers for respective inventory session arbitrations.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. application Ser. No. 11/700,525, filed on Jan. 30, 2007, which issued as U.S. Pat. No. 7,973,644 on Jul. 5, 2011, the disclosure of which is incorporated herein by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     The technical field relates to radio frequency identification. More particularly, various embodiments of the invention relate to methods and apparatus for inventorying radio frequency identification devices. 
     Radio frequency identification devices (RFIDs) are known in the art. Such devices are typically used for inventory tracking. 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 determine the location of objects in an inexpensive and streamlined manner. One way to track objects is by affixing RFID tags to objects or groups of objects, and interrogating the RFID tags with an interrogator or reader to determine which objects are present in any particular location. RFID tags may be provided with unique identification numbers or codes in order to allow a reader to distinguish between multiple different tags. 
     SUMMARY OF THE INVENTION 
     Some RFID tags use the electromagnetic field from an interrogator for power. Typically, these devices are passive (have no power supply), which results in a small and portable package. 
     Another type of RFID tag is an active RFID tag, which includes its own source of power, such as a battery. 
     If an interrogator or reader has prior knowledge of the identification number of a device, the reader 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 a reader is attempting to determine which of multiple devices are within communication range. When the reader 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 reader. For example, if the interrogator sends out a command requesting that all devices within a communications range identify themselves, and receives a large number of simultaneous replies, the interrogator may not able to interpret any of these replies. Tag responses can interfere with each other and the reader sees collisions or incomprehensible noise. Therefore, arbitration or singulation schemes are employed to permit communications that are free of collisions. The term singulation refers to identifying a specific individual tag in a multiple tag environment. 
     In some arbitration or singulation schemes, 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 the disclosures of all of which are incorporated herein by reference, a reader 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&#39;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 quickly determines the arbitration number of every responder station capable of communicating at the same time. Thereafter, the interrogator is able to conduct subsequent uninterrupted communication with devices, one at a time, by addressing only one device. Various arbitration or singulation schemes are discussed in commonly assigned U.S. Pat. No. 6,275,476 to Wood, Jr.; U.S. Pat. No. 6,118,789 to Wood, Jr.; U.S. Pat. No. 6,072,801 to Wood, Jr. et al.; and U.S. Pat. No. 6,061,344 to Wood, Jr., the disclosures of all of which are incorporated herein by reference. 
     It is possible to have multiple readers operating in the same location. Problems can arise when multiple readers try to conduct an inventory at the same time. 
     EPCglobal is a standard setting organization that is developing standards for electronic product codes to support the use of RFID technology. One of their standards, called Class 1, Generation 2 (also known as “Gen 2”) applies to passive RFID systems. These standards evolve over time, and for a particular standard, such as Gen 2, there are minor variations between versions. The present version of the Class 1, Generation 2 standard is version 1.0.9. 
     The various protocols are designed to arbitrate the collisions, and EPCglobal&#39;s Gen 2 provides a specific methodology for arbitrating the collisions. In some of the above described patents, a binary-tree approach is used, in which some unique identifier is assigned to each tag, Such as the electronic product code, and the reader goes down the tree of possible numbers, until it is confident that it is talking to just a single tag. At that point the tag is read, and put to sleep. The reader then goes back up the tree and tries to singulate another tag. This repeats until there are no more tags left responding. 
     DETAILED DESCRIPTION 
     The Gen 2 standard takes a different approach to generating an inventory. The approach used by the Gen 2 standard, has inventory rounds of 2e slots. Although the word “slot” is used in the specification, it is not really a timeslot. It is more of a counter. The process is illustrated in  FIG. 1 . At the beginning of each round, each tag sets its respective slot counter  10 ,  12 ,  14 ,  16 ,  18  to a random number, from 0 to 2e-l. The reader sends a command that starts an inventory process. Any tag whose slot counter is 0 sends a reply; all other tags decrease their slot counter by 1. This process is repeated for all 2e slots. Q is the number of bits, or width of the slot counter. By changing Q, the reader can optimally adjust the number of slots per round to adapt to the number of tags expected to be present. For example, if it is known that there are no more than six tags in a field, there is no need to use a slot counter that is 16 bits wide when 3 bits are sufficient. Thus Q, of the Gen 2 standard, is effectively a mask on the slot counter. Q is similar to the width of the Arbitration Mask described in the above-incorporated Snodgrass and Wood, Jr. patents. 
     Thus, Q is a parameter that is used to regulate the probability of tag response. During an inventory round, the tags respond only when their slot counter equals zero. The slot counter contents are derived in a pseudorandom manner based on the value of the parameter Q. In the Gen 2 standard, Q is, for example, an integer between 0 and 15, and the number of slots is between 2° and 215. 
     The Gen 2 standard further allows the user to include in an inventory round only tags that meet certain selection criteria. Appropriate combinations of Select commands can be used to implement Boolean criteria within a tag population. 
     The Gen 2 standard has also implemented a method called “Sessions” to attempt to solve the problem of two, three or four readers reading the same population of tags in the same time period; i.e., an inventory processes overlap. According to the specification, a reader shall support and tags shall provide four sessions, and tags shall participate in one and only one session during an inventory round. Two or more interrogators can use sessions to independently inventory a common tag population. Tags associate a separate and independent “inventoried” flag to each of the multiple readers. After singulating a tag, an interrogator may issue a command that causes the tag to invert its inventoried flag for that session. However, all four sessions use the same random number generator and same slot counter. When a tag&#39;s arbitration procedure gets interrupted (when one sessions stops and another session starts), the tag has to start over in an arbitration with a new reader and has to generate a new slot counter and handle (RN16) value. When the slot counter gets to zero, the tag replies and may have been inventoried by the interrupting reader. But when the first reader tries to resume its inventorying, the tag has lost its original handle and the reader cannot find the tag. The first reader has to begin its inventory process all over again. 
     Relevant portions of the Gen 2 specification will now be substantially repeated, to better enable one of ordinary skill in the art to understand the Gen 2 arbitration procedure. According to the Gen 2 specification, the inventory commands that a Gent reader or interrogator use include a “Query” command, a “QueryAdjust” command (described below), a “QueryRep” command (described below), an “ACK” (acknowledge) command, and a “NAK” (no acknowledgement or not acknowledged) command or transmission. The Query command initiates an inventory round and decides which tags participate in an inventory round. A round is a period between successive Query commands. 
     Also according to the Gen 2 specification, the Query command contains the slot-count parameter Q. Upon receiving a Query command, participating tags pick a random number in the range of 0 to 2e-l, inclusive, and load this value into their slot counter. Tags that pick a zero transition to the reply state and reply immediately. Tags that pick a nonzero value transition to an “arbitrate” state (see  FIG. 3 ) and await a QueryAdjust (described below) or a QueryRep command. Assuming a single tag replies, the following occurs: a) the tag backscatters an RN16 (16 bit random or pseudorandom number) as it enters a reply state, b) the reader acknowledges the tag with an ACK COMMAND containing the same RN16, c) the acknowledged tag transitions to an “acknowledged” state, and backscatters its PC (protocol control data), EPC (electronic product code data that identifies the object to which the tag is or will be attached and distinguishes the tag from other tags) and CRC-16 (cyclic redundancy check), and d) the interrogator issues a QueryAdjust or QueryRep command (not shown), causing the identified tag to invert an “inventoried” flag (i.e., from A to B or B to A) and to transition to a “ready” state, and potentially causing another tag to initiate a query-response dialog with the interrogator, starting in step (a), above. The tag can be considered to be singulated after it is acknowledged. 
     If the tag fails to receive the ACK acknowledgement in step (b) within a specified time, or receives the ACK with an erroneous RN16, it returns to the arbitrate state. If multiple tags reply in step (a) above, but the reader is able to resolve an RN16 from one of the tags, the reader can acknowledge the resolved tag. Unresolved tags receive erroneous RN16s from the reader and return to the arbitrate state without backscattering their PC, EPC, and CRC-16. 
     If the reader sends a valid acknowledgement (i.e., an ACK containing the correct RN16) to the tag in the acknowledged state, the tag re-backscatters its PC, EPC, and CRC-16. 
     At any point the reader may issue a NAK. In response to receiving the NAK, all tags in the inventory round return to the arbitrate state without changing their inventoried flag. 
     After issuing a Query command to initiate an inventory round, the reader typically issues one or more QueryAdjust or QueryRep commands. The QueryAdjust repeats a previous Query and may increment or decrement Q, but does not introduce new tags into the round. QueryRep repeats a previous Query without changing any parameters and without introducing new tags into the round. An inventory round can contain multiple QueryAdjust or QueryRep commands. At some point the reader will issue a new Query, thereby starting a new inventory round. 
     Tags in the arbitrate or reply states that receive a QueryAdjust first adjust Q (increment, decrement, or leave unchanged), then pick a random value in the range of 0 to 2e-l, inclusive, and load this random value into their slot counter. Tags that pick zero transition to the reply state and reply immediately. Tags that pick a nonzero value transition to the arbitrate state and await a QueryAdjust or a QueryRep command. 
     Tags in the arbitrate state decrement their slot counter every time they receive a QueryRep command, transitioning to the reply state and backscattering an RN16 when their slot counter reaches 0000 (hexadecimal). Tags whose slot counter reached 0000, who replied, and who were not acknowledged (including tags that responded to the original Query and were not acknowledged) return to the arbitrate state with a slot value of 0000 and decrement this slot value from 0000 to 7FFF (hexadecimal) at the next QueryRep, thereby effectively preventing subsequent replies until the tag loads a new random value into its slot counter. Tags reply at least once in 2e-l QueryRep commands. 
     Although tag inventory is based on a random protocol, the Q-parameter affords network control by allowing a reader to regulate the probability of tag responses. Q is an integer in the range of (0, 15) thus, the associated tag-response probabilities range from 2°=1 to 215=0.000031. 
     To illustrate an inventory operation, the Gen 2 specification provides the following specific example. Assume a population of sixty-four powered tags in the ready state. A reader first issues a Select command to select a subpopulation of tags. Assume that sixteen tags match the selection criteria. Further, assume that twelve of the sixteen selected tags each have their inventoried flag set to A in session SO. The reader issues a Query specifying (SL, Q=4, SO, A). Each of the 12 tags having their inventoried flag set to A picks a random number in the range of (0, 15) and loads the value into its slot counter. Tags that pick a zero respond immediately. The Query has three possible outcomes: 
     a) No tags reply. The reader may issue another Query, or it may issue a QueryAdjust or QueryRep. 
     b) One tag replies. See  FIG. 2 . The tag transitions to the reply state and backscatters  20  an RN16. The reader acknowledges the tag by sending  22  an ACK. If the tag receives the ACK with a correct RN16, it backscatters  24  its PC, EPC, and CRC-16 and transitions to the acknowledged state. If the tag receives the ACK with an incorrect RN16, it transitions to arbitrate. Assuming a successful ACK, the reader may either access the acknowledged tag or issue  26  a Query Adjust or QueryRep to invert the tag&#39;s inventoried flag from A to B and send the tag to the ready state. A Query with a matching prior-round session parameter will also invert the inventoried flag from A to B. 
     c) Multiple tags reply. The reader observes a backscattered waveform comprising multiple RN16s. It may try to resolve the collision and issue an ACK; not resolve the collision and issue a Query Adjust, QueryRep, or NAK; or quickly identify the collision and issue a Query Adjust or QueryRep before the collided tags have finished backscattering. In the latter case, the collided tags, not observing a valid reply within the specified time, return to the arbitrate state and await the next Query of Query Adjust command. The Gen 2 arbitration process is also described in connection with a tag state diagram included in the Gen 2 specification, a relevant portion of which is reproduced as  FIG. 3 . Arbitrate state  30 , reply state  32 , and acknowledged state  34  correspond to such states as discussed above.  FIG. 3  also shows that the term “handle,” as used in the Gen 2 specification, corresponds to an RN16 that a reader uses as a nickname for a tag after a tag has a zero slot value and is acknowledged. Additional details, if desired, can be seen in the Gen 2 specification. 
     Instead of asking for a tag with a specific masked random number as described in the above incorporated Snodgrass and Wood, Jr. patents (and the reader subsequently going up or down through all numbers in the masked random number space, e.g., using the logic trees of the Wood, Jr. patents), the slot counters of tags based on the Gen 2 specification count down toward 0 in response to receiving each QueryRep command. When a tag slot counter reaches 0, the tag generates a new random number and returns it to the reader, and this is used as a temporary tag number or “handle” by the reader. The Gen 2 handle is substantially similar to the Random Number of the Snodgrass and Wood, Jr. patents. The Gen 2 process is substantially similar to the Snodgrass and Wood Jr. processes except that the Gen 2 tags make the countdown steps and issue new and large random numbers. This requires significantly more complexity in the tags, where real estate is expensive, instead of in the readers. 
     A conventional RFID tag  36 , shown in  FIG. 4 , has one random number generator  38 , one location  40  for storing random numbers, and one mask or Q value storage location  42 . There is a problem when a second reader  44  initiates an arbitration process concurrent with the arbitration process of a first reader  46 . The second reader  44 , while it may have a different session number, must command tags to each generate a new random number and mask. The new random numbers and new masks may differ in value from those generated for the first reader arbitration. Since each tag  36  stores only one random number and one mask or Q value, the first random number and mask are lost to the tags and unavailable to the first reader  46  for use upon continuing (resuming) after a second reader&#39;s arbitration process. The first reader  46  must send commands for its tag population to generate new random numbers and perhaps different masks (Q values), both of which can lead to prolonged inventory times. The problem is exacerbated if an additional reader  48  is introduced. In some cases, the inventory processes may never finish. In other words, the EPCglobal system does not truly provide multiple concurrent inventorying, even for two sessions, let alone four. 
     More particularly, using conventional tags in multiple concurrent arbitrations will result in extra sortings of tags. This is because, when a second reader starts its sort, the second reader&#39;s command will cause the tags to generate new random numbers and Q values that are, at that point, lost to the first reader&#39;s sorting process. This causes the first reader to ask for a new random number that is masked to the first Q value. The first (interrupted) sorting addressing sequence is lost and must be restarted upon resuming. In the case of multiple interruptions and restarts, the arbitration process of any reader may in some cases be extended indefinitely and not converge to a conclusion. 
    
    
     
       BRIEF DESCRIPTIONS OF THE DRAWINGS 
         FIG. 1  is a timing diagram illustrating an inventory operation and slot counter operation in accordance with the EPCglobal method. 
         FIG. 2  is a communication sequence diagram illustrating data communications between a tag and a reader if a single tag picks a zero value for its slot counter. 
         FIG. 3  is a state diagram illustrating states that a tag may go through as part of an arbitration process. 
         FIG. 4  is a block diagram illustrating problems with prior art designs. 
         FIG. 5  is a block diagram illustrating a system in accordance with various embodiments of the invention. 
         FIG. 6  is a block diagram illustrating data stored in a tag of the system of  FIG. 5 , for multiple inventory sessions, in some embodiments. 
         FIG. 7  is a block diagram illustrating data stored in a reader of the system of  FIG. 5 , in some embodiments. 
     
    
    
     DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS 
     Some embodiments of the invention relate to increasing the efficiency of multiple concurrent arbitration of an RFID tag population. Some embodiments of the invention relate to improving re-entry into an interrupted inventory session. 
     Some embodiments provide a method to enhance RFID tag arbitration which utilizes a random number generator (RNG), RNG register, RNG mask (Q value), and mask register, for each of a multiplicity of concurrent tag arbitration processes; thereby increasing the efficiency and effectiveness of each individual arbitration process and overall arbitration processes for inventorying multiple concurrent tag populations, while preventing the case of infinite loop non-convergence of the processes. 
       FIG. 5  shows a system  50  in accordance with some embodiments of the invention. The system  50  includes one or more tags and one or more readers. More particularly, in the embodiment shown in  FIG. 5 , the system  50  includes readers  52 ,  53 ,  54 ,  55 , and  56 , and tags  60 ,  61 ,  62 ,  63 ,  64 ,  65 ,  66 ,  67 ,  68 , and  69 . Additional or fewer or readers can be included. Additional or fewer tags could be included. Further, there is no necessary relationship between the number of tags and the number of readers. 
     In some embodiments, the system  50  includes a reader controller  82  controlling the readers  52 - 56 . The reader controller  82  permits control of the various readers as well as communication of data between the various readers. The reader controller  82  can further be used for reader multiplexing as described in applicant&#39;s commonly assigned patent application titled “RFID Communications Systems and Methods, And RFID Readers and Systems” by John Tuttle. In some embodiments, the reader controller  82  may be coupled to a network  84 . This could be useful for control from a remote location or via the Internet, for example. In some embodiments, the readers  52 - 56  may communicate with each other directly (or via an intermediate reader), instead of through a reader controller  82 , whether or not the reader controller  82  is included. For example, the readers may be connected by hard wire or wirelessly (e.g., by Wi-Fi or other wireless communication). In some embodiments, the reader other embodiments, the reader controller  82  is omitted. 
     Respective tags  60 - 69  include memory  70 , a processor  71 , and a transponder or transceiver  72  (e.g., including a backscatter modulator). In some embodiments, one or more of the tags include all of the hardware required by the Gen 2 specification. In other embodiments, one or more of the tags include some subset of the hardware required by the Gen 2 specification. 
     Respective readers  52 - 56  include memory  57 , a processor  58 , and a transponder or transceiver  59  for communications with tags  60 - 69 . The readers may also include a Wi-Fi or other wireless transceiver  51  for wireless communications with other readers, in addition to the transponder  59 . 
       FIG. 6  shows data stored in respective tags  60 - 69 , in some embodiments. One tag  60  is illustrated in  FIG. 6 , for simplicity. The data can be stored in the memory  70 , for example (see  FIG. 5 ). 
     Some embodiments provide, in respective tags  60 - 69 , separate memory locations for random number or handle values  86 ,  88 ,  90 ,  92 , and  94  for each arbitration or singulation process  96 ,  98 ,  100 ,  102 , and  104 . These correspond, for example, to the RN16s of Gen 2, though they may have more or less than 16 bits. The random numbers or handles may be stored in any appropriate register or memory location on the tags. The random number or handle values may change and are affected by commands from a reader, as specified in the Gen 2 specifications for example. However, the last used (most recent) random number or handle values for each inventory session is stored in each tag. 
     Some embodiments provide, in respective tags  60 - 69 , separate memory locations for Q values or arbitration mask values  106 ,  108 ,  110 ,  112 , and  114  for each arbitration or singulation process  96 ,  98 ,  100 ,  102 , and  104 . The Q value indicates the width, in number of bits, of the slot counter, in some embodiments. The Q value or mask may be stored in any appropriate register or memory location on the tags. The Q values may change and are affected by commands from a reader, as specified in the Gen 2 specifications for example. However the last used (most recent) Q value or arbitration mask for each inventory session  96 ,  98 ,  100 ,  102 , and  104  is stored in each tag. 
     Some embodiments provide, in respective tags  60 - 69 , separate slot counters  16 ,  118 ,  120 ,  122 , and  124  for respective arbitrations. Respective tags are configured to reply to a reader if the value in a slot counter associated with a current or active arbitration is zero. The slot values are selected at random and are decremented in response to QueryAdjust or QueryRep commands, as set forth in the Gen 2 specification. 
     In some embodiments, respective tags  60 - 69  also store information, in memory locations  126 ,  128 ,  130 ,  132 , and  134 , identifying the session or reader associated with the stored last slot counter, last Q value, and last random number value or handle for a session. 
     The inventory sessions  96 ,  98 ,  100 ,  102 , and  104  would typically represent different readers  52 - 56 . However, it is possible for a second reader to complete an interrupted inventory session of a first reader if data from a first inventory session is passed on to the second reader either directly from the first reader or from the reader controller  82 . 
       FIG. 7  shows data stored in respective readers  52 - 56 , in some embodiments. One reader  52  is illustrated in  FIG. 7 , for simplicity. The data can be stored in the memory  57 , for example (see  FIG. 5 ). The data shown in  FIG. 7  and described below can alternatively or additionally be stored in the reader controller  82 . Further, the data for one reader&#39;s arbitration can also be passed to and stored in another reader. 
     In the embodiment shown in  FIG. 7 , the respective readers  52 - 56  store information, in memory locations  140 ,  142 ,  144 ,  146 ,  148 , and  150 , for handles for previously singulated tags, the handle being a nickname for a tag and being different from the tag&#39;s electronic product code. The handle corresponds, for example, to the RN16 of the Gen 2 specification, though more or less than 16 bits are possible. If an arbitration is interrupted, the reader is able to resume the arbitration without a need to cause singulated tags to generate new handles, even if another reader performs another arbitration session and causes tags to generate handles. This is because handles for previous arbitrations are stored and not lost due to a new arbitration process. 
     In some embodiments, the readers  52 - 56  also store information, in memory locations  152 ,  154 ,  156 ,  158 ,  160 , and  162  for last used Q values or arbitration masks for respective arbitrations. In some embodiments, no Q value is used or stored in the reader or tags. For example, a Q value of all 1 bits could be assumed, resulting in no masking taking place. 
     Some embodiments provide, in respective readers  52 - 56 , memory locations  164 ,  166 ,  168 ,  170 ,  172 , and  174  for slot counter values for previously singulated tags. The slot counter values are used to affect the order in which tags attempt to communicate with a reader in an arbitration. When slot counter values reach zero, a tag responds to a reader in an active arbitration, as described above. 
     Some embodiments provide, in respective readers  52 - 56 , memory locations  176 ,  178 ,  180 ,  182 ,  184 , and  186  for session number identifying an (e.g., interrupted) arbitration. Q values, handles, and slot counter values for tags that were singulated in an arbitration session are associated with the session number for that session. 
     This session number, Q value, handle, and slot counter data could be stored in arrays or matrices, in some embodiments. 
     In some embodiments, session number information, and last Q and last RN16 (Handle) information read from a tag for a given session is stored in a reader (or in the reader controller), and the reader is configured to selectively issue a command to resume a session. The command may be, for example, RESUME SESSION X, where X is a session number. The command passes session number, last Q and last Handle parameters from the reader to the tag from which those parameters were last read by the reader. The reader may then resume the inventory session that got interrupted. 
     In some embodiments, as is the case with the Gen 2 standard, the tags and readers have inventory rounds of 2e slots. At the beginning of each round every selected tag sets one of their slot counters, associated with an inventorying, to a random number from 0 to 2e-l. 
     As is the case with the Gen 2 standard, a user is able to include in an inventory round only tags that meet certain selection criteria. Appropriate combinations of Select commands can be used to implement Boolean criteria within a tag population. This is why the term “selected” is used in the previous paragraph. 
     In operation, the reader sends a command that starts a slot. Any tag whose slot counter, for the present inventorying, is 0 sends a reply; all other tags decrease their slot counter by 1. This process is repeated in response to QueryRep commands. Q is the number of bits, or width of the slot counters. 
     In some embodiments, Q is, for example, an integer between 0 and 15, and the number of slots is between 2° and 215. In other embodiments, Q values indicating a wider width of the slot counters can be used. 
     As is the case in the Gen 2 specification, the tags support multiple sessions. Readers can use different sessions to independently inventory a common tag population. Tags associate a separate and independent “inventoried” flag to each of several readers. After singulating a tag, a reader may issue a command that causes the tag to invert its inventoried flag for that session. Unlike in the Gen 2 specification, tags may be inventoried by more than four readers or more than four sessions. A reader controller  82  may pass inventory session data from a first reader to a second reader, enabling a second reader to resume any session begun by a first reader. Such second reader may be multiplexed to a first reader&#39;s antenna(s) under control of reader controller  82 . 
     While the above discussion has been in terms of an improvement to the Gen 2 system and process, it will be readily apparent that the same concepts can be used to improve the Snodgrass and Wood, Jr. processes. For example, the Gen 2 handle or RN16 is substantially similar to the Random Number of the Snodgrass and Wood, Jr. patents. The Gen 2 Q parameter is substantially similar to the width of the Arbitration Mask of the Snodgrass and Wood, Jr. patents. Thus, in some embodiments, the system and process of any of the Snodgrass and Wood, Jr. patents is modified by adding storing a plurality of separate Arbitration Mask and Random Number values for multiple simultaneous arbitrations. 
     Thus, a system and method has been provided to increase the efficiency and effectiveness of each individual arbitration process and overall arbitration processes for inventorying multiple concurrent tag populations, while preventing the case of infinite loop non-convergence of the processes. 
     In compliance with the statute, the subject matter disclosed herein has been described in language more or less specific as to structural and methodical features. It is to be understood, however, that the claims are not limited to the specific features shown and described, since the means herein disclosed comprise example embodiments. The claims are thus to be afforded full scope as literally worded, and to be appropriately interpreted in accordance with the doctrine of equivalents. 
     Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the appended claims.