Adaptive collision resolution for efficient RFID tag identification

In large-scale RFID systems, all of the communications between readers and tags are via a shared wireless channel. When a reader intends to collect all IDs from numerous existing tags, a tag identification process is invoked by the reader to collect the tags ’ IDs. This phenomenon results in tag-to-reader signal collisions which may suppress the system performance greatly. To solve this problem, we design an efficient tag identification protocol in which a significant gain is obtained in terms of both identification delay and communication overhead. A k -ary tree-based abstract is adopted in our proposed tag identification protocol as underlying architecture for collision resolution. Instead of just recognizing whether tag collision happens at each interrogation time period, the reader can further obtain the reason of why the collision occurs in the current tag inquiry operation. With this valuable information, we can reduce tag signal collisions significantly and at the same time avoid all of the tag idle scenarios during a tag identification session. The rigorous performance analysis and evaluation show that our proposed tag identification protocol outperforms existing tree-based schemes.


Introduction
As rapid advances in semiconductor technology have enabled the production of low-cost tags (usually in a range of five to ten cents), the Radio Frequency IDentification (RFID) technique is promptly adopted to replace traditional bar-code-based identification mechanism in many daily life applications such as inventory tracking, library book managing, and airport baggage conveying.RFID technology utilizes Radio Frequency (RF) to store and retrieve data via an RF compatible integrated circuit.An RFID application system, in general, consists of a number of readers and tags (or tagged objects).The tags typically derive their energy for operation and data transmission from a reader's electric, magnetic, or electromagnetic field.The reader recognizes tagged objects through a wireless channel in which each tag transmits its unique ID and other information.
Tag reading throughput is critical while scanning tagged items in a large-scale RFID application.Two main performance criteria, i.e., tag reading delay (which should be within acceptable time period) and the energy consumption of RF reader (which should be minimized) [1,2], are used for measuring RFID system throughput.In a normal tag identification process, the existence of numerous tags within the interrogation area of a reader may lead to a great number of signal collisions.This is because the reader and the tags communicate over a shared wireless channel.If more than two tags respond to the reader simultaneously, the signals transmitted by these tags collide with each other.Due to the signal collisions, either the reader cannot recognize tags (or tagged objects) or a retransmission request for tags' IDs is required, and thereby both of communication overhead and identification delay increase during the tag identification process.It is thus important to design an efficient tag collision arbitration mechanism in RFID systems.
In recent years, reader-talk-first (RTF) RFID tag identification protocols have seriously been investigated as new improvements in silicon technology and digital signal processing technology have mitigated or overcome the major shortcomings of RTF protocols: complex circuitry and reader interfe-rence problem, and the capability of RTF protocols on detecting large populations of tags in a short time period has been observed.RTF tag identification protocols are broadly classified into aloha-based schemes [3][4][5][6][7][8][9][10][11][12] and tree-based schemes [2,[13][14][15][16][17][18][19][20][21][22][23][24][25][26][27][28][29].In aloha-based schemes [30,31], a reader predicts the number of current tags within its interrogation area and assigns estimated number of timeslots to all of the tags.The tags randomly pick up their own timeslots for ID transmission.Aloha-based protocols reduce the probability of tag collisions by separating tag responses into distinct timeslots.However, aloha-based mechanisms suffer from the so-called "tag starvation problem," in which certain tags may not be identified for a long time and the time period required for all tags' recognition may not be guaranteed.
On the other hand, tree-based schemes [32,33] utilize the tags-set splitting mechanism based on a prefix value issued by the interrogator, i.e., the reader continuously split a set of currently collided tags into two subsets until each set contains only one tag.This kind of procedure guarantees that all tags' IDs are identified within a certain time period.Nevertheless, the tree-based protocols exploit the information obtained from tags' responses to determine which tag subset should be constructed.It results in higher energy consumption and identification delay due to the vast splitting and invoking operations.In general, for aloha-based protocols synchronization command such as Null is used by reader to signal all tags the end of a timeslot and consequently synchronize all tag responses in line with the time duration of given timeslots.Therefore, a signal collision caused by tag response can only be occurred at a given timeslot when multiple tags send their replies at the same timeslot.For tree-based protocols, bit-by-bit synchronization on tag response is desired such that the reader can detect the colliding bit positions of re-ceived tag responses.This kind of collision detection mechanism can be implemented using synchronization command and specific signal encoding scheme such as Manchester code.
Recently, four more anti-collision studies were presented.Zhu et al. [11] proposed an optimal-framed aloha-based anti-collision protocol, in which the reading process is modeled as a Markov Chain and the optimal reading strategy is accordingly derived by first-passagetime analysis.Later, Li et al. [12] presented an alohabased anti-collision scheme.The capture-aware backlog estimation method and optimum frame length equation are exploited to analyze the maximum achievable throughput of their scheme.Jia et al. [29] developed an efficient tree-based tag identification protocol, where a collision tree is used to capture the complete communications between the reader and the tags.The novelty of their me-thod is that the prefixes generation and tag group splitting are based on the collided bit directly.
Porta et al. [28] proposed a new metric, i.e., time system efficiency, to evaluate anti-collision protocols.This metric provides a direct measure of the time taken to read a group of tags.In this study, we propose a treebased tag identification protocol, called k-ary Tree-based Anti-collision Scheme (k-TAS) to pursue better identification efficiency.In k-TAS, the reader first recognizes whether collision happens and, if it happens, the reason of why the collision occurs at each tag inquiry time period.Within a tree-based structure, the reader knows which descendant nodes collide with the currently visited node; in the next interrogation time, the reader can only focus on those nodes.As a result, this design allows the reader to avoid visiting all idle nodes.The reduction of tag signal collision and the elimination of all idle scenarios reduce the identification delay and communication overhead compared to existing treebased protocols.Our performance analysis and evaluation show that k-TAS is efficient in reducing tag collisions while preserving low communication overhead.
This article is organized as follows.Section 2 introduces three application scenarios which are relevant to this study.A new RFID tag identification protocol (i.e., k-TAS) is introduced in Section 3. The performance analysis on the identification delay and communication overhead of k-TAS is addressed in Section 4. Next, Section 5 presents the simulation results of our proposed k-TAS.Finally, we give a conclusion in Section 6.

Relevant applications
As RFID technology provides an efficient and accurate way to identify physical resources and at the same time preserves very attractive deployment characteristics to industries such as simple system installation and deployment process, wireless accessibility and low-cost manufacture, various innovative applications have promptly been developed.Each of these RFID applications might require distinct system criteria in terms of the knowledge of the number of current tags, the duration of tag identification and the tag reading speed [9].We elaborate on three application scenarios which are most relevant to our study as follows.

Number of tags: known
Duration of tag identification: known Reading speed: fast In this case, we describe a scenario where there is a known number of tags in the interrogation field of a reader with a fast reading speed and known duration for tag identification.This scenario might occur in the following two examples: (1) a luggage management center in which lots of tagged luggage are being transported into target airplane via the conveyor, and (2) a luggage storage place of ready-to-take-off airplane where all passengers' luggage is required to be assured again.In such scenario, the reader must be able to recognize tags as soon as possible in order to accelerate boarding activities.

Number of tags: known
Duration of tag identification: known Reading speed: slow This section illustrates a scenario that might occur in a warehouse where companies could immediately know the location of any item as well as the management of inventory, such as goods boxes leaving, entering, and monitoring.In such scenario, there are a known number of tags within the reader's interrogation area according to a goods list in the backend database.The reading speed could be slow as the reader might be either fixed on specific location, such as goods stand, or a mobile handheld device.Accordingly, the duration of tag identification might be known.

Number of tags: known
Duration of tag identification: unknown Reading speed: fast This case envisions future merchandise transporting in which goods are attached with tags on themselves.This case might occur at the retail distribution center where all tagged goods are being transported on a forklift through a portal embedded with a reader.Companies or retails could promptly recognize whether all transported merchandise exists at current time period by scanning attached tags.Hence, the reader requires identifying all tags as soon (and correctly) as possible when the tagged merchandise passes through the monitoring portal.

New tag identification protocol
In this study, we focus on the tag identification in above RFID applications in which the reader must be able to identify all tags as fast as possible.We consider a target system where a single RFID reader intends to efficiently communicate with a pile of passive tags (denoted as q tags throughout this article) within in its interrogation range for object tracking and monitoring.In addition, k-TAS requires that all transmitted data between the reader and all involved tags are synchronized during each interrogation time period.Current RFID technologies [4,6,16,28,[34][35][36][37] have demonstrated this possibility by exploiting a Manchester encoding technique during each query session.In the following, we formally define some terminologies.

• Session
A session is the period from the moment the reader initializes the tag identification procedure to the time of all tags are actually recognized by the reader.Let S l denote the lth session.

• Cycle
An interrogation cycle is the duration when the reader transmits a triggering signal command to all tags and the tags respond with their corresponding output.According to the number of tag responses, a cycle is idle, readable, or collided when no tag responds, one tag responds, or multiple tags respond, respectively.Note that in the abstract tree structure of tag identification protocol, such as Query Tree protocol, Binary Search (BS) Scheme, or k-TAS, a cycle can be represented as a node.Note that a session usually consists of numerous interrogation cycles.

k-Ary tree-based anti-collision scheme (k-TAS)
In k-TAS, we exploit an abstract k-ary tree structure to resolve tag signal collisions more effectively.Based on triggering command issued by the reader, involved tags insert useful piece information, i.e., a bit-sequence derived from some part of their IDs, in the corresponding response, i.e., the tags will respond a new data sequence, which possesses extra (and useful) information for collision resolution, to the reader instead of just their IDs.This design allows the reader to greatly reduce tags' response collisions and accordingly save more operation time and power energy during tag identifi-cation procedure.Figures 1 and 2 show the pseudocode at the tag side and the reader side, respectively, in k-TAS.We illustrate the detailed processes of k-TAS in the following.
Step 1: At the beginning of lth session S l , the normal identification procedure is initially invoked when the reader broadcasts a Start command along with a predefined parameter i to all existing tags (lines 7-8 of Figure 2), where i = log 2 k.Once receiving this Start command, each tag t j retrieves a bit block B j (lines 6-7 of Figure 1), which is the first i bits of its identity ID j , and calculates the decimal value M j of B j (line 15 of Figure 1).A distinct Collision Resolution String (CRS j ) is then generated by each tag t j and sent to the reader as one part of the response.A bit sequence generator, which can be implemented with simple circuit logics and a bit counter, is utilized by a tag t j to construct its CRS j .The generation process of CRS j is as follows.Every time the bit sequence generator produces and sends out a bit, the bit counter is then increased by 1.The generator only generates bit 1 when the value of its bit counter is equal to M j .Otherwise, bit 0 is generated by the bit generator.Each tag t j performs these procedures iteratively until the bit-length of CRS j is 2 i = k.
Once completing CRS j , each tag t j resets the value of its bit counter to zero and appends its partial identity PID j behind the CRS j to construct a Response String (RS j ), i.e., RS j = CRS j ||PID j .Note that PID j is constructed by removing the first i bits from t j 's identity ID j and || denotes a concatenate operation.Finally, each tag t j sends the bit string RS j to the reader as a response.The above processes can be referred to lines 16-17 of Figure 1.
Step 2: As a Manchester encoding technique is adopted for all data transmission, the communication channel among the reader and the tags at each interrogation cycle is synchronized.As a result, the reader can easily detect the positions of collided bits among received RS j bit strings from all responding tags.Then, the reader recognizes all M j values based on the collided bit positions among CRS j bit strings contained in received RS j bit strings (lines 14-16 of Figure 2).Note that if no bit collision occurs among received RS j bit strings at the first time of tag enquiry, it means that the reader identifies a tag which is the only one tag within the reader's interrogation area.Next, the reader recovers all recognized M j values to the original bit block B j values, and stores these values (lines 20-23 of Figure 2).For each B j , a command Query along with a prefix value n is broadcasted by the reader to all tags as tag ID interrogation in which n = B j (lines 10-13 of Figure 2).Based on the Query command and prefix value n sent from the reader, the tags act as follows.
Step 3: Once receiving Query command, only tags which possess the same prefix value D j , i.e., D j = n, in its identity ID j will respond.Each responding tag t j retrieves i conti-nuous bits, which is behind the prefix value D j in its ID j , as its bit block B j (lines 10-11 of Figure 1).Next, the involved tag t j computes the decimal value M j of B j .Based on the derived value M j , each tag t j generates a corresponding output data sequence CRS j and RS j = CRS j ||PID j in which PID j is t j 's identity ID j except prefix value D j and the conti-nuous i bits behind D j .Note that the generation procedure of CRS j is the same with that in Step 1. Finally, each involved tag simultaneously sends its computed bit string RS j to the reader as the responses.These processes can be referred to lines 15-17 of Figure 1.Step 4: With the synchronized channel, the reader first detects all positions of collided bits among received CRS j bit strings and recognizes all M j values.Based on the recognized M j values, the reader can recover the original bit block B j values and store these recovered values (lines 20-23 of Figure 2).The reader then broadcast a Query command along with a new prefix value n to all tags again (lines 10-13 of Figure 2).If no bit  collision occurs among received RS j bit strings, it denotes that the reader actually identifies one tag within its interrogation area (line 36 of Figure 2).After that, the reader goes back to other unvisited (and collided) bit positions among CRS j identified at the last cycle and performs the collision resolution mechanism.The above identification process will be recursively operated until all existing tags have been exactly identified.

The operation at tag side in k-TAS
In lines 26-33 of Figure 2, we illustrate a scenario of that there is no collision occurred among received CRS j bit strings but some bit collisions happen among received PID j bit strings.In such case, the reader requires not only resolving currently involved block B j values, but also retrieving the first successive bit strings o from the first bit to the first collided bit position among received PID j bit strings.The block values B j , which consists of current prefix value n and a bit string o retrieved from PID j , will be maintained at reader side for next tag inquiry cycle.This design allows the reader to save more signal collision resolution steps in k-TAS by ignoring all non-collided bit position (or non-collided intermediate node in the abstract tree structure).Otherwise, for the aspect of tree structure, the reader must waste time on visiting some non-collided intermediate node without any useful feedback.

An example of k-TAS
Table 1 demonstrates a normal tag identification process of k-TAS with parameter i = 3.The identities of example tags are as follows.
Tag X, ID X = 000001011; Tag W, ID W = 000010100; Tag Y, ID Y = 000001000; Tag Z, ID Z = 001111101.At the beginning of session S l , the reader broadcasts a Start command to all tags.Once receiving this command, tag X, W, Y, and Z retrieve the first three bits from its own identity to construct B X = 000, B W = 000, B Y = 000, and B Z = 001, respectively.Next, based on the value B j , each tag t j calculates the corresponding output values M j , CRS j , and RS j .Finally, each tag t j send its own RS j back to the reader simultaneously.Note that the communication channel among the reader and all existing tags is synchronized.
Upon obtaining the bit strings RS X , RS W , RS Y , and RS Z , the reader detects two collided bit positions, i.e., 0 and 1, among the CRS j bit strings contained in the incoming data sequences.Note that the status of stack Q and TQ is NULL so far.Next, the reader retrieves two CRS j bit strings from the result of resolving received RS j bits sequences, and restores the corresponding values M j and B j .Meanwhile, the stack Q and TQ is invoked to maintain derived B j strings for memorizing all unvisited collided bit positions.
Retrieved CRS j 00000001; 00000010 Restored M j 0; 1 Restored B j 000; 001 Current status of stack Q 000; 001 Current status of stack TQ j; j Since stack Q is not NULL, the reader first takes an item, i.e., m = 000 and n = j, out of Q and TQ and produces a new system value n = n||m = 000 as a prefix value for next tag ID inquiry.A Query command with this derived value n is then issued to all tags.
Current status of stack Q 001 Current status of stack TQ j After getting the Query command with prefix value n = 000, only tags, i.e., X, W, and Y, which possess the same prefix 000 will respond.In such case, each responding tag t j individually retrieves three continuous bits, which is behind the prefix value D j = 000 in its ID j , as the bit block B j and calculates the decimal value M j of B j .Next, the values CRS j and RS j are derived.Finally, tags X, W, and Y send back the response bit sequences to the reader simultaneously.
From the incoming RS X , RS W , and RS Y bit strings, the reader recognizes two collided bit positions, i.e., 1 and 2, among the received CRS j bit strings.Similarly, the reader retrieves these two identified CRS j bit strings, i.e., 00000010 and 00000100, and maintains the corresponding values B j , i.e., 001 and 010, into stack Q.At the same time, TQ is inserted with currently involved prefix values 000 twice.
Current status of stack Q 001; 010; 001 Current status of stack TQ 000; 000; j Due to the non-NULL status of stack Q, the reader retrieves two objects m = 001 and n = 000 from Q and TQ.Next, the reader calculates a new prefix value n = n || m = 000001 and broadcasts it with a Query command to all tags.
Current status of stack Q 010; 001 Current status of stack TQ 000; j With the incoming value 000001, tags X and Y which own the same prefix value will retrieve a three bits block B j behind the prefix value D j = 000001 in their identities, and compute the decimal value M j of B j .Next, tags X and Y derive the corresponding response se-quences CRS X , CRS Y , RS X , and RS Y , and send them back to the reader at the same time.
B X = 011, M X = 3, CRS X = 00001000, RS X = CRS X || PID X = 00001000 || j = 00001000 Similarly, the reader will recognize two collided bit positions, i.e., 0 and 3, among the received CRS j bit strings which are 00001000 and 00000001.Then, the reader computes the corresponding values B j , i.e., 000 and 011, and maintains them in stack Q.Note that PID X and PIX Y are empty at the responding period.Meanwhile, current involved prefix values 000001 is maintained in TQ.
Current status of stack Q 000; 011; 010; 001 Current status of stack TQ 000001; 000001; 000; j Because stack Q is non-NULL, the values m = 000 and n = 000001 are extracted from Q and TQ, respectively.Next, the reader issues a prefix value n = n || m = 000001000 with a Query command to all tags and only tag Y will respond and be identified by the reader.
Current status of stack Q 011; 010; 001 Current status of stack TQ 000001; 000; j In next step, the reader issues another new prefix value 000001011, which is constructed by the values m = 011 and n = 000001 in the top of Q and TQ, with a Query command to all tags.In that case, tag X is able to be recognized at current cycle.
Current status of stack Q 010; 001 Current status of stack TQ 000; j Similar to above procedures, the reader detects that stack Q is not NULL and then retrieves m = 010 and n = 000 from stacks Q and TQ.With the derived prefix value n = n || m = 000010, the reader will identify the tag W actually.
Current status of stack Q 001 Current status of stack TQ j Finally, the reader takes the last item, i.e., 001 and j, from stacks Q and TQ and creates a prefix value 001 which is soon issued to all current tags.Tag Z then sends a response bit sequence 10000000101 back to the reader.With this response, the reader can actually identify tag Z.
As the current status of stacks Q and TQ is NULL, the reader understands that all tags have been identified successfully.After that, the reader broadcasts a Terminate command to cease current tag identification session.
Current status of stack Q NULL Current status of stack TQ NULL

Performance analyses
In this section, we analyze the identification delay and the communication overhead for recognizing all tags in k-TAS in terms of the amount of interrogation cycles and total transmitted bits [19,20,23,25].Let A r,l denote the set of a tags within the reader r's interrogation range during the lth tag identification session S l .The identification delay, i.e., d total (A r,l ), caused by recognizing A r,l is as follows.Note that d reader is the delay of transmission time of the reader's Query command including any appended information, d tag is the delay of delivering the tag ID, d cycle is the average delay of an interrogation cycle and T(A r,l ) is the total interrogation cycles in a session when the reader r recognizes A r,l .
Lemma 1.The number of collided cycles in the b th layer of target abstract k-ary tree structure when k-TAS recognizes a tags in A r,l , C k-ary (a,b), is Proof: Let I k-ary (a,b) and R k-ary (a,b) be the number of idle cycles and readable cycles, respectively, in the b th layer of target abstract k-ary tree structure when k-TAS recognizes A r,l .As the total nodes in the b th layer of target k-ary tree is k b , I k-ary (a, b) and R k-ary (a, b) can be derived as follows.
Hence, from ( 2) to (3), we obtain Lemma 2. Let C k-ary (A r , l ) be the number of collided nodes of k-TAS for recognizing A r,l .Then, the number of required interrogation cycles when r recognizes A r,l under a k-ary tree structure, T k-ary (A r,l ), is Proof: Since k-TAS always splits the set of currently collided tags into k subsets, the whole tag identification procedure of k-TAS can be represented as a k-ary tree when the reader r recognizes A r,l .It is obvious that in k-TAS all idle cycles are ignored.Therefore, in the target k-ary tree corresponded to k-TAS, all the intermediate nodes are collided nodes and all the leaf nodes are readable nodes.
Theorem 1.For any a, , where i = log 2 k, and c is the bit-length of each tag ID.Proof: From Lemmas 1 and 2, the number of collided nodes while k-TAS recognizes A r,l , C k-ary (A r , l ), can be derived as Theorem 2. Let S k-ary (A r , l ) be the amount of transmitted bits transmitted by the reader and all tags for recognizing A r,l in k-TAS.Then, the total transmitted bits when r recognizes A r,l under a k-ary tree structure, S k-ary (A r , l ), is where i = log 2 k, and c is the bit-length of each tag ID.
Proof: Let S k-ary (a,b) be the amount of transmitted bits collected from the depth b th layer of target abstract kary tree structure when k-TAS recognizes A r,l .As mentioned before, the nature of k-TAS always makes the corresponding abstract k-ary tree structure possesses only collided nodes and readable nodes.In k-TAS, for each reader inquiry and each tag response, the transmitted bits is i•b and 2 i +(c-i•b-i), respectively.With the results of Lemma 1 and Equation 3, we obtain In brief summary, we learn from Theorems 1 and 2 that the total number of required interrogation cycles T k-ary (A r , l ) and the total amount of transmitted bits S k- ary (A r , l ) for k-TAS are mainly dependent on the bit length of tag ID c, the value of k and the number of tags a.When the number of tags is large enough, for example a = 200, and the bit length of tag ID is long enough, for example c = 96, then the main performance difference between 2-ary protocols (i = 1) and k-ary protocol (k-TAS) where k = 2 i and i ≥ 2 are dependent on the computation of comparison with 2-ary protocols (i = 1).

Performance evaluation
In this section, we evaluate the performance of k-TAS in comparison with existing tree-based tag identification methods, i.e., Query Tree (QT) [13,14,21,27], BS [16,34], RN16QT [17], and ETIP [38], which are most relevant to k-TAS.The main criteria for evaluating the efficiency during a normal tag identification session are the identification delay and communication overhead [19,20,[23][24][25].Here, we utilize the total interrogation cycles required in a tag recognition session to represent the identification delay.In addition, the metric of the number of bits transmitted by the reader and the tags in a session is critical for influencing the system performance of a tree-based tag identification protocol.This important metric usually can be denoted as the communication overhead.Our simulation was written with C# under Visual Studio .NET environment.For simplicity, event dispatcher is implemented in our simulation tool to dispatch reader commands and tag responses as events.The reader and each tag have their own event queue to store events dispatched to it.All events are generated with timestamp.A global timer is implemented.The reader gathers all tag response events occurred at the same timestamp for further data synchronization and signal collision detection.First, we investigate the effect of the parameter i on the performance of k-TAS in which the best candidate value for i is derived.Second, we demonstrate that the performance of k-TAS is superior to existing tree-based tag identification schemes under various numbers of tags and bit-lengths of tag ID.

Impact of the system parameter i
Figure 3 demonstrates that the identification delay of k-TAS under different number of tags and various parameters i in terms of total interrogation cycles.In general, as the number of tags increases, the collided cycles will raise and this scenario causes longer identification delay.Since k-TAS does not possess any idle cycles, the factor of the number of collided cycles will play a significant role to influence the performance of k-TAS.Note that the readable cycles in k-TAS is always equal to the number of the existing tags.More concretely, compared to traditional binary tree-based protocols, k-TAS can resolve tag signal collision more effectively, i. e., splitting currently collided tags set into k subsets instead of only two subsets.In addition, k-TAS can understand why the collision happens at each collided cycle, i.e., which descendant nodes collide with currently visited node in the abstract k-ary tree structure.This design allows the reader to avoid all idle scenarios.Hence, as shown in Figure 3, k-TAS can save at least 38.8 and 12% interrogation cycles when comparing to QT and BS, respectively.As the value of parameter i increases, the improvement is more significant.In Figure 4, we find that QT, BS, and k-TAS (i = 5) possess the same level of performance owing to similar amount of  transmitted bits.Only k-TAS with i = 2, 3, or 4 can outperform QT and BS, where at least 9.8-29.3% of transmitted bits can be eliminated.These results lead to a conclusion of that the best candidate value for i should be 2 or 3 due to the system efficiency tradeoff between the total interrogation cycles and the amount of transmitted bits.Note that i = 4 is an acceptable value, however, it cannot provide the best performance due to the huge transmitted bits.In the next section, we present the comparisons among k-TAS (i = 2 or 3), QT, BS, ETIP, and RN16QT with different number of tags in our simulation program.

The performance comparisons among k-TAS and other relevant studies
Figures 5 and 6 show the performance comparison among k-TAS and other relevant tree-based tag identification protocols [13,14,16,17,21,27,34] in terms of the total interrogation cycles and the amount of transmitted bits.From Figure 5, we know that k-TAS requires fewer interrogation cycles for identifying all existing tags than other related methods.The improvement is significant as k-TAS eliminates around 39.8-50%, 11.8-28.6%,and 36.1-47% of interrogation cycles in comparison with QT, BS, and RN16QT, respectively.This result is because k-TAS reduces a significant number of collided cycles by arbitrating signal collision with k-splitting technique instead of two-splitting mechanism adopted in QT, BS, and RN16QT.This nature allows k-TAS to outperform other relevant studies during a collision resolution procedure on the aspect of the interrogation cycles.On the other hand, since k-TAS and ETIP both utilize k-splitting-based arbitration to resolve each signal collision, their protocol efficiency on identi-fication delay are quite similar, i.e., the total interrogation cycles required in k-TAS is almost the same as ETIP.Next, as k-TAS uses a series of synchronized challenge-response bit sequences, such as CRS j and RS j , to communicate with the tags, all idle cycles in a tag identification process can be eliminated as ETIP and BS do.This advantage makes k-TAS, ETIP, and BS more efficient than QT and its variant RN16QT.In other words, since k-TAS, ETIP, and BS can ignore all idle cycles instead of wasting time to visit them as QT-based scheme does, the improvement on identification efficiency is promised.Figure 6 presents the comparison among k-TAS and related studies in terms of the amount of transmitted The identification delay of k-TAS with different i.Note that the length of ID is 96 bits.

Figure 4
The communication overhead of k-TAS with different i.Note that the length of ID is 96 bits.
Figure 5 The identification delay of k-TAS compared to other relevant studies in which the length of ID is 96 bits.

Figure 6
The communication overhead of k-TAS compared to other relevant studies in which the length of ID is 96 bits.

Figure 7
The identification delay of k-TAS compared to other relevant studies in which the length of ID is 64 bits.In comparison with QT, BS, and RN16QT, as less collided cycles are required in k-TAS, the corresponding transmitted bits collected from all collided cycles are less.This enhancement is from the efficient k-splitting scheme.Next, we find that the system efficiency of ETIP is not well-performed during tag signal responses collection and resolution.Therefore, the communication overhead of ETIP is large.This limitation inspires us to re-design a novel and efficient tag response collection mechanism to gain better protocol performance.In addition, since no idle cycle exists in k-TAS, ETIP, and BS, the number of corresponding transmitted bits from idle cycle is zero in these three protocols, and the efficiency on communication overhead is guaranteed.Table 2 introduces the main characteristics and performance comparison among k-TAS and other related protocols.The second column of Table 2 presents the assumption of each method and corresponding collision detection technique.Obviously, the feasibility of k-TAS is reasonable as BS protocol does.Regarding the collision resolution scheme in the third column, k-TAS and ETIP   both exploit efficient k-splitting mechanism while the other methods adopt inefficient 2-splitting scheme.On the aspect of identification delay and communication overhead, k-TAS obviously outperforms other methods and is thus more practical for real world application.

Impact of bit-length of tag ID
This section describes the performance improvement of k-TAS under different bit-length of tag ID and different number of tags.From Figures 5, 7, and 8 and Table 3 it is obvious that the performance improvement of k-TAS is independent with the factor of tag ID's bit-length on the aspect of the identification delay, i.e., the number of interrogation cycles.We infer that tree-based tag identification protocol can identify all tags without visiting the leaf node of abstract tree structure in a tag inquiry session when the number of tags is not many.Nevertheless, as shown in Figures 6, 9, and 10 and Table 4, the total transmitted bits are significantly increased and the performance improvement of k-TAS is decreased as the bitlength of tags ID becomes larger.This is because the amount of transmitted bits collected from all readable cycles becomes a significant part compared to the total transmitted bits in k-TAS when the bit-length of tag ID is longer.In that case, the effect of the transmitted bits collected from all collided cycles is comparatively smaller than that collected from all readable cycles while evaluating the communication overhead in k-TAS.Note that no idle cycles exist in a tag identification process of k-TAS.

Conclusions
Collision resolution is critical for efficiency improvement in implementing an RFID tag identification protocol.In this article, we present a novel anti-collision protocol, i.e., k-TAS, for identifying passive tags in which an adaptive collision resolution scheme is adopted to make whole tag identification process more efficient.The nature of k-TAS exploits the information on whether currently visited node is collided and, if yes, which descendant nodes collide with it.Such information is extracted from all tags' response data at each inquiry time period.This design successfully avoids wasting time on many collided cycles and all idle cycles in k-TAS and accordingly increases the system throughput during tag identification procedure.Next, we analyze the system performance of k-TAS in both theory and simulations, which show that our proposed schemes significantly reduce identification delay and communication overhead at each tag identifying process.In the future, we would like to design a dynamic collision resolution mechanism for tag identification in which the system parameter i could be adjusted dynamically to pursue better protocol performance.Moreover, to identify whether an optimal value of parameter i exists and is suitable for any RFID application environment is another interesting research topic for us.

Figure 8
Figure 8  The identification delay of k-TAS compared to other relevant studies in which the length of ID is 256 bits.

Figure 9
Figure 9The communication overhead of k-TAS compared to other relevant studies in which the length of ID is 64 bits.

Figure 10
Figure 10The communication overhead of k-TAS compared to other relevant studies in which the length of ID is 256 bits.

Table 1
An example of k-TAS with i = 3 *x means the positions of collided bits among received RS j .

Table 2
Comparison among k-TAS and other relevant studies

Table 3
Improved ratio of the number of interrogation cycles in k-TAS under different bit-length of tag ID and different number of tags

Table 4
Improved ratio of the amount of transmitted bits in k-TAS under different bit-length of tag ID and different number of tags Chen et al.EURASIP Journal on Wireless Communications and Networking 2011, 2011:139 http://jwcn.eurasipjournals.com/content/2011/1/139