- Open Access
A semi-blocking algorithm on adaptive query splitting for RFID tag identification
© Lai et al.; licensee Springer. 2013
Received: 25 March 2013
Accepted: 9 September 2013
Published: 18 September 2013
Radio frequency identification (RFID) is a promising wireless technology for using tiny, remotely powered chips as identifiers. The number of RFID applications is rapidly increasing because RFID technology is convenient, fast, and contactless. However, collisions occur when multiple tags simultaneously transmit their IDs. Therefore, an efficient anti-collision algorithm is needed to accelerate tag identification. In some applications, the reader may repeatedly identify staying tags, which constantly exist in the reader's range. The adaptive query splitting algorithm (AQS) was proposed for reserving information obtained from the last identification process to enable rapid re-identification of staying tags. However, since AQS is a non-blocking algorithm that allows newly arriving tags to use the slots reserved for staying tags, collisions among them are problematic. Thus, semi-blocking AQS (SBA) proposed in this study is designed to reduce the collisions between arriving tags and staying tags by applying a semi-blocking technique in which only a minority of arriving tags use the slots reserved for staying tags. By counting the number of minor arriving tags, SBA estimates the number of unrecognized arriving tags and generates proper queries to minimize their collisions. The identification delay of SBA is analyzed, and simulation results show that SBA significantly outperforms AQS.
Radio frequency identification (RFID) has substantially replaced the conventional bar code system of automated identification because RFID is faster, more convenient, and contactless. The many RFID applications developed so far include inventory control, object tracking, and supply chain management. An RFID system usually contains a reader and multiple tags. Each tag has a unique identification (ID), and the reader recognizes all tags in its radio range through wireless communication. However, collisions occur when multiple tags transmit their IDs simultaneously because they share the same wireless channel. In this case, the reader cannot immediately recognize any tags, and the collided tags must retransmit their IDs until they are identified. This wastes bandwidth and delays identification. Therefore, an efficient anti-collision algorithm is needed to reduce tag collisions and to accelerate tag identification.
Current anti-collision algorithms can be classified as aloha-based algorithms and tree-based algorithms. Aloha-based algorithms estimate the number of tags and assign the proper number of slots to reduce the probability of tag collisions. They can be further classified as dynamic frame slotted aloha [1–5] and splitting frame slotted aloha [6–8]. The major difference is that the former dynamically adjusts the number of slots allocated for each frame and allows all unrecognized tags to share these slots while the latter splits unrecognized tags into different collision sets and allows each set to use individual slots separately. However, a limitation of aloha-based algorithms is the starvation problem, in which the tag cannot be identified because its responses are constantly colliding with others.
Tree-based protocols, which continuously split a set of tags into two subsets until all tags are identified, can be classified as query tree (QT) protocols [9–14] and binary tree (BT) protocols [15–18]. The former uses tag IDs while the latter adopts random binary numbers to split the set of collided tags. Therefore, QT is a memoryless protocol, i.e., the tag does not memorize information, whereas BT must maintain counters.
Many RFID applications require the reader to identify the same tags repeatedly. For example, the RFID applications for warehouse, parking lot, and library management, etc. In these applications, the objects, i.e., the goods, the cars, and the books, frequently stay at the same places for a long time. Therefore, the reader often identifies the same tags repeatedly. Therefore, if an anti-collision algorithm can reserve information obtained from the last process of tag identification, i.e., the last frame, the reader can skip many collisions and quickly re-identify the staying tags that remain within the range of the reader in the current frame.
Myung et al. [19–21] used two anti-collision algorithms, adaptive query splitting algorithm (AQS) and adaptive binary splitting algorithm (ABS), which were modifications of QT and BT, respectively, to retain information from the last frame. By using this information, AQS and ABS can successfully avoid collisions among staying tags. A previous study  showed that AQS requires lighter tag specifications although its performance may be affected by the distribution of tag IDs. Nevertheless, AQS and ABS are non-blocking algorithms in which newly arriving tags can use the slots reserved for staying tags. Thus, AQS and ABS cannot prevent arriving tags from colliding with staying tags, causing many collisions between them. Afterward, based on AQS and ABS, some blocking algorithms, which block arriving tags from using the slots reserved for staying tags, were proposed to prevent their mutual collisions [22–24]. However, these blocking algorithms need the information from the last frame to estimate the number of arriving tags.
Many RFID applications meet the situations that many arriving tags arrive sometimes and few arriving tags arrive sometimes, for example, people in the subway station or in the school, etc. In this case, the variation in the number of the arriving tags may be large. Therefore, when the blocking algorithms use the information from the last frame to do the estimation, their identification efficiency will be significantly reduced.
The novel semi-blocking AQS (SBA) algorithm proposed in this paper inherits the essence of AQS by using staying tag information obtained from the last frame. By applying a semi-blocking technique that allows a minority of arriving tags to use the slots reserved for staying tags, SBA reduces collisions between arriving tags and staying tags. Moreover, by counting the number of minor arriving tags, SBA can estimate the number of unrecognized arriving tags and generates proper queries to minimize their mutual collisions.
This study makes the following contributions to the literature. (1) We propose a semi-blocking algorithm, SBA, to quickly identify staying tags and arriving tags. SBA estimates the number of arriving tags according to the information obtained in the current frame rather than in the last frame. (2) We mathematically analyze the identification delay, i.e., the number of total required slots, of SBA. (3) We conduct extensive simulations and investigate the performance of SBA. The simulation results show that SBA significantly outperforms AQS.
The rest of this paper is organized as follows. Section 2 briefly describes QT, AQS, and other related works. Section 3 presents the underlying concept and operation of SBA. In Section 4, the mathematical analysis of identification delay for SBA is derived. Section 5 discusses the simulation results confirming the superiority of SBA over AQS. The conclusions are presented in Section 6.
2. Related works
Some terms are first defined as follows.
Frame: a frame is the duration from the moment a reader begins recognizing tags within its reading range to the time it completes all recognition. Let f i denote the i-th frame.
Slot: a slot is the duration that a reader transmits a query signal to the tags and then the tags respond by sending their IDs to the reader. Depending on the number of tag responses, a slot is called idle, readable, or collision when no tag responds, one tag responds, or multiple tags respond, respectively.
Staying tag in the i-th frame: the tag exists in fi-1 and also in f i .
Arriving tag in the i-th frame: the tag does not exist in fi-1 but appears in f i .
Leaving tag in the i-th frame: the tag exists in fi-1 but disappears in f i .
Possible tags in the i-th frame: the tags appear and are recognized in fi-1 and are likely to appear in f i . Possible tags are the combination of staying tags and leaving tags.
The QT splits a tag set by tag IDs [9–14]. The reader owns a queue Q, which stores bit strings of the queries and is initialized with two 1-bit strings, 0 and 1, at the beginning of each frame. At each slot, the reader interrogates the tags by popping one string from Q and transmitting it to the tags. If the prefix of a tag ID matches the bit string of the query, the tag responds by transmitting its ID. The reader can identify the tag when only one tag responds with its ID. When the tags' responses mutually collide, the query q1q2…q x is called a collision query. To solve this collision set composed of multiple tags, the reader pushes two 1-bit longer queries, q1q2…q x 0 and q1q2…q x 1 into Q. Thus, the set of tags with prefix q1q2…q x is then split into two subsets of tags, one with prefix q1q2…q x 0 and another with prefix q1q2…q x 1. The two subsets will respond with their IDs at separate slots according to the queries sent from the reader. The reader continues expanding the query until one or no response is received. When Q is empty, the reader concludes that all of the tags have been recognized.
The AQS, which was modified from QT, preserves readable queries obtained from the last frame in order to avoid unnecessary slots generated from identifying staying tags [20, 21]. It also retains idle queries acquired from the last frame in order to interrogate arriving tags during the current frame. The reader in the AQS has two queues: Q, which has the same manipulation as QT, and CQ, a candidate queue that gathers readable queries and idle queries in the last frame and retains them until the current frame starts. At the beginning of each frame, the reader first checks whether CQ has any query. An empty CQ means that there is no tag recognized in the last frame, making the reader initialize Q with two 1-bit strings, 0 and 1. On the other hand, if CQ has some queries, the reader initializes Q by copying all queries from CQ. Then, the reader starts the identification procedure as QT until Q is exhausted.
Also, during the identification procedure, whenever a readable query or an idle query occurs, the reader stores this query into CQ. Thus, in the next frame, the collisions among the staying tags can be totally avoided. However, leaving tags generate some unnecessary idle queries. AQS uses a query deletion procedure to handle this situation. For a node of a collision query, abnormal queries are its two child nodes being a pair of node types as follows: (1) a readable query and an idle query and (2) two idle queries. If leaving tags transform a pair of child nodes as abnormal queries, the reader then deletes unnecessary queries. That is, when q1q2..q x 0 and q1q2..q x 1 are abnormal queries, the reader deletes q1q2..q x 0 and q1q2..q x 1 from CQ and enqueues q1q2..q x into CQ. The reader deletes all abnormal queries from CQ recursively until all the nodes do not have a child node pair being abnormal queries.
2.3. Other works
The ABS, which is based on BT, has the similar concept to AQS [19, 21]. The ABS may have a shorter identification delay compared to AQS, in which performance depends on the distribution of tag IDs . In each tag, however, AQS only requires a matcher while ABS must maintain two counters. Therefore, AQS has lighter tag requirements compared to ABS.
Since both AQS and ABS are non-blocking algorithms, they cannot prevent arriving tags from colliding with staying tags, resulting in numerous collisions. Therefore, two protocols, the single resolution blocking ABS algorithm (SRB) and the pair resolution blocking ABS algorithm (PRB) [22, 23], were proposed to address these issues. The blocking technique performed by SRB and PRB enables the use of different slots by arriving tags and staying tags, which prevents the former from colliding with the latter. However, since they are based on ABS, they require higher specifications in tags. Afterward, based on AQS, the other two blocking protocols, the couple-resolution blocking algorithm (CRB) and the enhanced couple-resolution blocking algorithm (ECRB) , were proposed. CRB and ECRB actually need lower tag specifications than SRB and PRB. However, CRB and ECRB estimate the number of arriving tags in the current frame based on the information obtained from the last frame. When the number of arriving tags significantly changed, these blocking algorithms, including SRB, PRB, CRB, and ECRB, cannot accurately estimate the number of arriving tags, resulting in more collisions when identifying them.
Efficient continuous scanning (ECS) based on slotted aloha also identifies staying tags quickly by the information gathered in the last frame . The ECS is composed of two phases: the first phase identifies arriving tags while the second phase finds the leaving tags. In the first phase, arriving tags and staying tags individually select a slot in a round. Only arriving tags selecting pre-empty slots, i.e., no staying tag responds in the slots, are allowed to be active and will be identified in the next round using typical slotted aloha. In the second phase, if a pre-single slot, i.e., only one possible tag selects in the slot, is empty, the corresponding possible tag leaves. Clearly, collisions between arriving tags and staying tags still occur since ECS is a non-blocking algorithm. ECS relieves this problem by the use of different slot durations, so it can obtain acceptable performance. However, the drawback is that ECS cannot provide perfect accuracy. Some arriving tags may not be identified and some leaving tags may not be detected either.
Comparison among different anti-collision algorithms
Information for estimation
No in error-prone channel
No in error-prone channel
No in error-prone channel
SBA (this work)
3. Semi-blocking AQS
Although AQS can avoid collisions among staying tags, it has two drawbacks. First, it cannot prevent arriving tags from colliding with staying tags. Second, it reserves idle queries obtained from the last frame in order to interrogate arriving tags whose ID prefix matches one of these queries, but these queries may again cause idle slots in the current frame when no such arriving tag appears. The proposed SBA algorithm avoids these problems. The AQS and SBA differ in three ways. First, the former is a non-blocking algorithm while the latter is a semi-blocking algorithm to reduce the collisions between staying tags and arriving tags. Second, SBA does not retain the idle queries of the last frame. Third, SBA estimates the number of arriving tags so that the appropriate queries can be generated to identify them.
The SBA is performed in two phases. The first phase identifies staying tags and a few arriving tags. In the phase, since SBA blocks most arriving tags, the probability of a staying tag colliding with arriving tags is low. The second phase identifies arriving tags that are not recognized in the first phase. To avoid excessive collisions caused by arriving tags, SBA counts the number of minor arriving tags that have responded in the first phase to estimate the number of arriving tags that will respond in the second phase. By generating proper queries, SBA significantly reduces collisions caused by these unrecognized arriving tags.
3.1. Estimating the number of arriving tags
The key issue in SBA is accurately estimating the number of arriving tags that will respond in the second phase. The following notations are used to describe this estimation method.
P1: the probability that an arriving tag in which the ID prefix matches the query is allowed to respond in the first phase.
Q: a set [q1, q2, q3, …q m ] where q i denotes the i-th readable query and m is the total number of readable queries in Q.
3.2. The SBA procedure
In the first phase, the reader and the tags that can respond in the first phase, including all staying tags and minor arriving tags, operate as QT. Thus, if some arriving tags collide with staying tags in the first phase, the SBA reader pushes two 1-bit longer queries into Q to solve these collisions. Moreover, in the first phase, the reader also stores each identified tag ID in IDList (line 23, Figure 1b) and counts the number of arriving tags as NewCount. Each tag also sets hasreponded to 1 if it has responded (lines 19 to 22, Figure 1a).
At the end of the first phase, i.e., when Q is empty and Phase equals 1, the reader has identified all staying tags and minor arriving tags that can respond in the first phase. Before starting the second phase, the reader uses Equation 3 to predict the number of unrecognized arriving tags, NewEst, by NewCount, which records the number of recognized arriving tags (line 9, Figure 1b). After obtaining NewEst, the QueryInsertion() function operated internally in the reader generates a complete binary tree in which the number of leaf nodes equals ⌈NewEst⌉ and returns all leaf nodes into Q (line 11, Figure 1b). Based on the characteristics of a complete binary tree, its leaf nodes can cover all possible ID prefixes. Thus, the reader can use these queries of leaf nodes to interrogate arriving tags in the second phase.
The second formula is because c1 queries of (l − 1) bits and c2 queries of l bits must construct a complete prefix set of all IDs. By solving the simultaneous equations, c1 is 2 l − ⌈NewEst⌉ and c2 is 2⌈NewEst⌉ − 2 l . Then, c2 queries of l bits are first generated and c1 queries of l − 1 bits are then generated according to the increasing order of binary representations of these queries. For example, when ⌈NewEst⌉ = 5, the QueryInsertion() function generates two 3-bit queries and three 2-bit queries, i.e., 000, 001, 01, 10, and 11.
Upon receiving the second-phase command, each recognized tag changes its isResponsible to 0 while other unrecognized tags change their isResponsible to 1 (lines 11 to 16, Figure 1a). Also, in the second phase, each tag that can respond in the second phase and the reader are operated as QT. The reader terminates the identification process when Q is empty.
Unlike AQS, SBA cannot immediately store readable queries obtained during the identification process because the readable queries obtained from recognizing staying tags and from recognizing arriving tags may overlap. For example, SBA may obtain readable query 00 for staying tag 0001 and also obtain readable query 00 for arriving tag 0010. To find all readable queries of a frame, the reader applies the QueryConstruction() function to IDList (line 30, Figure 1b). This function uses all recognized tag IDs stored in IDList to internally operate the QT algorithm and find correct readable queries (000 and 001 in the example above). The SBA also uses the Preadable() function to determine probability P r based on Equation 1 (line 31, Figure 1b).
3.3 Special case of SBA: a blocking algorithm
A special case of SBA is that no any arriving tag can be allowed to use the slots reserved for staying tags, i.e., P1 = 0. In this case, SBA becomes a blocking algorithm that completely prevents arriving tags from colliding with staying tags. However, since no information can be obtained from the first phase, SBA cannot use Equation 3 to estimate the number of arriving tags. Therefore, SBA changes the method to adopt the information from the last frame to estimate the number of arriving tags. Specifically, the reader estimates the number of arriving tags, NewEst, in the current frame with an exponential average of NewCount, which records the number of total arriving tags in the last frame, i.e., NewEst = z × NewCount + (1−z) × NewEst (line 1, Figure 1b). Factor z is used to weight the last estimation and the exact number of arriving tags in the last frame.
3.4. Hardware cost and energy consumption
The SBA tag needs a random number generator and properly maintains four variables, P t , tRID, isResponsible (1 bit), and hasreponded (1 bit). On the other hand, the AQS tag requires only one matcher to match the prefix and its ID. Thus, the cost of SBA tags may increase. However, as defined in ISO 18000–6 , a tag shall have a random/pseudorandom number generator and the minimal memory size of 4 bytes. Thus, the hardware requirements for SBA can be supported for existing tags. Moreover, considering the energy consumption caused by communication, SBA consumes less energy than AQS because the former spends less slots and transmits less bits than the latter, as shown in Section 5.
4. Performance analysis
In this section, we analyze the identification delay of SBA in the average case. For convenience, the number of total slots required in QT is first derived because SBA uses QT upon encountering a collision slot. Let T i represent the set of tags existing in f i , and let n be the number of tags in the set T i , i.e., n = |T i |. Additionally, let α and β be the numbers of arriving tags and leaving tags, respectively, in fi+ 1. Finally, assume that the bit length b of each tag ID is infinite and that tag IDs are uniformly distributed among 2 b IDs. Thus, the reader can continually extend the prefix by appending bits until all tags are recognized. Since the size of b is always sufficient, this assumption appears reasonable and does not substantially affect the accuracy of the following analyses.
In Theorem 2, P r is unknown. However, according to Equation 1, P r is calculated from the queries in Q. However, we only discern that the number of readable queries stored in Q is n, i.e., n tags recognized in the last frame. Therefore, the number of idle queries should be derived, and thus, we first compute the total number of required slots when recognizing n tags.
Finally, substituting Equation 17 into Theorem 2, the average number of total slots required by SBA can be obtained.
5. Performance comparison
The special case of SBA with P1 = 0 is a blocking algorithm that uses the number of arriving tags existing in the last frame to estimate the number of arriving tags existing in the current frame. Thus, the performances of SBA with P1 = 0 and P1 > 0 should be individually compared with that of AQS. Here, ‘SBA0’ represents SBA with P1 = 0 while ‘SBA+’ represents SBA with P1 > 0. The QT is excluded from the comparison because it performs poorly even in comparison with AQS [19–21], and the lines of the other methods in the figures are difficult to view when including QT. The evaluation also excludes ECS because it cannot provide perfect accuracy. Three metrics, the number of collision slots, the number of idle slots, and the number of total slots, are considered when evaluating the efficiency of tag identification. Total slots include collision slots, idle slots, and readable slots. The number of total slots signifies the delay in identifying all tags. The two other metrics, the number of bits sent by the reader and the number of bits sent by all tags, are also considered. More bits means more overhead, causing more power consumption.
First, a simulation is performed to investigate how the numbers of staying tags and arriving tags affect the performance of AQS, SBA0, and SBA+. Here, the number of arriving tags is assumed to be estimated accurately by SBA, i.e., it obtains the optimal performance. This assumption simplifies the observation of trends and the performance comparison.
A more realistic simulation under a mobile environment where tags move within an area is then performed. Unless otherwise specified, SBA0 in the simulation uses an exponential average with a default factor z = 0.5, and SBA+ adopts a default probability P1 = 0.2. The effects of some parameters, including the number of tags, the tag moving velocity, and the stationary tag probability, are also investigated. Finally, we investigate the effect of an incorrectly estimated number of arriving tags in SBA under the stationary tag probability following the beta distribution. The influence of P1 on SBA performance is also studied in this environment.
5.1. Impact of staying tags and arriving tags
Let N be the number of all the tags in the simulation area, T i be a set of tags existing in f i , and |T i | be the number of these tags. The performance of the i+1-th frame, fi+1, can then be investigated by varying the staying ratio r s and the arriving ratio r a , where r s is the ratio of the number of staying tags over |T i | and r a is the ratio of the number of arriving tags over N − |T i |. Two scenarios are considered according to the values of r s and r a . In both scenarios, N is 1000 and |T i | is 500. In scenario 1, r s is fixed at 0.5, and r a is varied from 0 to 1. In scenario 2, r a is fixed at 0.5, and r s is varied from 0 to 1.
From Figure 3b, SBA0 and SBA+ obviously outperform AQS in the numbers of bits sent by the reader and sent by all tags. The bits sent by the reader between the former and the latter in a collision slot, an idle slot, and a readable slot, are similar. Since both SBA+ and SBA0 have fewer slots than AQS, they must have less bits sent by the reader than AQS. For the same reason, SBA+ and SBA0 have less bits sent by all tags. On the other hand, SBA+ has slightly less bits sent by the reader and slightly more bits sent by all tags than SBA0. The main reason is that SBA+ generates more collision slots and less idle slots than SBA0 where no bit is transmitted in an idle slot and the bits of ID length are transmitted in a collision slot.
From Figure 5b, SBA0 and SBA+ obviously outperform AQS in the numbers of bits sent by the reader and sent by all tags. The reason is the same as the descriptions for Figure 3b. Also, the results of comparing SBA+ with SBA0 in Figure 5b are similar to those in Figure 3b for the same reason.
5.2. Performance under a mobile environment
A mobile environment is established as follows:
Simulation area: 10 m × 10 m
Identification range of the reader: 3 m
Tag ID: Randomly selected 96-bit ID
Number of tags (N): 1,000
Tag moving velocity (v): 2 m/frame
Tag stationary probability (p s ): 0.5
Weight factor (z): 0.5
Probability factor (P1): 0.2
The N tags in this environment are mobile within a 10 m × 10 m area. Each tag has a stationary probability p s to decide whether it will move or not during the period of a frame. The tag moving velocity v is the distance that each tag moves during one frame if it moves. Since the identification range of the reader is 3 m, some tags enter and leave the range of the reader as arriving tags and leaving tags, respectively. All initial tag positions and directions are randomly selected in the simulation area. Tags that touch the border of the simulation area randomly change direction. Each simulation is performed for 106 frames.
The next subsection discusses the results of simulations performed to investigate how parameters, N, p s , and v affect the performance of AQS, SBA0, and SBA+.
5.2.1. Impact of the number of tags
As the number of tags increases, the numbers of arriving tags, leaving tags, and staying tags increase. Therefore, the numbers of collision slots, idle slots, and readable slots increase linearly as the number of tags increases. The blocking technique used by SBA0 prevent arriving tags from colliding with staying tags to minimize the collisions. On the other hand, SBA+ semi-blocks most of the arriving tags, so it generates slightly more collision slots than SBA0 does.
5.2.2. Impact of tag mobility
5.2.3. Impact of tag stationary probability
5.2.4. Performance under an incorrectly estimated number of arriving tags
In the previous subsection, the number of arriving tags may be incorrectly estimated in the steady state. However, these errors are small. This study therefore further examines the effect of p s following the beta distribution to observe the performance of SBA in the case of an incorrectly estimated number of arriving tags.
With the beta distribution, different degrees of the variation in the numbers of staying tags and arriving tags can be easily observed in the same figure. Here, α = β. Therefore, this distribution is U-shaped under α < 1 and β < 1, while it is similar to the normal distribution when α > 1 and β > 1. When α = 1 and β = 1, the distribution is uniform. Thus, smaller α and β imply a larger variation of p s , which increases the variation in the numbers of arriving tags and staying tags. Thus, this simulation can clearly exhibit the effects of the variation in the number of staying tags and arriving tags on the performance of SBA and AQS.
Still, SBA+ with P1 = 1 significantly outperforms AQS. The SBA+ is superior because it only transmits readable queries, but not idle queries, obtained from the last frame. Moreover, SBA+ uses proper queries with accurate estimation to interrogate arriving tags. Thus, most idle slots and collision slots in AQS are avoided in SBA+ with P1 = 1.
Collisions that occur during simultaneous tag transmissions are a major cause of delayed tag identification in RFID systems. The novel SBA proposed in this study not only exploits information obtained from the last frame for reducing collisions among staying tags but also reduces collisions by blocking most arriving tags, which may collide with staying tags. The SBA also reduces unnecessary idle queries by only sending the readable queries obtained from the last frame. Additionally, SBA quickly identifies arriving tags by estimating their number and generating proper queries based on the information of the first phase in the current frame.
When the numbers of tags in and out of the reader's range are fixed, SBA outperforms AQS in almost all cases except in the case of a small r s and a large r a ; in which case, AQS allows many arriving tags to match the idle queries caused from the leaving tags.
In a mobile environment, SBA always outperforms AQS regardless of the number of tags, the tag velocity, and the stationary probability. The SBA is superior in terms of collision, idle, total slots, and the transmitted bits.
When the number of arriving tags is generally stable, setting P 1 = 0 in SBA obtains the best performance since this number can be accurately estimated based on the information in the last frame. However, setting P 1 = 0.2 in SBA obtains the best performance when this number widely varies. Thus, an appropriate P 1 should be set according to the variation in the number of arriving tags.
The authors would like to thank the National Science Council, Taiwan, for financially supporting this research under contract no. NSC 102-2219-E-011-002.
- Lei Z, Yum TSP: The optimal reading strategy for EPC Gen-2 RFID anti-collision systems. IEEE Trans. Commun. 2010, 58(9):2725-2733.View ArticleGoogle Scholar
- Maguire Y, Pappu R: An optimal Q-algorithm for the ISO 18000-6C RFID protocol. IEEE Trans. Autom. Sci. Eng. 2009, 6: 16-24.View ArticleGoogle Scholar
- Lei Z, Yum TSP: Optimal framed aloha based anti-collision algorithms for RFID systems. IEEE Trans. Commun. 2010, 58(12):3583-3592.View ArticleGoogle Scholar
- Chen YH, Horng SJ, Run RS, Lai JL, Chen RJ, Chen WC, Pan Y, Takao T: A novel anti-collision algorithm in RFID systems for identifying passive tags. IEEE T. Ind. Inform. 2010, 6(1):105-121.View ArticleGoogle Scholar
- Xie L, Sheng B, Tan CC, Han H, Li Q, Chen D: Efficient tag identification in mobile RFID systems. In Proceedings of the IEEE INFOCOM. San Diego; 2010:1-9.Google Scholar
- Lin CF, Lin FYS: Efficient estimation and collision-group-based anti-collision algorithms for dynamic frame-slotted aloha in RFID networks. IEEE Trans. Autom. Sci. Eng. 2010, 7(4):840-848.View ArticleGoogle Scholar
- Xuan Z, Gang Y: Research and simulate of the optimization anti-collision technology in UHF RFID system. In the International Conference on Electric Information and Control Engineering. Wuhan; 2011:643-646.Google Scholar
- Park J, Chung MY, Lee TJ: Identification of RFID tags in framed-slotted ALOHA with robust estimation and binary selection. IEEE Commun. Lett. 2007, 11(5):452-454.View ArticleGoogle Scholar
- Yeh MK, Jiang JR, Huang ST: Parallel response query tree splitting for RFID tag anti-collision. In the 40th International Conference on Parallel Processing Workshops. Taipei City; 2011:6-15.Google Scholar
- Jiang Y, Zhang R: An adaptive combination query tree protocol for tag identification in RFID systems. IEEE Commun. Lett. 2012, 16(8):1192-1195.View ArticleGoogle Scholar
- Liang C-K, Lin H-M: Using dynamic slots collision tracking tree technique towards an efficient tag anti-collision algorithm in RFID systems. In the Ubiquitous Intelligence & Computing and 9th International Conference on Autonomic & Trusted Computing. Fukuoka; 2012:272-277.Google Scholar
- Gou H, Yang J, Yoo Y: A hybrid technique based query tree protocol for energy efficiency in RFID system. In the 12th International Conference on Computer and Information Technology. Chengdu; 2012:82-87.Google Scholar
- Choi JH, Lee D, Lee H: Query tree-based reservation for efficient RFID tag anti-collision. IEEE Commun. Lett. 2007, 11(1):85-87.View ArticleGoogle Scholar
- Pan L, Wu H: Smart trend-traversal: a low delay and energy tag arbitration protocol for large RFID systems. In IEEE INFOCOM. Rio de Janeiro; 2009:2571-2579.Google Scholar
- Yeh MK, Jiang JR, Huang ST: Adaptive splitting and pre-signaling for RFID tag anti-collision. Comput. Commun 2009, 32(17):1862-1870. 10.1016/j.comcom.2009.07.011View ArticleGoogle Scholar
- Zein-Elabdeen W, Shaaban E: An enhanced binary tree anti-collision technique for dynamically added tags in RFID systems. In the 2nd International Conference on Computer Engineering and Technology. Chengdu; 2010:349-353.Google Scholar
- Chen X, Yao Y, Liu G, Su Y, Chen Y, Miao S: IBTA: an IBT-tree based algorithm for RFID anti-collision. In the International Forum on Information Technology and Applications. Kunming; 2010:407-410.Google Scholar
- Klair DK, Chin KW, Raad R: A survey and tutorial of RFID anti-collision protocols. IEEE Commun. Surv. Tut. 2010, 12: 400-421.View ArticleGoogle Scholar
- Myung J, Lee W: Adaptive binary splitting: a RFID tag collision arbitration protocol for tag identification. Volume 5. 11th edition. Netherlands: Mobile Networks and Applications, Springer; 2006:711-722.Google Scholar
- Myung J, Lee W, Shih TK: An adaptive memoryless protocol for RFID tag collision arbitration. IEEE T. Multimedia 2006, 8(5):1096-1101.View ArticleGoogle Scholar
- Myung J, Lee W, Srivastava J, Shih TK: Tag-splitting: adaptive collision arbitration protocols for RFID tag identification. IEEE T. Parall. Distr. Syst. 2007, 18(6):763-775.View ArticleGoogle Scholar
- Lai YC, Lin CC: A pair-resolution blocking algorithm on adaptive binary splitting for RFID tag identification. IEEE Commun. Lett. 2008, 12(6):432-434.MathSciNetView ArticleGoogle Scholar
- Lai YC, Lin CC: Two blocking algorithms on adaptive binary splitting: single and pair resolutions for RFID tag identification. IEEE/ACM Trans. Network. 2009, 17(3):962-975.View ArticleGoogle Scholar
- Lai YC, Lin CC: Two couple-resolution blocking protocols on adaptive query splitting for RFID tag identification. IEEE Trans. Mob. Comput. 2012, 11(10):1536-1233.View ArticleGoogle Scholar
- Sheng B, Qun L, Mao W: Efficient continuous scanning in RFID Systems. In IEEE INFOCOM. San Diego; 2010:1-9.Google Scholar
- Technical Committee ISO/IEC JTC 1: Information technology - radio frequency identification for item management. Part 6: parameters for air interface communications at 860 MHz to 960 MHz: amendment 1: extension with type C and update of types A and B, ISO/IEC 18000–6:2004/Amd. 1:(E). Geneva: ISO/IEC; 2006.Google Scholar
- William M, Dennis WD, Richard SL: Mathematical Statistics with Applications. 4th edition. Riverside: PWS-KENT Pub. Co.; 1990:171-172.Google Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.