algorithm , bit-arbitration algorithm , and tree walking algorithm  as ... products are delivered from a warehouse or consumer buys identical product more ...
An Efficient Stochastic Anti-collision Algorithm using Bit-Slot Mechanism Chang-Soon Kim*, Kyung-Lang Park*, Hie-Cheol Kim†, and Shin-Dug Kim* *Dept. of Computer Science, Yonsei University, Seoul, Korea †
Dept. of Computer & Communication, Daegu University, Daegu, Korea
Abstract RFID systems have emerged as an affordable solution for identifying physical objects. However several problems still remain unresolved, especially avoidance of collision (anti-collision algorithm) when identifying multiple tags simultaneously. This paper presents an efficient anti-collision algorithm based on stochastic method. The algorithm we propose uses bit-slot mechanism. Bit-slot mechanism means the way that regards one bit of each tag as one time slot. Compared to other stochastic algorithms such as I-Code protocol, the proposed algorithm does not need any timing circuit with tags while I-Code protocol needs one. Moreover, it decreases the number of message transmissions between tags and tag readers. Anti-collision algorithms based on tree structures show reasonable accuracy and cost, but the performance of them can be degraded because the number of message transmissions between tags and readers exponentially increases depending on the size of ID. The proposed algorithm resolves this problem. Accordingly, the performance of proposed algorithm is improved as the length of tag ID is increased. Keywords: RFID, Anti-collision, and Bit-Slot algorithm.
I. Introduction RFID is a common technology for the ubiquitous computing. Many researches about RFID technology is in the process of advancing. A RFID system basically consists of a reader and the number of tags. The reader communicates with tags via a Radio Frequency (RF) in the electromagnetic field. Anticollision algorithm is classified as tree-based algorithm and stochastic algorithm. Usually, treebased algorithm makes the tree based on tag ID and identifies tags by traversing the tree. Stochastic
algorithm uses the concept that each tag may generate different random number each other. This research focused on about algorithm of stochastic way and we developed bit-slot algorithm to resolve several problems that tree-based algorithm and stochastic algorithm have. As a result, we reduced a lot of message transmissions remarkably than tree-based algorithm and scalability of algorithm was improved. We allowed a reader to identify more than hundreds of tags by the grouping collided tags that is the variation of algorithm. Unlike tree-based algorithm, performance of algorithm will be improved according to the length of tag ID is increased. Section 2 depicts the work related with anticollision algorithm and Section 3 describes bit-slot algorithm. Section 4 describes the variation to identify more than hundreds tags. Section 5 presents a simulation result. Finally, Section 6 concludes the paper.
II. Related work Until now, several anti-collision algorithms are developed. There are tree algorithm , memoryless algorithm , bit-arbitration algorithm , and tree walking algorithm  as tree-based algorithm. These tree-based algorithms compose the tree structure based on the tag ID and identify the all tag by traversing the tree which has made by its own algorithm. Stochastic algorithm, while, is the way that use the time slot which was generated by each tag randomly. There is I-Code algorithm  as stochastic algorithm. These algorithms show reasonable accuracy, cost and performance. However, there are some problems. Tree-based algorithms have a defect that a reader must search to the lowest level of tree when identical products are delivered from a warehouse or consumer buys identical product more than two. Because almost all bit are same except some bit of serial
number. Therefore, the performance of these algorithms can be degraded in these cases. I-Code algorithm which is one of the efficient algorithms of stochastic method shows the reasonable performance to identify multiple tags. But, I-Code algorithm is unreal to use for low-cost RFID systems and low-cost RFID tags. Because timing circuit is needed with each tag for this algorithm.
III. Bit-Slot Algorithm In this section, we introduce the algorithm which we propose. In the I-Code algorithm, all tags select one of the time slot and send an own tag ID through the selected time slot. However, each tag must include a
timing circuit for this algorithm. To resolve this problem of I-Code algorithm, bit-slot algorithm regards one bit of tag ID as one time slot. Thus, according to the number of bit (length of ID) increases, the number of bit-slot is increased simultaneously. All tags are classified as U (Set of unidentified tags) and I (Set of identified tags). Tags in the U can send out message on the reader’s request because a quiet bit is not set. Quiet bit is the flag that is used to mark whether identified tag or not. This flag is set if a tag is identified by reader and the tag cannot be respond to request of the reader. While tags in the I cannot send out message. The followings describe the basic algorithm.
Figure 1. Tag ID and A specific random number (k: length of ID).
Basic Step (one cycle):
< i < k)
The reader recognizes that the tags come into the electromagnetic field. Then the reader sends out the request to tags to reply the random generated number.
After the process of verification, the reader identifies all tags in the case of ii) in order. For tag identification, the reader sends out the same a specific random number that a tag sent to the tag.
The tag that received the request generates a specific random number and stores it temporarily. A specific random number has the following features. First, its length is same with the length of tag. Second, the value of all bits is 0 except one bit. Figure 1 is the example of a specific random number. Each tag sends out this a specific random number to the reader as Figure 2 below.
The reader which is responded from tags verifies all bits of each response. Then, three possible cases can occur based on the response of tags. i) No tag response at i-th bit (0 < i < k) ii) Exactly one tag response at i-th bit (0 < i < k) iii) More than one tag response at i-th bit (0
Tags receive the random number from the reader and verify whether agree with its own storing random number temporarily. Then, the tag that agree with random number from the reader sends out its own ID to the reader and set the own quiet bit.
The reader achieves above 4 step for the tags that corresponds with 3-ii) iteratively. Then, these tags are classed as set I.
Through the procedure (step 1~5), tags belonged to set U decrease while tags belonged to set I increase, and the reader repeats this procedure until set U becomes empty. Then, all tags in the electromagnetic field will be identified.
Figure 2. Tags send out special random number as responses (k: length of ID)
Maximum messages that tag sent
300 250 200 150 100 50
10 0 15 0 20 0 25 0 30 0 35 0 40 0 45 0 50 0 55 0 60 0 65 0 70 0
Number of Tags
Figure 3. Maximum messages that tag sent according to number of tags.
IV. Variation The length of tag ID is limited. Especially EPC code  is defined by 96 bits for use of the standard for global use. Therefore the probability of collision increases (at each bit) according to the tags to be identified increase. If the number of tag collision is increases, then message overhead (number of message transmissions between tags and readers) increases, and accordingly identification time also increases. Therefore, when the number of tags passes over some
threshold, performance of this algorithm reduces exponentially as below Figure 3. As Figure 3, when the number of tags exceeds about 500, the maximum number of messages increases exponentially. In this case, Grouping collided tags can improve performance of the algorithm. Grouping collided tags is not the way that all unidentified tags participate to next cycle, but the way that a group which consists of tags generated same random number participates to next cycle in order. For example, in Figure 4, the reader applies the algorithm to Group1 prior to
Group2. Then, the reader applies the algorithm to
Group2 to resolve conflict.
Figure 4. Grouping collided tags that generate same random number.
V. Simulation Result In this simulation, we assume that the length of tag ID is 96 bits. Until now, EPC code is most attractive one as standard and EPC global  is defines the EPC code of 96 bits for global use. Identification time of all tags is one of the most important factors for anti-collision algorithm. Identification time of all tags consist of singulation time that selects one tag among multiple tags and verifying time that identifies tag ID of any selected one. But the verifying time is the same for any algorithm because this process achieved through the exchange of a pair of messages. Therefore, singulation time is a critical factor that can represent the performance of any algorithm. Identification time of a single tag is as following:
I T = ST + VT , where IT is the identification time of single tag and ST is the singulation time. VT means the verifying time of a single tag ID. ST = (REQT + TagRNDT) × AVGM , where REQT is the time duration that the reader sends a request to the tags and TagRNDT is the time duration that a tag sends a specific random number to the reader. AVGM means the size of the message that a tag sends to the reader on the
average. Thus, the identification time of any single tag is obtained as: IT = (REQT + TagRNDT) × AVGM+VT, The identification time of all tags is not IT×N. Because the reader does not send any request to every tag, but sends a request only one time in each cycle. Thus, the identification time of all tags (total identification time) is as following: TOTALT = (REQT + AVGM) + (TagRNDT × AVGM × N) + VT × N, TOTALT = (REQT + TagRNDT × N) × AVGM, where TOTALT is the total identification time of all tags and N means the number of tags. But REQT, TagRNDT, and VT depend on the frequency to be used and the power rather than algorithm itself. Therefore, AVGM and N are the most important factors that decide performance of any given algorithm. Figure 5 shows the average number of messages transmission and the maximum number of messages transmission. As shown in Figure 5, we can see that the number of message decreases remarkably than the tree-based algorithm. For example, in the case where the number of tags is 100, the maximum number of messages is less than 5.4 and the average number of messages is less than 3.1.
Number of msg.
35.0 30.0 25.0 20.0 15.0 10.0 5.0
Number of tags Figure 5. Number of messages transmitted by tag.
In addition, the scalability can be improved significantly caused by the low message overhead. Namely, the proposed algorithm can identify more tags than the tree-based algorithm for the specific time duration.
VI. Conclusion This research is to do resolve the problem that tree-based algorithm and stochastic algorithm have. As a result, we developed the algorithm that does not need any timing circuit which is the problem of stochastic algorithm and also we resolve unreal problem of tree-based algorithm. Also the problem that identification time increases when the length of ID increases, is solved. Rather identification time tends to decrease when the length of ID increases. Through the simulation result, bit-slot algorithm could confirm that the number of messages decreases remarkably than tree-based algorithm. Therefore, we can identify multiple tags more efficiently when using use bit-slot algorithm.
 Don R. Hush, Cliff Wood. “Analysis of Tree Algorithms for RFID Arbitration.” Proceeding of ISIT 98, page 107, 1998.  Ching Law, Kayi Lee, Kai-YYeung Siu. “Efficient Memoryless Protocol for Tag Identification.” In Proceedings of the International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications, pages 7584. ACM, August 2000.  Marcel Jacomet, Adrian Ehrsam, Urs Gehrig. “Contactless Identification Device With Anticollision Algorithm.” In Proceedings of the International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications, pages 7584. ACM, August 2000.  Ari Juels, Ronald L. Rivest, and Michael Szydlo. “The blocker Tag: Selective Blocking of RFID Tags for Consumer Privacy.” http://theory.lcs.mit.edu/˜ rivest/, May 2003. Submitted for publication.
 MIT Auto-ID Center. http://www.autoidlabs.org/.
 Harald Vogt. “Multiple Object Identification with Passive RFID Tags.” IEEE International Conference on Systems, Man and Cybernetics (SMC '02), October 2002.
 David Brock. EPC Specification 1.0
 EPC global. http://www.epcglobalinc.org/.