Skip to main content

Adaptive collision resolution for efficient RFID tag identification

Abstract

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.

1. 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–12] and tree-based schemes [2, 13–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-passage-time analysis. Later, Li et al. [12] presented an aloha-based 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 tree-based 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 tree-based 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.

2. 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.

2.1. Airport baggage checking

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.

2.2. Inventory managing

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.

2.3. Transported merchandise tracking

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.

3. 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–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 l th 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.

3.1. 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.

Figure 1
figure 1

Pseudocode of k -TAS: tag's operation.

Figure 2
figure 2

Pseudocode of k -TAS: reader's operation.

Step 1: At the beginning of l th 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 = log2k. 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.

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.

3.2. 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.

Table 1 An example of k-TAS with i = 3

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.

M X = 0, CRS X = 00000001,

RS X = CRS X || PID X = 00000001001011

M W = 0, CRS W = 00000001,

RS W = CRS W || PID W = 00000001010100

M Y = 0, CRS Y = 00000001,

RS Y = CRS Y || PID Y = 00000001001000

M Z = 1, CRS Z = 00000010,

RS Z = CRS Z || PID Z = 00000010111101

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 → ϕ; ϕ

Since stack Q is not NULL, the reader first takes an item, i.e., m = 000 and n = Ï•, 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 → ϕ

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.

B X = 001, M X = 1, CRS X = 00000010,

RS X = CRS X ||PID X = 00000010011

B W = 010, M W = 2, CRS W = 00000100,

RS W = CRS W ||PID W = 00000100100

B Y = 001, M Y = 1, CRS Y = 00000010,

RS Y = CRS Y ||PID Y = 00000010000

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; ϕ

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; ϕ

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 || Ï• = 00001000

B Y = 000, M Y = 0, CRS Y = 00000001,

RS Y = CRS Y || PID Y = 00000001 || Ï• = 00000001

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; ϕ

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; ϕ

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; ϕ

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 → ϕ

Finally, the reader takes the last item, i.e., 001 and Ï•, 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.

M Z = 7, CRS Z = 10000000,

RS Z = CRS Z || PID Z = 10000000101

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

4. 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 α tags within the reader r's interrogation range during the l th tag identification session S l . The identification delay, i.e., dtotal(A r,l ), caused by recognizing A r,l is as follows. Note that dreader is the delay of transmission time of the reader's Query command including any appended information, dtag is the delay of delivering the tag ID, dcycle 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 .

d total ( A r , l ) = ∑ ( d reader + d tag ) ≈ T ( A r , l ) ⋅ d cycle
(1)

Lemma 1. The number of collided cycles in the β th layer of target abstract k-ary tree structure when k-TAS recognizes α tags in A r,l , C k- ary(α,β), is

C k  -  ary ( α , β ) = k β 1 - 1 k β α - α k β â‹… 1 - 1 k β α - 1

Proof: Let I k- ary(α,β) and R k- ary(α,β) be the number of idle cycles and readable cycles, respectively, in the β th layer of target abstract k-ary tree structure when k-TAS recognizes A r,l . As the total nodes in the β th layer of target k-ary tree is kβ , I k- ary(α, β) and R k- ary(α, β) can be derived as follows.

I k  -  ary ( α , β ) = k β â‹… 1 - 1 k β α
(2)
R k - ary ( α , β ) = α ⋅ 1 - 1 k β α - 1
(3)

Hence, from (2) to (3), we obtain

C k - ary ( α , β ) = k β - I k - ary ( α , β ) - R k - ary ( α , β ) = k β - k β ⋅ 1 - 1 k β α - α ⋅ 1 - 1 k β α - 1 = k β [ 1 - 1 - 1 k β α - α ⋅ 1 k β ⋅ 1 - 1 k β α - 1 ]

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

T k - ary ( A r , l ) = α + C k - ary ( A r , l )

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 α,

T k - a r y ( A r , l ) = α + ∑ β = 0 χ i − 1 k β [ 1 − ( 1 − 1 k β ) α − α k β − ( 1 − 1 k β ) α − 1 ] , where i = log2k, and χ 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

C k -ary ( A r , l ) = ∑ β = 0 χ i − 1 C k -ary ( α , β ) = ∑ β = 0 χ i − 1 k β [ 1 − ( 1 − 1 k β ) α − α k β ⋅ ( 1 − 1 k β ) α − 1 ]

Therefore,

T k -ary ( A r , l ) = α + ∑ β = 0 χ i − 1 k β [ 1 − ( 1 − 1 k β ) α − α k β ⋅ ( 1 − 1 k β ) α − 1 ]

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

S k − a r y ( A r , l ) = ∑ β = 0 χ i − 1 ( 2 i + χ − i ) ⋅ k β ⋅ [ 1 − ( 1 − 1 k β ) α ] , where i = log2k, and χ is the bit-length of each tag ID.

Proof: Let S k -ary(α,β) be the amount of transmitted bits collected from the depth β th layer of target abstract k-ary 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·β and 2 i +(χ-i·β-i), respectively. With the results of Lemma 1 and Equation 3, we obtain

S k - a r y ( α , β ) = { i ⋅ β + [ 2 i + ( χ - i ⋅ β - i ) ] } ⋅ [ R k - ary ( α , β ) + C k - ary ( α , β ) ] = ( 2 i + χ - i ) ⋅ k β ⋅ 1 - 1 - 1 k β α

Therefore,

S k − a r y ( A r , l ) = ∑ β = 0 χ i − 1 S k − a r y ( α , β ) = ∑ β = 0 χ i − 1 ( 2 i + χ − i ) ⋅ k β ⋅ [ 1 − ( 1 − 1 k β ) α ]

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 χ, the value of k and the number of tags α. When the number of tags is large enough, for example α = 200, and the bit length of tag ID is long enough, for example χ = 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 ∑ β = 0 χ i − 1 k β . It is obvious that the final value of ∑ β = 0 χ i − 1 k β is much smaller when i ≥ 2 in comparison with 2-ary protocols (i = 1).

5. 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–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.

5.1. 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.

Figure 3
figure 3

The identification delay of k -TAS with different i. Note that the length of ID is 96 bits.

Figure 4
figure 4

The communication overhead of k -TAS with different i. Note that the length of ID is 96 bits.

5.2. 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 5
figure 5

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

Figure 6
figure 6

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

Figure 6 presents the comparison among k-TAS and related studies in terms of the amount of transmitted bits. Obviously, k-TAS significantly outperforms QT, BS, RN16QT, and ETIP by reducing around 19.5-29.3%, 17.6-29.9%, 26.5-35.7%, and 18.8-27.6% transmitted bits, respectively, in total. 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.

Table 2 Comparison among k-TAS and other relevant studies

5.3. 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 bit-length 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.

Figure 7
figure 7

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

Figure 8
figure 8

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

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
Figure 9
figure 9

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

Figure 10
figure 10

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

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

6. 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.

References

  1. Chamtac I, Petrioli C, Redi J: Energy-conserving access protocols for identification networks. IEEE/ACM Trans Netw 1999, 7(1):51-59. 10.1109/90.759318

    Article  Google Scholar 

  2. Namboodiri V, Gao L: Energy-aware tag anti-collision protocols for RFID systems. IEEE Trans Mobile Comput 2010, 9(1):44-59.

    Article  Google Scholar 

  3. Cheng T, Jin L: Analysis and simulation of RFID anti-collision algorithms. Proceedings of 9th International Conference on Advanced Communication Technology 2007, 697-701.

    Chapter  Google Scholar 

  4. EPCâ„¢ Radio-Frequency Identification Protocols Class 1 Generation-2 UHF RFID Protocol for Communication at 860-960 MHz Version 1.0.9. EPCGlobal Inc; 2005.

  5. Floerkemeier C, Wille M: Comparison of transmission schemes for framed ALOHA based RFID protocols. Proceedings of International Symposium on Applications and the Internet Workshops 2006, 92-97.

    Chapter  Google Scholar 

  6. 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). 2006.

  7. Klair DK, Chin KW, Raad R: On the suitability of framed slotted aloha based RFID anti-collision protocols for use in RFID-enhanced WSNs. Proceedings of 17th International Conference on Computer Communications and Networks 2007, 583-590.

    Google Scholar 

  8. Klair DK, Chin KW: A novel anti-collision protocol for energy efficient identification and monitoring in RFID-enhanced WSNs. Proceedings of 17th International Conference on Computer Communications and Networks 2008, 1-8.

    Google Scholar 

  9. Maguire Y, Pappu R: An optimal Q-algorithm for the ISO 18000-6C RFID protocol. IEEE Trans Autom Sci Eng 2009, 6(1):16-24.

    Article  Google Scholar 

  10. Wong CP, Feng Q: Grouping based bit-slot ALOHA protocol for tag anti-collision in RFID systems. IEEE Commun Lett 2007, 11(12):946-948.

    Article  Google Scholar 

  11. Zhu L, Yum TSP: Optimal framed aloha based anti-collision algorithms for RFID systems. IEEE Trans Commun 2010, 58(12):3583-3592.

    Article  Google Scholar 

  12. Li B, Wang J: Efficient anti-collision algorithm utilizing the capture effect for ISO 18000-6C RFID protocol. IEEE Commun Lett 2011, 15(3):352-354.

    Article  Google Scholar 

  13. 860 MHz - 930 MHz Class 1 Radio Frequency Identification Tag Radio Frequency and Logical Communication Interface Specification Candidate Recommdation Version 1.0.1. Au-to-ID Center; 2002.

  14. Chiang KW, Hua C, Yum TS Peter: Prefix-randomized query-tree protocol for RFID systems. Proceedings of IEEE International Conference on Communications 2006, 1653-1657.

    Google Scholar 

  15. Cho JS, Shin JD, Kim SK: RFID tag anti-collision protocol: query tree with reversed IDs. Proceedings of 10th International Conference on Advanced Communication Technology 2008, 225-230.

    Google Scholar 

  16. Choi HS, Cha JR, Kim JH: Fast wireless anti-collision algorithm in ubiquitous ID system. Proceedings of IEEE 60th Vehicular Technology Conference 2004, 4589-4592.

    Google Scholar 

  17. Choi JH, Lee D, Lee H: Query tree-based reservation for efficient RFID tag anti-collision. IEEE Commun. Lett 2007, 11(1):85-87.

    Article  Google Scholar 

  18. Draft Protocol Specification for a 900 MHz Class 0 Radio Frequency Identification Tag. Auto-ID Center; 2003.

  19. 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.

    Article  MathSciNet  Google Scholar 

  20. Lai YC, Lin CC: Two blocking algorithms on adaptive binary splitting: single and pair resolutions for RFID tag identification. IEEE/ACM Trans Netw 2009, 17(3):962-975.

    Article  Google Scholar 

  21. Law C, Lee K, Siu KY: Efficient memoryless protocol for tag identification. Proceedings of the 4th International Workshop on Discrete Algorithm and Methods for Mobile Computing and Communication 2000, 75-84.

    Google Scholar 

  22. Liu L, Xie ZH, Xi JT, Lai SL: An improved anti-collision algorithm in RFID system. Proceedings of 2nd International Conference on Mobile Technology, Applications and Systems 2005, 1-5.

    Google Scholar 

  23. Myung J, Lee W, Srivastava J: Adaptive binary splitting for efficient RFID tag anti-collision. IEEE Commun Lett 2006, 10(3):144-146. 10.1109/LCOMM.2006.1603365

    Article  Google Scholar 

  24. Myung J, Lee W, Shih TK: An adaptive memoryless protocol for RFID tag collision arbitration. IEEE Trans Multimedia 2006, 8: 1096-1101.

    Article  Google Scholar 

  25. Myung J, Lee W, Srivastava J, Shih TK: Tag-splitting: adaptive collision arbitration protocols for RFID tag identification. IEEE Trans Parallel Distrib Syst 2007, 18(6):763-775.

    Article  Google Scholar 

  26. Ning HS, Cong Y, Xu ZQ, Hong T, Chao JC, Zhang Y: Performance evaluation of RFID anti-collision algorithm with FPGA implementation. Proceedings of 21st International Conference on Advanced Information Networking and Applications Workshops 2007, 153-158.

    Google Scholar 

  27. Wang TP: Enhanced binary search with cut-through operation for anti-collision in RFID systems. IEEE Commun Lett 2006, 10(4):236-238. 10.1109/LCOMM.2006.1613732

    Article  Google Scholar 

  28. La Porta T, Maselli G, Petrioli C: Anti-collision protocols for single-reader RFID systems: temporal analysis and optimization. IEEE Trans Mobile Comput 2011, 10(2):267-279.

    Article  Google Scholar 

  29. Jia XL, Feng QY, Ma CZ: An efficient anti-collision protocol for RFID tag identification. IEEE Commun Lett 2010, 14(11):1014-1016.

    Article  Google Scholar 

  30. Schoute F: Dynamic frame length aloha. IEEE Trans Commun 1983, 31(4):565-568. 10.1109/TCOM.1983.1095854

    Article  Google Scholar 

  31. Wieselthier JE, Ephremides A, Michaels LA: An exact analysis and performance evaluation of framed aloha with capture. IEEE Trans Commun 1989, 37(2):125-137. 10.1109/26.20080

    Article  Google Scholar 

  32. Capettanakis JI: Tree algorithms for packet broadcast channels. IEEE Trans Inf Theory 1979, 25: 505-515. 10.1109/TIT.1979.1056093

    Article  Google Scholar 

  33. Mosely J, Humblet P: A class of efficient contention resolution algorithms for multiaccess channels. IEEE Trans Commun 1985, 33(2):145-151.

    Article  Google Scholar 

  34. Finkenzeller K: RFID Handbook: Radio-Frequency Identification, Fundamentals and Applications. Wiley; 1999.

    Google Scholar 

  35. ISO/IEC 14443. Inentification cards--Contactless integrated circuit cards--Proximity cards;

  36. ISO/IEC 15693. Inentification cards--Contactless integrated circuit cards--Vicinity cards.

  37. ISO/IEC 18000. ISO/IEC 18000 Information Technology AIDC Technologies-- RFID for Item Management--Air Interface.

  38. Yeh KH, Lo NW, Winata E: An efficient tree-based tag identification protocol for RFID systems. Proceedings of 22nd International Conference on Advanced Information Networking and Applications Workshops 2008, 966-970.

    Google Scholar 

Download references

Acknowledgements

The authors gratefully acknowledge the support from the Taiwan Information Security Center (TWISC) and the National Science Council, Taiwan, under the Grant nos. NSC 100-2219-E-011-002, NSC 100-2218-E-011-005, and NSC 100-2218-E-034-001-MY2.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kuo-Hui Yeh.

Additional information

Competing interests

The authors declare that they have no competing interests.

Authors’ original submitted files for images

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License ( https://creativecommons.org/licenses/by/2.0 ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Chen, YC., Yeh, KH., Lo, N. et al. Adaptive collision resolution for efficient RFID tag identification. J Wireless Com Network 2011, 139 (2011). https://doi.org/10.1186/1687-1499-2011-139

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/1687-1499-2011-139

Keywords