Anda di halaman 1dari 6

RFID Tag Anti-Collision Protocol: Query Tree with Reversed IDs

Jung-Sik Cho School of Computer Science & Engineering, Chung-Ang University, Seoul, Korea mfg@alg.cse.cau.ac.kr Jea-Dong Shin School of Computer Science & Engineering, Chung-Ang University, Seoul, Korea mulli2@alg.cse.cau.ac.kr

Sung Kwon Kim School of Computer Science & Engineering, Chung-Ang University, Seoul, Korea skkim@cau.ac.kr

Abstract
RFID system is a contactless automatic identication system using small and low-cost RFID tag. It allows to recognize the information of tag via radio frequency attaching RFID tag to an object such as a material object, human or animal. Since RFID system has an advantage to recognize massive information simultaneously, it will be able to replace the bar-code system. For this RFID system to be widely spread, the problem of multiple tag identication, which a reader identies a multiple number of tags in a very short time, has to be solved. So far, several anticollision algorithms are developed. We present an RFID tag anti-collision protocol, called the query tree protocol with reversed IDs (QTR protocol). This protocol works by reversing the IDs of the tags and then applying the query tree (QT) protocol. And we present the performances of the QTR protocol by simulation. QTR protocol outperforms QT protocol if the tag IDs are consecutive integers.

1. Introduction
RFID system is a contactless automatic identication system attracting many attentions recently. The RFID system consists of small low-cost RFID tag containing microchip and antenna, RFID reader and back-end server. RFID tag has unique identication information, and it can be attached to an object such as a material object, human or animal. RFID reader can acquire the identication information from RFID tag via radio frequency in short distance. The RFID reader sends the identication information

acquired from RFID tag to back-end server, and can recognize the information of an object attached the RFID tag. The back-end server manages the identication information that the RFID tag holds, and provides the information to the RFID reader[3]. The advantages of RFID system are, RFID tag is small and low-cost, massive RFID tags are recognizable simultaneously with radio frequency. Therefore, The RFID system is expected to replace the current bar-code system used in supply chain management[2][3]. A problem with this single-reader-multiple-tag RFID system is that a tag within the readers range might not be identied if two or more tags simultaneously answer (if a collision occurs). To tackle the problem a RFID system employs a tag anticollision protocol which identies the tags in a one-by-one manner. Tag anti-collision protocols are partitioned into two categories: ALOHA-based and tree-based protocol. In ALOHA-based protocols [6], the reader broadcasts a message with a frame size, then every tag receiving the message selects a random slot number. A tag returns its ID when the current counter becomes its slot number. The reader repeats its broadcast until no collision is detected. Tree-based protocols are deterministic in the sense that no randomness is involved. A tree based protocol works by implicitly traversing a binary tree. An interesting combination of two protocols is a hybrid protocol, which was shown to work faster than existing protocols [7].

1.1. Motivation
A tag ID usually has several elds. For example, EPC code assigned by EPCglobal [1] has four elds, header, company ID, product ID, and serial number. The

ISBN 978-89-5519-136-3

-225-

Feb. 17-20, 2008 ICACT 2008

header denes the length and structure of EPC encoding, which is usually xed for a certain application. If a company uses tags with EPC codes for inventory and supply chain management, the company will be assigned a unique company ID by EPCglobal. Every product type produced by the company will be assigned a unique product ID by the company, and the products with the same product ID will be given different serial numbers. Eventually, every item will have a unique ID so that the ID uniquely represents the item. The ID is stored into an RFID tag and the RFID tag is attached to the item at a factory where the item is produced. Scenario I (Random IDs): At a retailer with RFID check-out system, when a customer checks out many items through a counter, the RFID reader at the counter will automatically collect the tag IDs. These IDs are random in the sense that they are from many different product types from different companies. Scenario II (Consecutive IDs): At a publisher, after printing, tens or hundreds of books with the same title are usually packaged in a box for delivery and distribution. The books in a box will have a common prex in their IDs as they have the same company ID and product ID. Furthermore, their serial numbers are consecutive as the books in the box are usually printed almost at the same time and they are assigned serial numbers in order. These IDs in the box will form consecutive IDs. We shall present a tag anti-collision protocol which works well in both scenarios. The protocol works much faster in the second scenario than existing protocols. We will demonstrate this by simulation. Notations: Let b and c be two strings of bits. |b| denotes the length of b. bR denotes the reversed string of b, which reads b backwards. bc denotes the concatenation of b and c, which is the string obtained by appending c at the end of b. Obviously, |bc| = |b| + |c|.

While the queue is not empty do the following: Delete the rst string s from the queue. Broadcast query string s to the tags and wait for their responses. If only one tag responds with its ID string a, then output a. If a collision is detected (i.e., if multiple tags respond), then insert two strings s0 and s1 to the queue. If no tag responds, then do nothing TAG: Every tag receiving the query string s from the reader compares s with its own ID string a. If s matches the prex of length |s| of a, then the tag sends a to the reader. After broadcasting a query, the reader waits for the responses from the tags for a certain amount of time. If it does not receive any response within the time limit, it concludes that no tag responds. If only one tag sends its ID within the time limit, the reader will correctly receive the ID and identify the tag. If two or more tags send their IDs simultaneously, the IDs from these tags will mix up and the reader cannot recognize them. In this case there are a multiple number of tags whose IDs start with s. To discriminate these tags further, the query string is extended one bit by appending a 0 and a 1 to s. Figure 1 shows a table of the queries and responses communicated between the reader and a set of ve tags with IDs in {01001, 01010, 01011, 01100, 01101}. ID = {01001, 01010, 01011, 01100, 01101} Step 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Query 0 1 00 01 010 011 0100 0101 0110 0111 01010 01011 01100 01101 Response collision no response no response collision collision collision 01001 collision collision no response 01010 01011 01100 01101

2. Query tree protocol


A tag anti-collision system consists of a reader and a set of tags. Each tag has a unique ID, which will be represented as a bit string or as an integer representation of the bit string. The query tree tag anti-collision protocol(QT protocol) can be described by specifying what the reader and the tags perform during an execution of the protocol[5]. READER: The reader maintains a queue. Initially the queue has two strings 0 and 1.

Figure 1. Queries and responses between the reader and the tags.

ISBN 978-89-5519-136-3

-226-

Feb. 17-20, 2008 ICACT 2008

Figure 2 depicts a binary tree, called a query tree, showing the complete communication of the table.

the queries and responses communicated between the reader and the set of reversed IDs. Figure 4 depicts the query tree of Figure 3. ID = {01001, 01010, 01011, 01100, 01101} Reversed ID = {10010, 01010, 11010, 00110, 10110} Step 1 2 3 4 5 6 7 8 Query 0 1 00 01 10 11 100 101 Response collision collision 01100 01010 collision 01011 01001 01101

0 1 1 1

0 0 01001 0

0 0 1

01010

01011 01100

01101

Figure 3. Queries and responses between the reader and the tags with IDs reversed.

Figure 2. Query tree of Figure 1. Every left edge is labeled with a 0 and every right edge is labeled with a 1. There is a one-to-one correspondence between the query strings sent by the reader and the nodes (except the root). Thus, the number of query strings sent by the reader is equal to the number of nodes minus one or the number of edges of the query tree. A gray node means a collision was detected, a white node means no tag responded, and a black node means one tag was identied. The internal nodes are all gray and the leaves are either white or black. The number of black leaves is equal to the number of IDs. A query tree is a f ull binary tree, i.e., each internal node has either two or no children.

3. Query tree protocol with reversed IDs


The query tree protocol with reversed IDs (QTR protocol) reverses the ID strings of the tags and applies QT protocol to these reversed strings. READER: The reader does the same as in the QT protocol. TAG: Every tag receiving the query string s from the reader compares s with its own ID string a. If s matches the prex of length |s| of aR , then the tag sends a to the reader. In the example of Figure 1, the set of the reversed IDs is {10010, 01010, 11010, 00110, 10110}. Figure 3 shows

Figure 4. Query tree of Figure 3.

4. Analysis of complexity
In this section we analyze the complexity of the communication between the reader and the tags in terms of the number of queries, assuming the scenarios where tag IDs are consecutive integers and thus have a common prex. Let A = {b0 , b1 , . . . , bn1 } be a set of bit strings of equal length. Dene Q(A) to be the tree obtained after QT protocol is applied to A. Note that Q(A) is uniquely determined by A. Let e(A) be the number of edges of Q(A). Then, e(A) is the number of queries sent by the reader.

ISBN 978-89-5519-136-3

-227-

Feb. 17-20, 2008 ICACT 2008

4.1. IDs having common prex or sux


Let c = 1 k be a string of length k, where i 0, 1. Prex c to each string of A. Let A = {cb0 , cb1 , . . . , cbn1 }. Apply the query tree protocol to A to obtain Q(A ). Lemma 1 e(A ) = 2k + e(A). Proof:If the reader broadcasts query string 1 i for any 1 i k, a collision will be detected. So, Q(A ) will have a path with k edges. Let denote this path. The nodes of are all gray. The edges of are labeled with 1 , , k from the root. If the reader broadcasts 1 i1 i for any 1 i k, then no tag will respond. i is the complement of i , i.e., i = 1 i . So, each node of except the last one has another edge to a child, which is labeled with i . If the reader broadcasts query string cb where b is a bit string and |b| |b0 |, then it will receive the same response as when it broadcasts b to the tags whose IDs are in A. So, a copy of Q(A) will be hanged to the last node of . Hence, Q(A ) has 2k + e(A) edges. 2 Now, append c at the end of each string of A and let A = {b0 c, b1 c, . . . , bn1 c}. Apply the query tree protocol to A . Lemma 2 Q(A ) and Q(A) are identical, and e(A ) = e(A). Proof: The communication between the reader and the tags with IDs in A will be exactly the same as the one between the reader and the tags with IDs in A. The reader will not have a chance of broadcasting query strings of length greater than |b0 | as the tags will be identied before that happens. So, Q(A ) and Q(A) are identical. Hence, e(A ) = e(A). 2

Dene AR = {bR , bR , . . . , bR }, and B R = {dR , 0 1 n1 0 In the example of Figure 1, B = {001, 010, 011, 100, 101} and B R = {100, 010, 110, 001, 101} Since A can be obtained by prexing c to every string of B and AR can be obtained by sufxing cR to every string of B R , the following is from Lemma 1 and 2. dR , . . . , dR }. 1 n1 Lemma 3 (i) e(A) = 2(H h) + e(B), and (ii) e(AR ) = e(B R ). Note that B has n strings that are of length h, have no common prex, and form consecutive integers. Lemma 4 e(B R ) = 2(n 1). Proof: If n = 2, then the rst bits of dR and dR are 0 1 different as d0 and d1 are consecutive integers (one odd and the other even). A query tree with two edges is sufcient to discriminate dR and dR . 0 1 Let B0 (resp., B1 ) be the set of strings in B that end with a 0 (resp., a 1). B0 contains the even integers from B and B1 contains the odd integers from B. Let n0 = |B0 | and n1 = |B1 |. Then, n0 1, n1 1 and n = n0 + n1 . Let C0 (resp., C1 ) be the set of strings obtained by deleting the last bit of the strings in B0 (resp., B1 ). The strings in C0 (resp., C1 ) have no common prex. It is not difcult to see that C0 (resp., C1 ) has n0 (resp., n1 ) strings and they form R consecutive integers. By induction hypothesis, e(C0 ) = R 2(n0 1) and e(C1 ) = 2(n1 1). Q(B R ) consists of (i) the root, (ii) two edges from the root, one of them is labeled with a 0 and the other with a R R 1, and (iii) two subtrees, Q(C0 ) and Q(C1 ). The edge R labeled with a 0 connects the root and Q(C0 ), and the edge R labeled with a 1 connects the root and Q(C1 ).
R R Hence, e(B R ) = 2 + e(C0 ) + e(C1 ) 2 + 2(n0 1) + 2(n1 1) = 2(n 1). 2

4.2. IDs forming consecutive integers


Let H be the length of a tag ID. Then N = 2H is the total number of possible tag IDs of length H. Consider a set of n 2 consecutive nonnegative integers, {a, a + 1, . . . , a + n 1}. Let A = {b0 , b1 , . . . , bn1 }, where bi is the bit string of length H representing a + i for 0 i n 1. Let c be the longest prex that is common to b0 , b1 , . . . , bn1 . In other words, bi = cdi for 0 i n 1 and d0 , d1 , . . . , dn1 have no common prex. Let B = {d0 , d1 , . . . , dn1 }. Let h = |d0 |. d0 , d1 , . . . , dn1 still form consecutive integers, a mod 2h , (a + 1) mod 2h , . . . , (a + n 1) mod 2h .

Lemma 4 implies that Q(B R ) is mininal in the sense that it has the least number of edges among the query trees for a set of n IDs. A query tree is a full binary tree and has n black leaves and some white leaves. A full binary tree with 2(n 1) edges has exactly n leaves. Thus, Q(B R ) has exactly n leaves and all of them are black. Lemma 5 e(B) e(B R ). Proof: Since Q(B) is a query tree for a set of n IDs, e(B) 2(n 1). 2 We have proved the following theorem. Specically, e(A) 2(H h) + 2(n 1) and e(AR ) = 2(n 1). Theorem 1 e(A) e(AR ).

ISBN 978-89-5519-136-3

-228-

Feb. 17-20, 2008 ICACT 2008

5. Simulation
The performance of QT protocol and QTR protocol will be examined by two simulations. The rst simulation measures the number of queries used untill recognizing all tags[7]. Figure 5 is the result of simulation in which QT protocol and QTR protocol are applied to each two scenarios above mentioned. In the diagram x axis is the number of tags, and y axis is the number of queries to recognize all tags.

6. Conclusions
This paper proposes a tag anti-collision protocol of RFID system. This protocol works by reversing the IDs of the tags and then applying the query tree protocol[5]. The motive of this protocol has started from the idea that, when classifying the several numbers of different bit strings, if the bit string has consecutive or identical prex, it is effective to classify the sufx rst. Actually, for an item generated from the same company, the EPC code of EPCglobal has the same header, company ID and product ID,and the serial numbers are consecutive[1]. From this basis, the ID of most tags has identical and consecutive prex from manufacture to retail store on the progress of supply chain management. Therefore,this protocol has effective performance from manufacture occupying the most on the progress of supply chain management to retail store. Even though the ID of tag is random on the contrary to this, it brings almost same performance with the QT protocol. The analysis and simulation in this paper proves the fact in the above. This protocol has improved its performance in certain occasions by transforming a bit based on QT while having the same performance in general. Therefore, it can deal with QT protocol sufciently.

Figure 5. Comparison of query number. When tag IDs are random , QT protocol and QTR protocol have no difference in performance. In the case that, however, tag IDs are consecutive IDs , the performance of QTR protocol is better than QT protocol. The second simulation measures the transmitted bits used untill recognizing all tags[7]. Figure 6 is the result of simulation in which QT protocol and QTR protocol are applied to scenario II. In the diagram x axis is the number of tags, and y axis is the transmitted bits to recognize all tags.

7. Acknowledgements
This work was supported by the Korea Science and Engineering Foundation(KOSEF) grant funded by the Korea government(MOST) (No. R01-2005-000-10568-0)

References
[1] EPCglobal Tag Data Standards Version 1.3, http://www.epcglobalinc.org/standards/tds/TDS 1 3StandardRatied-20060308.pdf, 2006. [2] EPC Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID Conformance Requirements Specication v.1.0.2, EPCglobal Inc, February 2005 [3] K. Finkenzeller, RFID Handbook Second Edition, Wiley & Sons, 2002. [4] R.L. Graham, D.E. Knuth, and O. Patashnik, Concrete Mathematics, Second Edition, Addison-Wesley Publishing Company, 1994. [5] C. Law, K. Lee, and K.Y. Siu, Efcient memoryless protocol for tag identication, Proceedings of the 4th International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications, pp.75-84, 2000.

Figure 6. Comparison of transmitted bits.

ISBN 978-89-5519-136-3

-229-

Feb. 17-20, 2008 ICACT 2008

[6] F.C. Schoute, Control of ALOHA signaling in a mobile radio trunking system, International Conference on Radio Spectrum Conservation Techniques, IEEE, pp. 3842, 1980. [7] J.D. Shin, S.S. Yeo, T.H. Kim, and S.K. Kim, Hybrid Tag Anti-Collision Algorithms in RFID Systems, The International Conference on Computational Science 2007 (ICCS 2007), Lecture Notes in Computer Science, vol.4490, pp.693-700, 2007.

ISBN 978-89-5519-136-3

-230-

Feb. 17-20, 2008 ICACT 2008

Anda mungkin juga menyukai