Abstract:
There is provided with a wireless tag reader communicating with a plurality of wireless tags each of which retains tag information piece and a bloom filter, the wireless tag reader comprising: a transmitter configured to transmit a read request signal simultaneously to the wireless tags to request the wireless tags to read out the bloom filters; a receiver configured to receive bloom filter signals simultaneously from the wireless tags to acquire a colliding bloom filter signal; a decoder configured to decode the colliding bloom filter signal to acquire a composite bloom filter which is equivalent to logic operation OR on the bloom filters; a data storage configured to store tag information pieces; and a filter verifier configured to verify each of tag information pieces in the data storage with the composite bloom filter to detect tag information pieces for which a verification result is positive or negative.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims the benefit of priority under 35USC §119 to Japanese Patent Application No. 2005-81605 filed on Mar. 22, 2005, the entire contents of which are incorporated herein by reference.  
       BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates to a wireless tag reader, a wireless tag system, a computer readable medium and a wireless communication method.  
         [0004]     2. Related Art  
         [0005]     In recent years, introduction of wireless tag systems has increased to efficiently manage commodities. In the wireless tag system, RF-ID tags respectively embedded in commodities and a reader/writer which reads out data from the RF-ID tags are used. If responses are sent simultaneously from a plurality of RF-ID tags when the reader/writer reads out data, collision between data occurs.  
         [0006]     As conventional anti-collision technique, the ALOHA system and binary search are prominent.  
         [0007]     The ALOHA system will now be described. If the reader/writer detects collision in response signals to a query sent to RF-ID tags, the reader/writer sends queries with conditions narrowed down in order from the most significant bit (MSB) of tag IDs in RF-ID tags. This is repeated until the condition that only one of RF-ID tags causing collision reacts is satisfied. This ALOHA system has a feature that a logic circuit to be mounted on the RF-ID tag is simple. In this system, however, a procedure of narrowing down using a plurality of steps is conducted until simultaneously reacting RF-ID tags are narrowed down to one tag. This results in a drawback that it takes much time in reading if the number of steps increases.  
         [0008]     On the other hand, the binary search can be applied to an encoding scheme in which when RF-ID tags having different tag IDs simultaneously response, only a difference portion (a portion having different bit values) in the tag ID can be detected by the reader/writer as a collision signal and a common portion (a portion having the same bit value) can be read out as it is. For example, in the case of Manchester coding, collision can be detected when 0 and 1 are transmitted simultaneously. Also in the case where the binary search is used, there is a drawback that it takes much time in reading if the number of steps increases.  
         [0009]     Besides, there is Japanese Patent Application Laid-Open Publication (JP-A) No. 2004-62665 as a document showing the conventional anti-collision technique.  
         [0010]     An anti-collision mechanism described in JP-A-2004-62665 implements an anti-collision function using a simple algorithm of shifting a response slot start position of an RF-ID tag when collision has occurred, on the basis of the conventional algorithm (JIS-X6323-3, ISO/IEC15693-3). If simply the slot is shifted, there is a possibility that collision occurs again. However, in the JP-A-2004-62665, it is described that if there is a sufficient ID space (56 bits or more in the description of JP-A-2004-62665) the possibility of recurrence of collision is low and a tag ID can be acquired after several attempts.  
         [0011]     Even if this technique described in JP-A-2004-62665 is used, however, only one tag ID can be acquired after several attempts. Therefore, there is a problem that a lot of time is needed to acquire tag IDs from all RF-ID tags in a detectable area by the reader/writer, i.e., to detect all RF-ID tags existing in the detectable area.  
       SUMMARY OF THE INVENTION  
       [0012]     According to an aspect of the present invention, there is provided with a wireless tag reader communicating with a plurality of wireless tags each of which retains tag information piece and a bloom filter generated from the tag information piece on the basis of a bloom filter algorithm, the wireless tag reader comprising: a transmitter configured to transmit a read request signal simultaneously to the wireless tags to request the wireless tags to read out the bloom filters; a receiver configured to receive bloom filter signals simultaneously from the wireless tags to acquire a colliding bloom filter signal; a decoder configured to decode the colliding bloom filter signal to acquire a composite bloom filter which is equivalent to logic operation OR on the bloom filters; a data storage configured to store tag information pieces; and a filter verifier configured to verify each of tag information pieces in the data storage with the composite bloom filter to detect tag information pieces for which a verification result is positive or negative.  
         [0013]     According to an aspect of the present invention, there is provided with a wireless tag system comprising a plurality of wireless tags and a wireless tag reader communicating with the wireless tags, each of the wireless tags including: a memory configured to store tag information piece and a bloom filter generated from the tag information piece by using a bloom filter algorithm; and a responder configured to, in response to a read request signal sent from the wireless tag reader, code the bloom filter stored in the memory by using a certain coding scheme to generate a bloom filter signal, and transmits the generated bloom filter signal to the wireless tag reader, and the wireless tag reader including: a transmitter configured to transmit a read request signal simultaneously to the wireless tags to request the wireless tags to read out the bloom filters; a receiver configured to receive bloom filter signals simultaneously from the wireless tags to acquire a colliding bloom filter signal; a decoder configured to decode the colliding bloom filter signal to acquire a composite bloom filter which is equivalent to logic operation OR on the bloom filters; a data storage configured to store tag information pieces; and a filter verifier configured to verify each of tag information pieces in the data storage with the composite bloom filter to detect tag information pieces for which a verification result is positive or negative.  
         [0014]     According to an aspect of the present invention, there is provided with a computer readable medium storing a computer program for causing a computer, capable of communicating with a plurality of wireless tags each of which retains tag information piece and a bloom filter generated from the tag information piece on the basis of a bloom filter algorithm to execute instructions, to perform steps of: transmitting a read request signal simultaneously to the wireless tags to request the wireless tags to read out the bloom filters; receiving bloom filter signals simultaneously from the wireless tags to acquire a colliding bloom filter signal; decoding the colliding bloom filter signal to acquire a composite bloom filter which is equivalent to logic operation OR on the bloom filters; and verifying previously given tag information pieces with the composite bloom filter to detect tag information pieces for which a verification result is positive or negative.  
         [0015]     According to an aspect of the present invention, there is provided with a wireless communication method used to communicate with a plurality of wireless tags each of which retains tag information piece and a bloom filter generated from the tag information piece on the basis of a bloom filter algorithm, the wireless communication method comprising: transmitting a read request signal simultaneously to the wireless tags; receiving bloom filter signals simultaneously from the wireless tags to acquire a colliding bloom filter signal; decoding the colliding bloom filter signal to acquire a composite bloom filter which is equivalent to logic operation OR on the bloom filters; and verifying previously given tag information pieces with the composite bloom filter to detect tag information pieces for which a verification result is positive or negative. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]      FIG. 1  is a schematic block diagram showing a configuration of a wireless tag system according to an embodiment of the present invention;  
         [0017]      FIG. 2A  shows an example of contents of transmission data;  
         [0018]      FIG. 2B  shows an example of a coded signal obtained by applying NRZ coding to data shown in  FIG. 2A ;  
         [0019]     FIGS.  3  are diagrams showing collision caused when responses are sent simultaneously from a plurality of RF-ID tags; and  
         [0020]      FIG. 4  is a flow chart showing an embodiment of a wireless communication method according to the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0021]      FIG. 1  is a schematic block diagram showing a configuration of a wireless tag system according to an embodiment of the present invention.  
         [0022]     This wireless tag system includes a plurality of RF-ID tags  11 , a reader/writer  31  which communicates with an RF-ID tag  11  existing in a detectable area  21 , and an application apparatus  41  which orders the reader/writer  31  to detect RF-ID tags existing in the detectable area  21 .  
         [0023]     Each of the RF-ID tags  11  includes a memory  12 , and a tag circuit  13  which reads out data from the memory  12  in response to a read request issued by the reader/writer  31  and returns the data thus read out to the reader/writer  31 .  
         [0024]     A tag ID (an example of tag information) uniquely assigned to the RF-ID tag  11 , a bloom filter (described later) generated from the tag ID, and a CRC or a parity generated from a bit string in the bloom filter are stored in the memory  12 . Besides, commodity information (such as sizes of accessories) of a commodity to which the RF-ID tag  11  is attached may be stored in the memory  12 .  
         [0025]     Upon receiving a read request from the reader/writer  31 , the tag circuit  13  in the RF-ID tag  11  reads out the bloom filter and the CRC, the parity or the ID tag stored in the memory  12 , conducts coding and modulation on them, and transmits a result to the reader/writer  31 . The tag circuit  13  may transmit only the bloom filter. As the modulation technique at the time of the transmission, for example, the ASK, FSK or the like can be used.  
         [0026]      FIG. 2A  shows an example of data contents transmitted from the RF-ID tag  11  to the reader/writer  31 .  FIG. 2B  shows a coded signal generated by applying NRZ coding to the data shown in  FIG. 2A . The coded signal is further modulated, and transmitted to the reader/writer  31 .  
         [0027]     The coding scheme is required to become an OR operation bit by bit when transmission signal of plural bits is collided with another transmission signal of plural bits. The NRZ coding scheme can be provided with this property. Incidentally, in  FIG. 2A and 2B , a transmission direction of the data may be from either of the bloom filter side and the CRC (or tag ID) side.  
         [0028]     The bloom filter will now be described briefly. As for details of the bloom filter, see Broder et al., Network Applications of Bloom Filters: A Survey.  
         [0029]     The bloom filter is a filter for stochastically inspecting by applying the hash function whether certain arbitrary data “d” is contained in a data aggregate “X”.  
         [0030]     It is possible to “verify” whether certain data d is contained in the data aggregate X, by conducting a predetermined procedure on a bloom filter BF-X generated from the data aggregate X. As a result of the procedure, results of two ways, i.e., “positive” and “negative” are obtained.  
         [0031]     If the “negative” result is obtained, there is no possibility that the data d is contained in the data aggregate X. On the other hand, if the “positive” result is obtained, the possibility that the data d is contained in the data aggregate X is high. In other words, even if the “positive” result is obtained, the data d is not necessarily contained in the data aggregate X. If a “positive” result is obtained although the data d is not contained in the data aggregate X, it is called “false positive.”  
         [0032]     Hereafter, a method for generating a bloom filter having such a property will be described.  
         [0033]     The following parameters are used to generate a bloom filter. 
    m: length of filter     k: the number of times of repetition (the number of prepared hash functions) 
        (1) Generation procedure of bloom filter     1. Prepare a bit string F having a length m, and set all bits to 0.     2. Prepare independent hash functions hn( ) (where n=1, . . ., k) having a value range [1, m]. By providing the same hash algorithm with different constants (salt), k independent hash functions hn( ) may be prepared.     3. Conduct the following processing on elements xi in an input data aggregate X.     (a) Set p=1.     (b) If p&gt;k, finish.     (c) Calculate idx=hp(xi) using the hash function hp( ) prepared in 2.     (d) Set an idx-th bit in the bit string F to 1 (if 1 is already set, keep the bit value at 1).     (e) Add 1 to p.     (f) Return to (b) in the procedure 3.    
       
 
         [0046]     In short, find k hash values idx from k hash functions, for each of elements xi in the input data aggregate X, and generate a bloom filter by setting the idx-th bit in the bit string F to 1.  
         [0047]     Subsequently, verification (filter verification) whether the data d is contained in the input data aggregate X is conducted according to the following procedure. 
        (2) Procedure of filter verification     1. Set p=1.      2 . If p&gt;k, return “positive.”     3. Calculate idx=hp(d) for data d to be verified.     4. Check the idx-th bit in the bit string F. If the idx-th bit is 0, return “negative.”     5. Add 1 to p.     6. Return to the procedure  2 .        
 
         [0055]     In short, data d is input to k hash functions. If bits in all bit positions corresponding to the outputs idx of respective hash functions are 1, “positive” is returned. If at least any of bits in bit positions corresponding to the outputs idx of respective hash functions is 0, “negative” is returned.  
         [0056]     The “false positive” occurs, i.e., “positive” is returned in the “procedure  2 .” although the data d is not contained in the data aggregate X, when all bits in bit positions corresponding to the outputs idx of respective hash functions happen to be 1. For example, it is now supposed that there is a bloom filter BF-Y generated from a data aggregate Y formed of data A and data B. Positions of 1 in this bloom filter BF-Y, i.e., positions obtained by performing an OR-ing function on positions of 1 based on data A and positions of 1 based on data B include positions of 1 based on data d in some cases. If verification of data d is conducted using the bloom filter BF-Y in such a case, the false positive occurs.  
         [0057]     A false positive occurrence probability Rfp is represented as Rfp=s k  . . . (equation 1), where s is a saturation which represents a ratio of bits of 1 to all bits in the bloom filter. For example, if k=10 and s=0.5, then Rfp=0.510.  
         [0058]     As described above, a bloom filter generated from a tag ID of an RF-ID tag  11  is stored in the memory  12  in the RF-ID tag  11 . In other words, this bloom filter has been generated from one data (tag ID). By the way, in generation of the bloom filter from the tag ID, it is desirable to set the number k of prepared hash functions equal to a value smaller than a filter length m. In this case, almost all bits in the generated bloom filter become 0.  
         [0059]     Upon receiving an RF-ID tag detection order from the application apparatus  41  shown in  FIG. 1 , a controller  32  in the reader/writer  31  orders a communication unit  33 , which communicates with RF-ID tags  11 , to read out data from RF-ID tags  11  in the detectable area  21 .  
         [0060]     The communication unit  33  transmits a read request signal to the detectable area  21 . The communication unit  33  receives a data signal returned from a signal RF-ID tag  11  which has received the read request signal or data signals returned from a plurality of RF-ID tags  11  which have received the read request signal. The communication unit  33  demodulates and decodes the received data signal. If data signals are returned from a plurality of RF-ID tags  11 , i.e., if the communication unit  33  receives data signals simultaneously from a plurality of RF-ID tags  11 , collision occurs.  
         [0061]      FIGS. 3A  to  3 D are diagrams showing collision caused when responses are sent simultaneously from two RF-ID tags (first and second RF-ID tags)  11 .  
         [0062]      FIG. 3A  shows contents of transmission data of each RF-ID tag.  FIG. 3B  shows a coded signal generated by conducting NRZ coding on transmission data of the first RF-ID tag.  FIG. 3C  shows a coded signal generated by conducting NRZ coding on transmission data of the second RF-ID tag.  FIG. 3D  shows a coded signal (observation signal) obtained by demodulation a collision signal received in the communication unit  33 .  
         [0063]     As appreciated from  FIG. 3D , the coded signal obtained in the communication unit  33  becomes an OR-compounded value of the NRZ coded signal transmitted from the first RF-ID tag and the NRZ coded signal transmitted from the second RF-ID tag.  
         [0064]     In the ensuing description, it is supposed that the communication unit  33  receives data from a single RF-ID tag  11  or receives data simultaneously from a plurality of RF-ID tags  11 . And it is supposed that the received data is formed of a bloom filter and a CRC,  
         [0065]     The communication unit  33  inspects whether the CRC (received CRC) in received data (data sent from a single RF-ID tag  11 , or composite data obtained by performing an OR-compounding function on data sent from a plurality of RF-ID tags  11 ) matches a bloom filter (received filter) in the received data.  
         [0066]     If matching is found, the communication unit  33  judges that data has been received from a single RF-ID tag  11  (collision has not occurred). If matching is not found, the communication unit judges that data have been received from a plurality of RF-ID tags  11  (i.e., that collision has occurred). If the communication unit  33  judges that data have been received from a plurality of RF-ID tags  11 , the received CRC becomes an OR compounded value (composite CRC) of CRCs sent from the RF-ID tags  11  and the received filter becomes an OR compounded value (composite filter) of bloom filters from respective RF-ID tags  11 . The communication unit  33  gives a notice as to whether collision has occurred to the controller  32 , and gives a notice as to whether collision has occurred and the received filter to a filter verifier  34 .  
         [0067]     A data storage  35  in the reader/writer  31  stores a plurality of already known tag IDs therein. Bloom filters generated respectively from the tag IDs are stored in the data storage  35  so as to be respectively associated with the tag IDs. By the way, when producing RF-ID tags, it is desirable to manage so as to exclude RF-ID tags having tag IDs from which absolutely the same filter is generated.  
         [0068]     Upon receiving a notice that collision is occurring from the communication unit  33 , the filter verifier  34  verifies tag IDs in the data storage  35  with the received filter (composite filter) in accordance with the above-described filter verification procedure. The filter verifier  34  detects all tag IDs that are positive as a result of the verification, and delivers the detected tag IDs to the controller  32 .  
         [0069]     At the time of the filter verification, the filter verifier  34  stores bit positions referred to in the composite filter. After the filter verification, the filter verifier  34  inspects whether a bit position that has not been referred to in the composite filter is present. If such a bit position is present, the filter verifier  34  inspects whether the bit position has 1 set therein. If the bit position has 1 set therein, the filter verifier  34  may judge that an RF-ID tag  11  having an unknown tag ID is present in the detectable area  21 . If hash collision occurs, however, there is a possibility that the presence of a RF-ID tag  11  having an unknown tag ID will be hidden, even if it is present. In other words, if an OR composite value of a plurality of bloom filters from a plurality of already known tag IDs includes a bloom filter from a certain unknown tag ID, presence of an RF-ID tag having an unknown tag ID is hidden even if it is present. Upon judging that an RF-ID tag  11  having an unknown tag ID is present, the filter verifier  34  may send a notice to that effect to the controller  32 .  
         [0070]     On the other hand, upon receiving the notice that collision has not occurred from the communication unit  33 , the filter verifier  34  detects a tag ID having the same filter as the received filter from the data storage  35 , and delivers the detected tag ID to the controller  32 . By the way, in the same way as the foregoing description, the filter verifier  34  may verify tag IDs in the data storage  35  with the received filter, detect a tag ID that is positive in the result of verification, and deliver the detected tag to the controller  32 .  
         [0071]     The controller  32  delivers the tag ID received from the filter verifier  34  and whether collision has occurred received from the communication unit  33 , to the application apparatus  41 . Upon receiving the notice that an RF-ID tag  11  having an unknown tag ID is present from the filter verifier  34 , the controller  32  may deliver a notice to that effect to the application apparatus  41 .  
         [0072]     Heretofore, an example in which data read out from the RF-ID tag  11  is formed of a bloom filter and a CRC has been described. The case where data read out from the RF-ID tag  11  is a bloom filter and a tag ID will be described hereafter.  
         [0073]     The communication unit  33  delivers a received filter and a received tag ID in data from a single RF-ID tag  11  or composite data obtained by performing an OR-compounding function on data from a plurality of RF-ID tags  11 , to the filter verifier  34 .  
         [0074]     The filter verifier  34  inspects whether the same tag ID as the received tag ID is present in the data storage  35 . If the same tag ID as the received tag ID is not present, the filter verifier judges that collision has occurred. In this case, the filter verifier  34  verifies tag IDs in the data storage  35  for the received filter. The filter verifier  34  delivers all tag IDs found to be positive as a result of the verification and a notice that collision has occurred, to the controller  32 .  
         [0075]     On the other hand, if the same tag ID as the received tag ID is present in the data storage  35 , the filter verifier judges that collision has not occurred. In this case, the filter verifier  34  delivers this tag ID and a notice that collision has not occurred, to the controller  32 . As a result, it is not necessary to conduct filter verification, and consequently the processing can be made faster.  
         [0076]     The controller  32  returns the tag ID(s) received from the filter verifier  34  and whether collision has occurred, to the application apparatus  41 .  
         [0077]     In the filter verification in the filter verifier  34 , a false positive might occur as described above. As described above (the equation 1), the false positive occurrence probability Rfp can be calculated as Rfp=S k  using the saturation (the occupancy ratio of 1) s in the received filter (for example, the composite filter) and the number k of hash functions used when generating the bloom filter.  
         [0078]     In the present embodiment, therefore, it is judged whether the quality of the received filter satisfies the requirement of the application, by using the false positive occurrence probability Rfp. Specifically, the application apparatus  41  supplies an acceptable number of false positives ANFP (threshold) to the reader/writer  31 . It is judged whether the quality of the received filter satisfies the requirement of the application on the basis of the acceptable number of false positives ANFP, the number (N) of already known tag IDs in the data storage  35 , and the false positive occurrence probability Rfp. Hereafter, this will be described in more detail.  
         [0079]     The controller  32  receives the acceptable number of false positives ANFP from the application apparatus  41 .  
         [0080]     Furthermore, the controller  32  receives a received filter from the filter verifier  34 , and calculates the false positive occurrence probability Rfp according to the (equation 1). A value of k is retained previously in, for example, the filter verifier  34 .  
         [0081]     The controller  32  previously retains the number N of tag IDs stored in the data storage  35 , or receives the number N of tag IDs from the filter verifier  34 .  
         [0082]     The controller  32  obtains an expected value E (=Rfp×N) of false positive occurrence by multiplying the calculated false positive occurrence probability Rfp by the number N of the already known tag IDs. The controller  32  compares the calculated expected value E with the acceptable number of false positives ANFR If the calculated expected value E exceeds the acceptable number of false positives ANFP, the number of RF-ID tags responding simultaneously is restricted using the existing collision avoiding technique or a technique similar to this. For example, the reader/writer  31  transmits a read request signal to request only an RF-ID tag having 0 in a specific bit (for example, the most significant bit) in tag ID to respond, in order to lower the saturation s of the received filter. As a result, the number of responding RF-ID tags can be made nearly half of the RF-ID tags existing in the detectable area. Therefore, a received filter having a high quality can be obtained. If the quality of the received filter is extremely poor, the number of responding RF-ID tags may be further narrowed down by providing a plurality of bits with conditions.  
         [0083]     As the number of bits provided with conditions increases, a greater number of times of readout becomes necessary. For example, if a single bit is provided with a condition, readout must be conducted twice. If the number of bits provided with conditions is two, the number of times of readout becomes four. If the number of bits provided with conditions is three, the number of times of readout becomes eight. In other words, if the number of bits provided with conditions is too large, there is a possibility that the high speed in RF-ID tag detection which is an advantage of the present embodiment will be hampered. The length of the bloom filter retained by each RF-ID tag is made sufficiently long, and thereby, even if simultaneous readout is conducted from a sufficiently large number of RF-ID tags, it is desirable to make the saturation of the received filter sufficiently low.  
         [0084]     In the present embodiment heretofore described, a bloom filter generated from a tag ID and a CRC (or a tag ID or parity) are read out from an RF-ID tag. Alternatively, a bloom filter generated from commodity information may be stored in the RF-ID tag and the bloom filter and the commodity information (or the CRC or parity) may be read out from the RF-ID tag. In this case, it is necessary to provide a storage storing commodity information of respective RF-ID tags in the reader/writer. This will be described in detail in an embodiment (second example) described later.  
         [0085]      FIG. 4  is a flow chart showing an embodiment of a wireless communication method according to the present invention.  
         [0086]     The reader/writer  31  transmits the read request signal to respective RF-ID tags  11  (S 1 ). Each RF-ID tag  11  retains tag information (such as a tag ID or commodity information), and a bloom filter generated from the tag information according to a bloom filter algorithm.  
         [0087]     The reader/writer  31  receives bloom filter signals simultaneously from RF-ID tags  11 , and acquires colliding bloom filter signal (S 2 ).  
         [0088]     The reader/writer  31  decodes the colliding bloom filter signal to acquire a composite bloom filter which is equivalent to the logic operation OR on the bloom filters (S 3 ).  
         [0089]     The reader/writer  31  verifies tag information in the data storage  35  with the composite bloom filter (S 4 ).  
         [0090]     The functions of reader/writer  31  in the steps of S 1  to S 4  may be implemented by cause a computer to execute instructions to perform the steps of S 1  to S 4 . And, a computer program including the instructions may be stored in a computer readable medium.  
         [0091]     Hereafter, two representative embodiments of the present invention will be described. (First example: example of article inspection using readout of pallet ID) In the process of commodity circulation, the article inspection is one of important works requiring much labor. On the other hand, a demand for cost reduction and speed increase at stages of commodity circulation is very strong. A method of conducting the inspection using RF-ID tags will now be described. For example, when conducting inspection of parts, RF-ID tags are stored in pallets in which parts are stored.  
         [0092]     If parts and pallets are sufficiently large, the number of tags the reader/writer can read simultaneously is small. Even if readout is conducted individually, therefore, it does not take much time.  
         [0093]     On the other hand, if the pallet size is small and the number of RF-ID tags that can be read simultaneously is relatively large (for example, approximately 100) as in the case of electronic parts, it takes much time for readout in the conventional anti-collision procedure.  
         [0094]     In the case of inspection of pallets, the reader/writer previously knows which RF-ID tags should be present in the current detectable area. If RF-ID tags storing bloom filters are stuck on pallets and the present invention is applied, it is possible to verify owing to the anti-collision effect of the present invention whether all RF-ID tags that should be present in the detectable area of the reader/writer are complete, by conducting read operation a small number of times (for example, once).  
         [0095]     Supposing each tag ID to have 64 bits, a length m of a bloom filter generated from the tag ID to be 2,048 bits, the number k of hash functions to be 10, and the number n of RF-ID tags simultaneously read out to be 100, the occupation ratio of bit  0  in the composite filter becomes as follows:  
           (       m   -   k     m     )     n     =         (       2048   -   10     2048     )     100     ≅     61   ⁢   %           
 
         [0096]     On the basis of this result and (the equation 1), the false positive occurrence probability Rfp is calculated as follows:  
       Rfp   =       s   k     =         [     1.0   -       (     2038   2048     )     100       ]     10     ≅     7.5   ×     10     -   5                 
 
         [0097]     If the false positive occurrence probability does not satisfy the desired precision, it can be coped with by conducting contrivance on the whole system such as providing bits with conditions and thereby dividing the readout at least twice or reducing the number of bits read out at a time, as described with reference to the embodiment of the present invention.  
         [0000]     (Second example: example of shoe store)  
         [0098]     A retail store of shoes is supposed. In the shoe store, it is necessary to prepare various kinds of shoes having various sizes in a warehouse of the store. For example, it is supposed that 1,000 pairs of shoes are stored in the warehouse of the store and order of goods and selling are repeated.  
         [0099]     Upon inquiring a customer about the size, a clerk inputs information concerning the model and size of shoes to an electronic tag reader (reader/writer) combined with a PDA (application apparatus). At this time, the model and size of shoes may be read from an RF-ID tag attached to shoes exhibited on a store front. Thereafter, the clerk having an electronic tag reader moves to the store warehouse.  
         [0100]     An RF-ID tag is stuck on each of shoe boxes in the store warehouse. (ID, model, and size) are recorded on the RF-ID tag. A bloom filter generated from (model and size) in the combination is recorded on the RF-ID tag.  
         [0101]     In response to a read request from the electronic tag reader, each RF-ID tag returns a combination of a retained bloom filter and (model and size) that has functioned as the generation source of the bloom filter.  
         [0102]     In the store warehouse, the electronic tag reader issues this read request once or a plurality of times, and verifies whether an RF-ID tag having a target (model and size) is present in the readout range (detectable range) of the electronic tag reader. If an RF-ID tag having a target (model and size) is present, the electronic tag reader notifies the clerk to that effect. At this time, it is also possible to gradually lower the output level of the electronic tag reader, narrow the readout range, and thereby further narrow down the presence place of an RF-ID tag having a target (model and size). By the way, the RF-ID tag attached to the shoe box can become a target of readout at a POS register as well at the time of payment.  
         [0103]     According to the embodiment of the present invention, a composite bloom filter obtained by performing OR-ing compounding on bloom filters retained on RF-ID tags is acquired from simultaneous response signals of a plurality of RF-ID tags, and previously retained tag information (such as the tag ID and commodity information) is verified with respect to this composite bloom filter, as heretofore described. Therefore, RF-ID tags existing in the detectable area can be detected in a short time.  
         [0104]     Furthermore, according to the present embodiment, an error detection code, such as a CRC, or a tag ID is added to a bloom filter, and a combination of the bloom filter and the error detection code is transmitted to the reader/writer. Therefore, the reader/writer can simply detect whether collision has occurred.  
         [0105]     Furthermore, according to the present embodiment, the false positive occurrence probability is calculated. If the calculated false positive occurrence probability does not satisfy the acceptable number of false positives, bits are provided with conditions and readout is conducted. Therefore, data readout becomes possible while maintaining a desired detection precision.  
         [0106]     Furthermore, according to the present embodiment, it is inspected whether a bit  1  is present in bit positions that have not been referred to in the bloom filter at the time of filter verification. Therefore, it can be judged whether an RF-ID tag having tag information other than previously retained tag information is present in the detectable area.