2017 2nd International Conference on Computer Science and Technology (CST 2017) ISBN: 978-1-60595-461-5
An Adaptive Anti-collision Algorithm Based
on Tracking Tree Search
Yi-lin JIANG
1,a*, Guo-en XIA
1,2, Guo-xiangLI
1and Ze-rui SUN
11Office of Academic Affairs
Guangxi University of Finance & Economics, Nanning, China 2Department of Business Administration
Guangxi University of Finance & Economics, Nanning, China a[email protected]
*Corresponding author
Keywords: RFID, Anti-collision algorithm, Adaptive slots, Tracking tree search.
Abstract. In the radio frequency identification (RFID) system, the tag collision is the key to improve the efficiency of system identification technology. In order to improve the recognition efficiency of the system, this thesis proposed a new anti-collision algorithm: Adaptive Slots Collision Tracking Tree algorithm (ASCTTA). This algorithm used the track information of collision to calculate collision factor, make it adaptive selection timeslot number for efficient identification tags. From the experimental results, the proposed algorithm is compared with the other three algorithms; the number of communications and traffic between reader and tag are decreased significantly, and has high recognition efficiency.
Introduction
RFID is a new technology developed in recent years. FID is a non-contact automatic identification technology, which can automatically identify the target object and obtain relevant data through radio frequency signal, identification without manual intervention [1-2]. In recent years, some recognition system also appears frequently in our lives, they also can automatically identify and collect data, and however, they have some limitations in data reading efficiency, visibility and contact. The biggest difference between the electronic label based on RFID technology and the traditional bar code label is that the coding capacity of the product is greatly increased, and RFID is able to achieve efficient, fast and reliable communication even when tags are not visible and the reader and tag are not touching [3,4,5]. Therefore, RFID is more and more widely concerned by the researchers.
At present, the research on RFID mainly focuses on two aspects [6], data integrity and security. The factors that affect the data integrity in the transmission process are label collisions, that is, at the same time the reader receives the response from different labels, which will lead to the reader cannot identify any one label [7, 8]. Therefore, it is necessary to study and deal with the identification of low-cost tags.
Anti-collision algorithms can be roughly divided into three categories [9], the
Aloha-based, anti-collision scheme, the tree-based scheme and hybrid algorithm. In
Tree-based Tag Anti-collision Schemes
In this section, we present two tree based anti-collision techniques, namely the Adaptive multi-tree searchanti-collision algorithm (AMS)and Bi-slotted Collision Tracking Tree Algorithm(BSCTTA).
Adaptive Multi-Tree Search Anti-Collision Algorithm (AMS)
Adaptive multi-tree search anti-collision algorithm (AMS)[10] considers the
combination of the binary tree and the quad trees, and proposes a collision factor μ. The collision factor [10] is defined as, when a collision occurs, the collision bit number nc is the ratio of the tag response bit n, that is μ=nc/n. The physical significance of the collision factor is that it reflects the number of tags to be identified, the larger the value of μ, the more the number of tags to be identified; the smaller the value of μ, the less the label to be identified. The literature [10] can be proved by a series of mathematical reasoning and experiments, the value of μ should be 0.75. When the μ value is less than 0.75, the binary tree should be used for identification, when the μ value is not less than 0.75, then use the quad trees to identify, thus compromising the idle time slot and collision time slot in the recognition process, so that the algorithm to achieve optimal.
Bi-slotted Collision Tracking Tree Algorithm (BSCTTA)
Bi-slotted Collision Tracking Tree Algorithm (BSCTTA)[11] is based on the Collision
Tracking Tree Algorithm (CTTA)[12]to further improve. Its basic principle is similar to
CTTA, except that if a collision occurs on the reader side, the tag's response is divided into two-time slots. Assume that the tag within the reader has a collision at the nth bit of the ID; the reader will send a prefix of length n-1 as the inquiry message. When the prefix is received on all tags within the reader range, the tag compares the prefix with the previous n-1 bit of its own ID, if the prefix is the same, the tag responds to the reader's inquiry; when the tag responds, one of the two-time slots is selected, the time slot selection is based on the n-bit of each tag is the collision bit is 0 or 1, if it is 0, it responds in the first slot, and if it is 1, it responds in the second slot. In this way, the collision bit information will be reflected in two different time slots. In the response time slot, if the reader detects a collision, it will send an ACK signal to the label, the tag will then send the value of the first n + 1 bit to the next collision bit to the reader.
Adaptive Slots Collision Tracking Tree Algorithm (ASCTTA)
The present schemes are not efficient enough because of its processing time. Thus, we propose new efficient tag anti-collision protocols for passive RFID systems.
The Design of the Proposed Algorithm
Adaptive Slots Collision Tracking Tree Algorithm (ASCTTA) uses the idea of multi-slot response, while using the collision tracking tree to determine the specific collision, to determine the prefix of the next reader query; and introduce the collision factor, according to the collision factor to dynamically change the tag response time slot. The algorithm reduces the probability of collision by automatically adjusting the time slot to achieve better recognition efficiency.
Since the detection of a collision in AMS does not use CTTA to track the location of the next label collision, so in the ASCTTA we had modified the collision factor. The collision factor μ = mc / m,where the m is the number of bits that the tag responds from the first collision bit to the last bit;mc is the number of bits in the m-bit collision.
Determine whether the number of slots for tag response is double slot or four-time slots based on the value of the collision factor. Double slot refers to only the "0" slot and "1" slot; the four-time slots are four slots of "00", "01", "10" and "11". The algorithm will use a LIFO query stack. The function of the query stack is to store the query prefix with collisions.
The Description of the Proposed Algorithm
The general description of the ASCTTA is as follows:
1) Request: Firstly, the reader initializes the LIFO query stack; issue a query
command with a prefix length of n. Where the query prefix sent for the first time is empty.
2) Response: The tag that matches the query prefix responds to the reader's inquiry.
3) Grouping:
a.Collision: The tag responds according to the time slot determined by the reader.
Where in the first-time reader only needs to calculate the collision factor and determine the new query prefix, and the new query prefix into the stack.
If μ <0.75, identify the group of collisions should use double time slots, that
is, the tag whose "n + 1" is "0" responds in the first slot, the tag with the n + 1 bit as "1" responds in the second-time slot. And sends bits from the n + 2 to the last bit to the reader.
- Readable time slot: If each slot has and only one tag response, the tag is successfully recognized; if there is no collision in one slot, the tag ID of the slot response is successfully identified.
- Collision time slot: If there is still a time slot collision, the reader calculates the collision factor μ' based on the n + 2 bits to the last bit sent by the tag, to determine the number of timeslots to identify the collision should be selected, the collision factor μ'= mc / m, determine the new query prefix at the same time, put the new query prefix into the stack. If the collision occurs at the last bit, since the ID value of each tag is unique, the two tags are identified directly.
- Idle time slot: There is no label that matches the current slot of the query prefix, and no further query is required.
If μ ≥0.75, indicating that more labels to be identified, should use four-time
slots, that is the tag which the n+1 and n+2 bits are "00"responds in the first-time slot, which the n+1 and n+2 bits are "01"responds in the second time slot, which the n+1 and n+2 bits are "10"responds in the third time slot, which the n+1 and n+2 bits are "11"responds in the fourth time slot.
than four) without collision, the tag ID of the one or more time slot responses is successfully identified.
- Collision time slot: If there is still a time slot collision, the reader calculates the collision factor μ' based on the n + 3 bits to the last bit sent by the tag, to determine the number of timeslots to identify the collision should be selected, the collision factor μ'= mc / m, determine the new query prefix at the same time, put the new query prefix into the stack. If the collision occurs at the last bit, since the ID value of each tag is unique, the two tags are identified directly.
- Idle time slot: There is no label that matches the current slot of the query prefix, and no further query is required.
b.Readable time slots: That is, there is no collision, and only one tag matches the
query prefix, then the label is successfully recognized. And sends bits from the n + 3 to the last bit to the reader.
4) Check that the query stack is empty: If it is not empty, then the top of the stack that is query prefix pop, the reader reads the query prefix at the top of the stack (with time slot query information), jump to the response step; if it is empty, all tags are successfully recognized and the algorithm ends.
Experiment and Results Experiment Environment
In this paper, Collision Tracking Tree Algorithm (CTTA), Adaptive multi-tree searches anti-collision algorithm (AMS) and Bi-slotted Collision Tracking Tree Algorithm (BSCTTA) are taken for comparing with the proposed algorithms. The number of labels are 10 ~ 20000, the label ID is fixed at 96 bits, the tag ID number is generated randomly by the function. In the case of the same number and ID number of labels each time, with four algorithms to identify the label, and record the number of iterations, the number of prefixes required to successfully identify a tag and identify time for the four algorithms, compare the performance of the four algorithms. The experimental data take 20 experimental mean values. The experimental environment is Intel Pentium Dual 2.00GHz processor, 2G memory, Windows 7 operating system. Developed with JAVA, eclipse 3.7 for the development of tools.
Results
Figure 1 for the algorithm to successfully identify the number of different tags, comparison of the number of iterations required by the algorithm. The abscissa indicates the number of tags to be identified in each experiment, and the ordinate indicates the number of iterations of the algorithms. Each time the algorithm is executed, the reader needs to send a query prefix to the tag, the number of unrecognized tags is grouped, so the number of iterations directly reflects the number of times the reader communicates with the tag.
iterations of the ASCTT algorithm is much less than that of CTTA, AMS and BSCTTA when recognizing the same number of tags, and with the increase in the number of tags more obvious advantages.
Figure 1. The number of iterations in the algorithm.
[image:5.612.137.490.428.624.2]Figure 2 shows the average number of prefixes that the reader needs to send when the algorithm successfully identifies a tag. The abscissa represents the number of labels; the ordinate indicates the number of average prefixes that the reader needs to send. The average number of prefixes is the number of consecutive prefixes to be successfully identified by all tag readers and the number of tags. The average prefix represents the amount of traffic between the reader and the tag.
Figure 2. Averagenumbers of prefixes.
identifying 20000 tags, ASCTTA only requires 13-bit prefix, BSCTTA requires about 18 bits, the AMS algorithm requires about 38-bit prefix. So, in the case of the same number of tags to be identified, the ASCTTA recognizes that the average prefix required for a tag is less than the other three algorithms.
[image:6.612.158.468.165.373.2]Figure 3 shows the comparison of the total number of slots required for each algorithm to successfully identify different tag numbers. The abscissa indicates the number of labels, and the ordinate indicates the number of slots.
Figure 3. Total number of time slots.
It can be seen from Fig. 3 that the number of total time slots required by each algorithm increases as the number of identification tags increases. The total time slot here refers to the time spent in the identification process. ASCTTA compared to several other algorithms its total time slot is the least costly, compared with the BSCTTA, ASCTTA is a double time slot and four-time slot cross, although there will be idle time slot when the four-time slots, but because of the reasonable distribution of collision factors, so take less time.
In this paper, we can prove that the Adaptive Slots Collision Tracking Tree Algorithm (ASCTTA) proposed in this paper not only reduces the number of communication between the reader and the tag, but also improves the efficiency of tag recognition in the system.
Summary
Acknowledgment
This research was partially supported by the Guangxi Province Universities and Colleges Excellence Scholar and Innovation Team Funded Scheme; Guangxi University of Science and Technology Research Projects (kY15YB267) and The Young teachers’ research Fund of Guangxi University of Finance and economics. (2016QNA03)
References
[1] Oner M, Ustundag A, Budak A. An RFID-based tracking system for denim production processes[J]. International Journal of Advanced Manufacturing Technology, 2016:1-14.
[2] Nysveen H, Pedersen P E. Consumer adoption of RFID-enabled services. Applying an extended UTAUT model[J]. Information Systems Frontiers, 2014, 18(2):1-22.
[3] Fescioglu-Unver N, Choi S H, Sheen D, et al. RFID in production and service systems: Technology, applications and issues[J]. Information Systems Frontiers, 2014, 17(6):1-12.
[4] Chen C C. RFID-based intelligent shopping environment: a comprehensive evaluation framework with neural computing approach[J]. Neural Computing & Applications, 2014, 25(7-8):1685-1697.
[5] Golsorkhtabaramiri M, Hosseinzadeh M, Reshadi M, et al. A Reader Anti-collision Protocol for RFID-Enhanced Wireless Sensor Networks[J]. Wireless Personal Communications, 2015, 81(2):893-905.
[6] Zhang D, Huang H, Jo M. Future RFID technology and applications: visions and challenges[J]. Telecommunication Systems, 2015, 58(3):193-194.
[7] CHEN Yi-Hong, FENG Quan-Yuan. A Reservation Slot Assignment Anti-Collision Protocol for the RFID System Considering the Capture Effect[J]. Chinese Journal of Computers, 2015, 38(12).
[8]Sadikin MF, Kyas M. Security and privacy protocol for emerging smart RFID applications. In: Proc. of the 15th IEEE/ACIS Int’l Conf. on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing. Atlanta: IEEE Computer Society, 2014. 1-7.
[9] ZHOU Shi-Jie, ZHANG Wen-Qing, LUO Jia-Qing . Survey of Privacy of Radio Frequency Identification Technology[J]. Journal of Software. 2015, 26(4).
[10]DING Zhi-Guo, ZHU Xue-Yong, GUO Li, GU Jin. An Adaptive Anti-collision Algorithm Based on Multi-tree Search[J]. Acta Automatica Sinica, 2010, 36(2):237-241