You are on page 1of 12

Adaptive Splitting Protocols for RFID Tag Collision

Arbitration
Jihoon Myung

Wonjun Lee

Department of Computer Science and Engineering


Korea University, Seoul, Korea

Department of Computer Science and Engineering


Korea University, Seoul, Korea

jmyung@korea.ac.kr

wlee@korea.ac.kr

an external database with ID to recognize the object. RFID is fast


replacing bar-code based identification mechanisms because (i)
communication between a reader and a tag is not limited by the
requirement of line-of-sight reading and (ii) each tag is allowed
to have a unique ID.

ABSTRACT
Tag identification is an important tool in RFID systems with applications for monitoring and tracking. A RFID reader recognizes
tags through communication over a shared wireless channel.
When multiple tags simultaneously transmit their IDs to a reader,
the tag signals collide and this collision disturbs the readers identification process. Therefore, tag collision arbitration for passive
RFID tags is a significant issue for fast identification. This paper
presents two adaptive tag anti-collision protocols, an Adaptive
Query Splitting protocol (AQS), which is an improvement on the
query tree protocol and an Adaptive Binary Splitting protocol
(ABS), which is based on the binary tree protocol, which is a de
facto standard for RFID anti-collision protocols. To reduce collisions and identify tags efficiently, adaptive splitting protocols use
information obtained from the last process of tag identification.
Our performance evaluation shows that AQS and ABS outperform other tree based tag anti-collision protocols.

Simultaneous transmissions in RFID lead to collision because


readers and tags communicate over a shared wireless channel.
Collisions make both communication overhead and transmission
delay often lose their usefulness. As a result, either the reader
may not recognize all objects or retransmissions are required for
successful recognition. Reader collisions occur when neighboring
readers interrogate a tag simultaneously [3]. Tag collisions occur
when multiple tags transmit ID to a reader at the same time and
prevent the reader from recognizing any tag [1]. Especially, since
low functional passive tags can neither detect collisions nor figure
out neighboring tags, tag collision gives rise to the need for a tag
anti-collision protocol that enables the recognition of tags with
few collisions, and also executes in real-time.

Categories and Subject Descriptors

Tag anti-collision protocols for passive tags can be grouped into


two broad categories, namely aloha based protocols and tree
based protocols. Aloha based protocols such as aloha [15], slotted
aloha [8], [17], [18], [20], [23] and frame slotted aloha [4], [5], [7],
[9], [10], [13], [22] reduce the occurrence probability of tag collisions since tags transmit at distinct times. Aloha based protocols,
however, cannot completely prevent collisions. In addition, they
have the serious problem that a specific tag may not be identified
for a long time, leading to the so called tag starvation problem.
On the other hand, tree based protocols such as the binary tree
protocol [9], [19], [22] and the query tree protocol [2], [6] do not
cause tag starvation, although they have relatively long identification delay [21]. Based on the collision resolution algorithm studied in [11], [12] they split a set of tags into two subsets and attempt to recognize the subsets one by one. By splitting until each
set has only one tag, the reader can recognize all tags.

C.2.1 [Computer-Communication Networks]: Network Architecture and Design - Wireless Communication

General Terms
Algorithm, Design, Performance

Keywords
Collision Resolution, RFID, Tag Anti-collision, Tag Identification

1. INTRODUCTION
Radio frequency identification (RFID) is an automatic identification system which consists of readers and tags. A tag has an identification number (ID) and a reader recognizes an object through
consecutive communications with the tag attached to it [14]. The
reader sends out a signal which supplies power and instructions to
a tag. The tag transmits ID to the reader, and the reader consults

Based on the analysis above, a good tag collision arbitration protocol for passive RFID tags should have the following characteristics. First, a reader ought to recognize all the tags inside its own
reading range. Tag starvation problem results in the failure of
object tracking and monitoring. Since the reader, however, cannot
assume the number of tags precisely, the guarantee of recognizing
all tags must be taken into consideration in the design of the tag
anti-collision protocol. Second, a reader has to recognize tags
promptly. Since an object with a tag is potentially mobile, tag
identification must keep pace with the objects velocity. If tag
identification is carried out slower than the objects velocity, the

Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
MobiHoc06, May 2225, 2006, Florence, Italy.
Copyright 2006 ACM 1-59593-368-9/06/0005...$5.00.

202

reader cannot recognize it and the RFID system fails in monitoring or tracking. Finally, a tag should be recognized while consuming a small amount of resource. Since the tag supplements power
from the readers wave, tags available power is limited. Also, the
tag has low computational capability and limited memory. Thus,
the tag anti-collision protocol must load the tag with the least
possible communication and computation overheads.
We propose adaptive splitting protocols which are specializations
of tree based protocols for passive tag collision arbitration. An
Adaptive Query Splitting protocol (AQS) is an improvement on
the query tree protocol which has a deterministic methodology.
An Adaptive Binary Splitting protocol (ABS) is based on the binary tree protocol which adopts a probabilistic approach. For
decreasing collisions, the proposed protocols use information
obtained from the last identification process, in an environment
where a reader executes tag identification repeatedly for object
tracking and monitoring. The reduction in collisions facilitates tag
identification with a small delay and low communication overhead, while still recognizing all tags. Simulation results show that
AQS and ABS suppress the occurrence of collisions and shorten
total delay for recognizing all tags while preserving low communication overhead.

Figure 1. Tag identification in tree based protocols. Each


node in the tree corresponds to a reading cycle. (a) Binary
tree protocol. (b) Query tree protocol.
Idle cycle: No transmission is attempted. It is a source of
unnecessary increment of identification delay.
Readable cycle: Exactly one transmission is attempted. A
tag is recognized by the reader successfully.
Collision cycle: More than one transmission is attempted.
Tag collision occurs and the reader is unable to recognize
any tags. The collision cycle defers tag identification and
the tags communication is pure overhead.
Only a node of a collision cycle has two child nodes since a tag
set is split into two subsets only in the collision cycle. Consequently, all the intermediate nodes in the tree correspond to collision cycles and all the leaf nodes correspond to either readable
cycles or idle cycles.

The rest of this paper is organized as follows. Section 2 describes


existing tree based tag anti-collision protocols. We discuss problems of existing tree based protocols and explain our approach for
resolution of problems in tree based protocols in Section 3. Sections 4 and 5 describe AQS and ABS, respectively. In Sections 6
and 7, the performance analysis, including the derivations of several major equations referred to in the analysis, is presented. Finally, the conclusions of our analysis are presented in Section 8.

Tag identification is coincident with a tree search for finding


nodes of readable cycles. The reduction of delay in tag identification can be accomplished by skipping collision cycles. However,
once a frame is started, the tree search of the existing tree based
protocols departs from the root of the tree and explores all intermediate nodes. In short, the unreasonable starting point of the tree
search in existing protocols prolongs the identification delay.

2. TREE BASED TAG ANTI-COLLISION


PROTOCOLS
Tree based tag anti-collision protocols perform tag identification
in units of reading cycle. In a reading cycle, a reader transmits a
query (or a feedback) to tags and then tags transmit ID to the
reader. Since a passive tag cannot detect collision, the reader detects whether tag collision occurs or not after its transmission and
determines the query of the next cycle according to the result of
the detection. Upon receiving a query from the reader, the tag
decides whether to transmit or not. Only if a single tag transmits
in a cycle, can the reader recognize it successfully.

2.1 Binary Tree Protocol


The binary tree protocol (BT) [9], [19], [22] uses random binary
numbers generated by colliding tags for the splitting procedure.
The tag has a counter initialized to 0 at the beginning of the frame
and transmits ID when its counter value is 0. Therefore, all the
tags within the readers reading range, at the start of the frame,
form one set and transmit concurrently. The reader transmits a
feedback to inform tags of the occurrence of tag collision. According to the readers feedback, every tag changes its counter. In
a collision cycle, the tag randomly selects a binary number when
its transmission causes collision (i.e., its counter value is 0).
Every colliding tag adds a random binary number to its counter.
When tag collision occurs, the tag which is not involved in collision (i.e., its counter value is not 0) increases its counter by 1.
Consequently, a tag set is split into two subsets. In a no-collision
cycle, all tags decrease their counter by 1. The tag infers the successful transmission from the following feedback indicating no
collision. The tag recognized by a reader does not transmit any
signal until the ongoing frame is terminated. Since the reader also
has a counter and changes it value as the tag does, all the tags are
recognized.

The reader recognizes all the tags within its reading range in a
frame, which consists of several reading cycles. The reader attempts to recognize a set of tags in a cycle. Each set includes tags,
which transmit at the same cycle. If a set has more than one tag,
tag transmissions lead to collision. When tag collision occurs, the
mechanisms split the tag set into two subsets by tag IDs or random numbers. After that, the reader tries to recognize two subsets
one by one in the same frame. By continuing this splitting procedure until each set has only one tag, tree based protocols are capable of recognizing all the tags in the readers range. The performance of tag identification is influenced significantly by how
efficiently it splits the tag set.
A frame of tree based protocols is represented by a tree structure
as shown Figure 1. According to the number of tag transmissions
in a cycle, reading cycles are divided into three types as follows.

203

2.2 Query Tree Protocol


The query tree protocol (QT) [2], [6] uses tag IDs to split a tag set.
The reader transmits a query including a bit string. The reader has
queue Q for bit strings of queries and initializes Q with two 1-bit
strings, 0 and 1, at the beginning of the frame. The reader pops a
bit string from Q and transmits a query in a cycle. The tag whose
first bits of ID equal the bit string of the query responds by transmitting ID. If tag responses of query q1q2qx (qi {0,1}, 1 x b,
and b is the number of bits in the tag ID) collide, the reader
pushes two 1-bit longer bit strings, q1q2qx0 and q1q2qx1, into
Q and uses two 1-bit longer queries in next cycles. The set of tags
which match q1q2qx is split into two subsets; one is a set of tags
which match q1q2qx0 and the other is a set of tags which match
q1q2qx1. By expanding the query until either a response or no
response follows, the reader recognizes all the tags.

Figure 2. The starting point of tag identification in tree based


protocols

Contrary to BT, QT imposes simple functions on tags. QT is also


called a memoryless protocol because tags need not have additional memory except ID for identification. However, the identification delay is affected by the distribution of tag IDs. As tags
have much similar IDs, delay is increased.

for preventing tag collisions. They are still simple enough to apply to passive RFID tags and recognize all tags quickly.
Adaptive splitting protocols have the characteristic of fast tag
identification. AQS uses readers queries and tag IDs analogous to
QT, but it starts the tree search from the leaf nodes in the tree of
the last frame as shown in Figure 2. Since some arriving tags may
not match any nodes of readable cycles of the last frame, the tree
search starts at the nodes of idle cycles as well as the nodes of
readable cycles of the last frame. On the other hand, ABS uses
random numbers and starts the tree search from the nodes of readable cycles of the last frame. An arriving tag gets to belong to a
node of a randomly selected readable cycle of the last frame at the
beginning of a new frame. AQS and ABS restrain collisions between tags by skipping cycles in which tag collision occurred in
the last frame.

3. ADAPTIVE SPLITTING PROTOCOLS


We assume that a reader performs tag identification processes,
namely, frames, repeatedly for object tracking and monitoring1.
For reader r, let Ar,i be the set of tags which dwell inside reader
rs range in the ith frame of reader r. To consider the tags mobility, we classify tags into staying tags, arriving tags, and leaving
tags. We say that tag as is a staying tag in the ith frame of reader r
if as Ar,i-1 Ar,i. We say that tag aa is an arriving tag in the ith
frame of reader r if aa Ar,i Ar,i-1. We say that tag al is a leaving
tag in the ith frame of reader r if al Ar,i-1 Ar,i. Tag identification should recognize staying tags and arriving tags promptly.

4. ADAPTIVE QUERY SPLITTING

Staying tags sojourn in the readers range both during the last
frame and during the current frame. Since the reader already has
information on staying tags, tag collision arbitration can prevent
collisions between transmissions of staying tags. However, the
existing tag anti-collision protocols cause collisions between staying tags because they do not take staying tags into consideration.
At the beginning of the frame, BT resets tags counters to 0 and
QT initializes readers queue Q with 1-bit queries.

AQS recognizes tags with queries sent by a reader. The query


includes a bit string. The tag responds with its ID when its first
bits of ID are equal to the bit string of the query. Collisions are
resolved by two 1-bit longer queries. The reader does not transmit
queries which caused tag collisions in the last frame. The reader
has queue Q which maintains bit strings for queries. At the beginning of the frame, Q is initialized with queries of all the leaf
nodes in the tree of the last frame. To do this, the reader also has
candidate queue CQ, which compiles queries of readable cycles
and idle cycles of the ongoing frame. When a new frame starts,
the reader initializes Q with bit strings in CQ and makes CQ
empty. Tags still require very simple functions such as matching
its ID with the query and are recognized with few collisions.

Tag identification in existing tree based protocols starts from one


set including all tags and causes tag collisions for splitting tag sets.
The colliding tag need re-transmit ID whenever tag collision occurs. The retransmission brings about an increase in identification
delay, which handicaps the identification capability of the reader.
To make matters worse, readers and tags consume significantly
extra energy for successful transmission. Therefore, eliminating
inter-staying tag collisions can shorten total delay for tag identification and reduce tag communication overhead. Moreover, information on the tree of the last frame makes a new tag identification
start from multiple tag sets and hence the reader can recognize
tags with less collisions. Our proposed protocols maintain information on the last frame with a small amount of data and use it
1

4.1 Query Insertion


Algorithm 1 and Algorithm 2 show pseudo code of the tag and the
reader, respectively, in AQS during a frame. IsResponsible flag
is set to TRUE if the tag is allowed to send ID and set to 0 otherwise. At the beginning of the frame, Q is initialized with queries
of CQ. The reader recognizes all the tags during the while operation from line 9 to line 23 in Algorithm 2. In lines 10 and 11,
the reader pops a bit string from Q and transmits a query in a cycle. If responses of query q1q2qx (qi {0,1}, 1 x b, and b is
the number of bits in the tag ID) collide, the reader pushes
q1q2qx0 and q1q2qx1 into Q in lines 15 and 16. If q1q2qx
engenders an idle cycle or a readable cycle, the reader pushes

Prominent retailers such as Wal-Mart, Target and Best Buy, as


well as logistics companies like UPS and Fed-Ex have made
this a requirement of all their operations. Manufacturers are following suite.

204

Algorithm 1. AQS Tag Operation

Algorithm 2. AQS Reader Operation (candidate queue CQ)

/* Query q is q1q2...qx
(qi = a binary value, x = the length of the query)
Tag ID is t1t2...tb
(ti = a binary value, b = the length of ID) */

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

1
2
3
4
5
6
7
8
9
10
11
12
13

Receive query q
while q != the command terminating a frame do
IsResponsible = TRUE
for i = 0 to i < the number of bits of q do
if qi != ti then
IsResponsible = FALSE
break
end if
if IsResponsible then
Transmit ID
end if
Receive query q
end while

q1q2qx into CQ in lines 19 and 21. Note that all leaf nodes correspond to either readable cycles or idle cycles. At the end of the
frame, CQ has queries of all the leaf nodes of the tree. By using
queries of leaf nodes of the last frame, the reader can recognize all
tags with few collisions and a small delay in the next frame.
When there are some arriving tags, the query expansion from leaf
nodes resolves collisions with few cycles.
Theorem 1: Maintaining CQ at the reader does not need additional memory.

sion cycle, a node of a collision cycle should have two child


nodes which are a pair of types as follows: 1) two collision cycles,
2) a collision cycle and a readable cycle, 3) a collision cycle and
an idle cycle, and 4) two readable cycles. If leaving tags transform a pair of child nodes, the reader deletes unnecessary queries
from CQ as follows.
A readable cycle and an idle cycle: If only tag ax responds to query q1q2qx0 (q1q2qx1) and no tag responds
to q1q2qx1 (q1q2qx0), tag ax can be recognized by
q1q2qx without collision. The reader deletes q1q2qx0 and
q1q2qx1 from CQ and puts q1q2qx into CQ.
Two idle cycles: If both q1q2qx0 and q1q2qx1 are
queries of idle cycles, there is no tag which responds to
q1q2qx. Therefore, q1q2qx is the query of the idle cycle.
The reader deletes q1q2qx0 and q1q2qx1 from CQ and
puts q1q2qx into CQ.
After a frame, the reader deletes unnecessary queries except two
1-bit queries from CQ. Figure 3 depicts an example of the query
insertion and the query deletion procedure. As the query deletion
is done under the condition that all branches in the tree are included in CQ, all tags can be recognized promptly in the next
frame.

Proof: Let SQ(x) be the size of Q after transmitting the xth


query and SCQ(x) be the size of CQ after transmitting the xth
query. Denote l(x) as the number of bits of the xth query. For x
0, we have
0
if x = 0
SCQ ( x ) =
SCQ ( x 1) + t ( x)l ( x ) if x > 0

(1)

where t(x) = 0 if the cycle of the xth query is a collision cycle, t(x)
= 1 otherwise. SCQ(x) increases when the cycle of the xth query is
not a collision cycle. However, when t(x) = 1,
S Q ( x) + S CQ ( x) = S Q ( x 1) l ( x ) + S CQ ( x 1) + l ( x)
= S Q ( x 1) + S CQ ( x 1)

/* Initialize Q and CQ */
Q = CQ
CQ = NULL
if Q = NULL then
push (Q, 0)
push (Q, 1)
end if
/* Identify tags and form CQ */
while Q ! = NULL do
q = pop(Q)
Transmit a query including q
Receive tag responses and detect collision
if collision occurs then
/* Push 1-bit longer bit strings into Q */
push (Q, q0)
push (Q, q1)
else if receive only a response then
Store the tag ID
push (CQ, q)
else /* receive no response */
push (CQ, q)
end if
end while
QueryDeletion(CQ) /* Remove unnecessary queries */
Transmit the command terminating a frame;

(2)

That is, the total size of Q and CQ is not changed. Therefore,


maintaining CQ at the reader does not require additional memory.

4.2 Query Deletion


In performing the procedure, query insertion augments the number of leaf nodes in the tree and increases the length of queries.
Since the number of readable cycles is the same as the number of
tags, idle cycles will proliferate and worsen the readers ability of
tag identification. It results from which readable cycles of the last
frame is transformed into idle cycles by leaving tags. To address
this problem, AQS eliminates unnecessary idle cycles in line 24 in
Algorithm 2. Since there is more than one response in the colli-

Theorem 2: All tags are recognized by queries of all the leaf


nodes in the tree of the last frame.
Proof: If a 1-bit query, 0 (or 1) is a leaf node, it recognizes all
tags of which the first bit of IDs is 0 (or 1). For query q1q2qx,
all tags which match q1q2qx are recognized by q1q2qx0 and
q1q2qx1. Therefore, any tag can be recognized by all the leaf
nodes in the tree of the last frame.

205

Figure 3. Tag identification of AQS. A number in a box indicates a bit string stored in CQ. (a) Tag identification in the first
frame when there are three tags, which have 0100, 0111 and 1010 as ID, respectively. (b) Tag identification by query insertion in
the second frame when tag 1101 is an arriving tag. (c) Tag identification by query deletion in the third frame when tag 0111 becomes a leaving tag.

5. ADAPTIVE BINARY SPLITTING

Algorithm 3. ABS Tag Operation

AQS reduces collisions, but it needs some idle cycles. To guarantee the recognition of all tags, the reader uses not only queries of
readable cycles but also queries of idle cycles of the last frame.
Though the reader eliminates unnecessary idle cycles by leaving
tags, some idle cycles cannot be avoided in order to cover all
possible ranges of the tag ID. On the contrary, ABS starts tag
identification from only readable cycles of the last frame and uses
random numbers for splitting tag sets. A staying tag revises its
counter into the cycle number that its transmission does not collide with other staying tags. An arriving tag decides its counter
value with a random number selected among possible values inside the readers range. Tag transmissions are aligned in the increasing order of counter values. ABS achieves fast identification
by diminishing not only collisions but also unnecessary cycles.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

5.1 Tag transmission control


Algorithm 3 shows the pseudo code of the tag in ABS. A tag has
two counters, Progressed Slot Counter (PSC) and Allocated Slot
Counter (ASC). It is applicable to passive RFID tags because they
can have a little storage though they can neither have a complex
logic nor communicate each other [16]. PSC represents the number of tags recognized successfully. PSC is initialized to 0 at the
beginning of the frame and is increased by 1 only in the readable
cycle. All the tags have the same value of PSC at all times. ASC
signifies the cycle when the tag can transmit ID. The tag is allowed to transmit when its ASC is equal to PSC. If the tag has
ASC less than PSC, it does not attempt the transmission until the
completion of the frame because it has already been recognized in
the ongoing frame. To control PSC and ASC, the reader informs
tags of the type of the last cycle by transmitting a feedback. For
splitting a set of tags transmitting at the same cycle, every colliding tag increases ASC by a random number. When tag collision
occurs, the tag which has ASC equal to PSC randomly selects one
of two binary numbers, 0 and 1, and then adds it to ASC in lines
13 and 14. To prevent the second subset, i.e., tags which have
ASC equal to PSC and select 1, from combining with another set,
i.e., tags which have ASC equal to PSC + 1, the tag which has
ASC greater than PSC adds 1 to ASC in the collision cycle in line
21. Since PSC is not changed, the first subset, i.e., tags which
have ASC equal to PSC and select 0, tries to retransmit in the
following cycle. The second subset, i.e., tags which have ASC
equal to PSC and select 1, transmits after the first subset is recog-

Receive the command starting a frame with readers TSC


/* Initialize PSC and ASC */
PSC = 0
if ASC = NULL or ASC > TSC then
ASC = random number from 0 to TSC
end if
/* Process PSC and ASC for transmission */
while PSC <= ASC do
if PSC = ASC then
Transmit ID
Receive the reader's feedback f
if f = collision then
Select a binary value i randomly
ASC = ASC + i
else
PSC = PSC + 1
end if
else
Receive the reader's feedback f
if f = collision then
ASC = ASC + 1
else if f = readable then
PSC = PSC + 1
else /* f = idle */
ASC = ASC 1
end if
end if
end while

nized. In an idle cycle, the tag which has not been recognized in
the ongoing frame, i.e., the tag which has ASC greater than PSC,
decreases ASC by 1 in line 25. Since PSC is not changed in the
idle cycle, the decrement of ASC gets to pull the schedule of the
tag transmission. Figure 4 depicts tag operation in the collision
cycle and in the idle cycle under ABS, and Figure 5 shows tag
identification of ABS.
At the end of the frame, every tag gets a unique ASC. Preserving
ASC at the boundary of two consecutive frames enables the tree
search to start from the readable cycles of the last frame possible.

206

Algorithm 4. ABS Reader Operation


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

PSC = 0
if TSC = NULL then
TSC = 0
end if
Transmit the command starting a frame with TSC
While PSC <= TSC do
Receive tag responses and detect collision
if collision occurs then
TSC = TSC + 1
f = collision
else if receive only a response then
Store the tag ID
PSC = PSC + 1
f = readable
else /* receive no response */
TSC = TSC - 1
f = idle
end if
Transmit the feedback f
end while

Figure 4. Tag operation in ABS. A number in parentheses


indicates ASC which tags in the set have. (a) The operation in
the collision cycle. (b) The operation in the idle cycle.

greater than TSC, the reader supports the TSC value when a frame
starts. A tag having ASC greater than TSC changes its ASC to a
random number from 0 to TSC. ABS recognizes all tags quickly
through scaling ASCs of arriving tags into the range of TSC.

5.2 Frame termination


For terminating a frame at once after identifying all tags, the
reader of ABS acts as the tag which has the largest ASC. Algorithm 4 shows the pseudo code of the reader. The reader determines the end point of the frame with Progressed Slot Counter
(PSC) and Terminated Slot Counter (TSC). PSC represents the
number of tags recognized successfully. In a readable cycle, the
reader adds 1 to PSC. TSC signifies the number of tag sets in the
readers range. For fast identification, the reader preserves TSC
after the end of the frame. If collision occurs, the reader increases
TSC by 1 because the number of sets has increased. When a cycle
of type idle is encountered, the reader decreases TSC by 1. This
is to reflect the effect of elimination of idle cycles. As soon as
PSC is greater than TSC, the reader concludes that all tags have
been recognized and terminates the frame.

6. PERFORMANCE ANALYSIS
In this section, we analyze the total delay for recognizing all tags
with AQS and ABS. At first, the identification delay is defined by
the number of cycles.
Definition 1: Let Ar,i denote the set of tags which dwell inside
reader rs range in the ith frame of reader r. The identification
delay caused by recognizing Ar,i, dtotal(Ar,i), is

( )

d total Ar ,i =

T ( Ar ,i )

(d

reader ( x )

+ d tag ) T ( Ar ,i ) d cycle

(3)

x =1

where T(Ar,i) is the number of cycles in a frame when reader r


recognizes tags in Ar,i, dreader(x) is the delay of delivering the xth
query (or feedback), dtag is the delay of delivering the tag ID, and
dcycle is the average delay of the reading cycle. The identification
delay is determined by T(Ar,i).

In an environment with multiple readers, an arriving tag can be


recognized with its ASC given by other readers. If an arriving tag
has ASC less than TSC, it is obvious that the arriving tag has the
same ASC as a staying tag or a leaving tag. To cope with ASC

Figure 5. Tag identification of ABS. (a) Tag identification in the first frame when there are three tags. (b) Tag identification in
the second frame when tag D is an arriving tag. (c) Tag identification in the third frame when tag B becomes a leaving tag.

207

Let ax denote tag x. Assume that tags have unique b-bit IDs and
Ar,i has n tags, i.e., Ar,i = {a1, a2, , an}. Let Barrive = {an+1, an+2,
, an+} be the set of arriving tags in the i+1th frame of reader r
and Bleave = {af(1), af(2), , af()} (1 f(x) n, 1 n) be the set
of leaving tags in the i+1th frame of reader r.

the ith frame. Since Ar,i Ar,i+1, the tree of the ith frame at QT is
the part of the tree of the i+1th frame at QT. From lemma 2,

As described in the previous section, AQS uses tag IDs for the
splitting procedure like QT. We analyze the worst case identification delay of AQS through the derivation of the identification
delay of QT.

because the minimum value of CQT(Ar,i) is n-1 when the ith frame
has no idle cycle. When there is no leaving tag, AQS reduces at
least n-1 cycles compared with QT.

Lemma 1: Let us define CQT(Ar,i) as the number of collision


cycles in the ith frame when reader r recognizes Ar,i under QT.
For given CQT(Ar,i), the identification delay of QT, TQT(Ar,i), is

T AQS ( Ar ,i +1 Ar ,i ) ( n + ){b + 2 log 2 ( n + )} ( n + 2)

TQT ( Ar ,i ) = 2C QT ( Ar ,i ) + 1

T AQS ( Ar ,i +1 Ar ,i ) = TQT ( Ar ,i +1 ) C QT ( Ar ,i )
( n + ){b + 2 log 2 ( n + )} 3 ( n 1)

Theorem 4: When Ar,i+1 = Ar,i + Barrive Bleave,

Proof: In the tree of tag identification at QT, only a node of a


collision cycle has two child nodes, since a tag set is split into two
subsets only in the collision cycle. Therefore, the tree of tag identification at QT is a full binary tree and all the intermediate nodes
in the tree correspond to collision cycles.

T AQS ( Ar ,i + B arrive Bleave Ar ,i )

Theorem 4 is derived from (8).


We analyze the average case in identification delay of ABS because the performance of ABS is determined by random numbers.

(5)

Lemma 3: The number of collision cycles in the ith frame


when reader r recognizes Ar,i under BT, CBT(Ar,i), is

Proof: By lemma 1, the worst case in the identification delay of


QT is that collisions are most numerous. Since tags have unique
b-bit IDs, two tag IDs can, at most, equal first b-1 bits except the
last bit. At this time, two tags make b-1 collisions. In depth k of
the tree, a node can be a collision cycle when more than one tag
selects it for transmission. The maximum number of collision
cycles in depth k of the tree when reader r recognizes n tags under
QT, CQT(n, k) is
(0 < k log 2 n 1)
(log 2 n 1 < k < b)

C BT ( Ar ,i ) =

)(

+ n 1 1 2 k

n 1

(12)

Proof: A frame of BT can be represented in a binary tree. Let


EBT(n, k), RBT(n, k) and CBT(n, k) be the number of idle cycles,
readable cycles and collision cycles, respectively, in depth k of
the binary tree when BT recognizes n tags. Since the number of
nodes in depth k of the binary tree is 2k, EBT(n, k) = 2k(1-2-k)n and
RBT(n, k) = n(1-2-k)n-1.

(6)

C BT ( Ar ,i ) =

C QT ( n, k )

k =1

b 1

k = log 2 n

n
2

n
(b + 2 log 2 n) 2
2

(7)

E BT (n, k ) RBT (n, k )

2k 1 2 k

) n(1 2 )

k n 1

k =0

(13)

Theorem 3: Let TAQS(Ar,i+1|Ar,i) be the number of cycles in the


i+1th frame when reader r recognizes Ar,i+1 under AQS after it has
recognized Ar,i in the last frame. When Ar,i+1 = Ar,i + Barrive,

( n + ){b + 2 log 2 ( n + )} ( n + 2)

BT ( n, k )

{2
k =0

From lemma 1, (5) is derived.

T AQS ( Ar ,i + B arrive Ar ,i )

C
k =0

k =1

log 2 n 1
2k +
=

2 (2
k =0

b 1

C QT ( Ar ,i )

(11)

= T AQS ( Ar ,i + B arrive Ar ,i )

Lemma 2: When the length of the tag ID is b bits and Ar,i has n
tags,

2 k
C QT ( n, k ) =
n / 2

(10)

Proof: AQS is able to eliminate unnecessary idle cycles after


the reader has detected nonexistence of tags. However, reader r
does not know leaving tags before the i+1th frame. Therefore,

(4)

TQT ( Ar ,i ) = n(b + 2 log 2 n) 3

(9)

Lemma 4: The number of cycles in the ith frame when reader r


recognizes Ar,i under BT, TBT(Ar,i), is

T BT ( Ar ,i ) = 1 + 2

(8)

2 (2
k =0

)(

+ n 1 1 2 k

n 1

(14)

Proof: Lemma 1 is also applied into tag identification at BT. As


a result, every intermediate node in the binary tree corresponds to
the collision cycle and hence

Proof: Suppose that there exist two readers and they attempt to
recognize Ar,i+1 under QT and AQS, respectively. Tag identification at QT starts at the l-level nodes in the tree. On the other hand,
Tag identification at AQS starts from the leaf nodes in the tree of

208

TBT ( Ar ,i ) = 1 + 2C BT ( Ar ,i )

Table 1. Simulation setup

(15)

Parameter

Lemma 4 is derived from (12) and (15).

Simulation Area
Number of readers
Identification range of the reader
Number of tags

Theorem 5: Let TABS(Ar,i+1|Ar,i) be the number of cycles in the


i+1th frame when reader r recognizes Ar,i+1 under ABS after it has
recognized Ar,i in the ith frame. When Ar,i+1 = Ar,i + Barrive Bleave,
T ABS ( Ar ,i +1 | Ar ,i ) = n n 1

(1 2 )
k

/ n 1

Tag ID

k =0

+n

k +1

)(

2n 1 2 k + 3 1 2 k

/n

k =0

Maximum Meter Per Frame (MFP)

= ( n ) T BT 1 + n 1 + T BT n 1

Table 2. Simulation scenarios


Ua

Ai

rs

ra

Scenario I

100

50

0~1

Scenario II

100

50

0~1

0.5

Scenario III

100

50

0~1

Scenario IV

100

50

0.5

0~1

(17)

Theorem 5 is derived by (14) and (17).

simulations, initial positions and destinations of tags are randomly


selected under the simulation area. A tag moves from its initial
position toward its destination with MPF, which is randomly selected from 0 to the maximum MPF.

7. PERFORMANCE EVALUATION
We evaluate the performance of AQS and ABS compared to BT
and QT. To measure the efficiency of tag identification in the tree
based protocols, we consider the following aspects.
The number of collisions: We measure the number of
collisions between tag-to-reader signals. Collision defers
identification and increases power consumption of tags.
The number of idle cycles: The idle cycle is a factor of
identification delay.
Identification delay: We measure the total delay for recognizing all tags by the cycle. Fast identification is the most
significant factor in the tree based anti-collision protocols
because they do not cause tag starvation problem.
Tag communication overhead: This metric is the average
number of bits transmitted by a tag in a frame. This influences the amount of power consumption. Due to lack of
power source in tags, this must be low.

7.2 Impact of Staying Tags and Arriving Tags


First, we simulate tree based protocols with a single reader while
varying the number of staying tags and arriving tags. Let U be the
set of all tags in the simulation area and let Ai be the set of tags
recognized in the ith frame. We measure the performance in the
i+1th frame by changing the ratio of staying tags to Ai, denoted by
rs and the ratio of arriving tags to U Ai, denoted by ra. We place
100 tags in the simulation area and only 50 tags of them sojourn
within the readers range in the ith frame. We consider four scenarios according to the values of rs and ra as shown Table 2.
Figure 6 and Table 3 depict the simulation results about the four
scenarios. In the first scenario, there is no arriving tag. From Figure 6(a) and Table 3, we can see that AQS and ABS achieve collision-less tag identification. They do not allocate more than one
staying tag to the same set to block collisions between staying
tags. On the other hand, as the number of staying tags increases,
tag collisions occur more frequently in BT and QT. Figure 6(b)
illustrates that identification delay of ABS is the shortest of all
protocols at high ratios of staying tags, while it is slower than BT
and QT at ratios less than 0.3 because of idle cycles produced by
leaving tags. AQS has longer delay than ABS because the reader
transmits additional queries for covering all possible ranges of ID.
The second scenario is tag identification with increasing the fraction of staying tags when some arriving tags exist. Though AQS
and ABS eliminate collisions between staying tags, they cannot
completely block collisions by arriving tags as shown in Figure
6(d) and Figure 6(e). As the fraction of staying tags increases,
collisions between staying tags overwhelm collisions by arriving
tags and the superiority of identification delay of AQS and ABS
becomes stronger.

7.1 Simulation Setup


The simulation setup is shown in Table 1. To avoid the reader
collision problem [3], we place readers such that their reading
ranges do not intersect. To appreciate the impact of tags mobility,
we define Meter Per Frame (MPF). Let MPF(a) denote MPF of
tag a. MPF(a) is given by

MPF ( a ) =

100 m 100 m
100
3m
1000
Randomly selected
96-bit ID
2 m/frame

(16)

Proof: When there exist n tags in the ith frame, ABS makes n
tag sets before the beginning of the i+1th frame. Each set has a
staying tag or a leaving tag. Among n sets, n sets include staying tags and sets include leaving tags. Without loss of generality,
assume that arriving tags select a set randomly. Arriving tags in
Barrive are assigned to n sets uniformly. Since BT and ABS have
the same splitting procedure,
T ABS ( Ar ,i + B arrive Bleave Ar + i )

Value

ma (t1 , t 2 )
(m/frame)
F p (t1 , t 2 )

where ma(t1, t2) is the distance that tag a moves in the time interval [t1, t2] and Fp(t1, t2) is the number of frames executed by protocol p in the interval [t1, t2]. By MPF, we can ensure that tree
based protocols recognize the same tags in any frame. In our

209

(a) Collisions (ra=0)

(b) Identification delay (ra=0)

(c) Tag communication overhead (ra=0)

(d) Collisions (ra=0.5)

(e) Identification delay (ra=0.5)

(f) Tag communication overhead (ra=0.5)

(g) Collisions (rs=0)

(h) Identification delay (rs=0)

(i) Tag communication overhead (rs=0)

(j) Collisions (rs=0.5)

(k) Identification delay (rs=0.5)

(l) Tag communication overhead (rs=0.5)

Figure 6. The simulation results according to the values of rs and ra

is tag identification while increasing the fraction of arriving tags,


where there are some staying tags. The results in Figure 6(j) and
Figure 6(k) show faster identification of AQS and ABS than BT
and QT in spite of additional idle cycles created by leaving tags.
Additionally, the decrement of collisions involves low communication overhead at a tag in all the scenarios.

Figure 6(g), Figure 6(h) and Figure 6(i) show the results when
there is no staying tag. Though tag identification of AQS and
ABS lead to fewer collisions, idle cycles in AQS and ABS cause
delay. Since collisions between staying tags do not occur, the
increment of idle cycles is more than the decrement of collisions
at low ratios of arriving tags. This scenario shows the worst case
of adaptive splitting protocols, but it is unreal. The fourth scenario

210

Table 3. Average number of reading cycles according to the


ratio of staying tags and the ratio of arriving tags
Protocol

Collisions

Idle cycles

Total
cycles

Scenario
I

BT
QT
AQS
ABS

45.06
43.76
0
0

14.02
13.72
56.51
29.81

91.12
89.53
88.55
61.85

Scenario
II

BT
QT
AQS
ABS

80.40
80.78
28.96
32.15

24.89
26.26
52.69
31.18

161.81
163.55
138.16
119.84

Scenario
III

BT
QT
AQS
ABS

35.14
34.86
14.75
13.15

10.99
11.71
60.68
37.49

71.28
71.72
100.58
75.79

Scenario
IV

BT
QT
AQS
ABS

76.84
76.35
26.79
30.65

23.67
24.17
52.94
32.04

154.69
154.71
133.91
116.88

(a) Collisions

(b) Idle cycles

7.3 Impact of the Number of Tags


Figure 7 shows the simulation results obtained by changing the
number of tags. As the number of tags increases, the identification
delay gets longer and tag collisions occur more often. BT and QT
show comparable delay curves. By restraining the occurrence of
collisions, AQS and ABS have shorter delay than BT and QT.
Small collisions activate small tag communication overhead. ABS
has the shortest delay because it eliminates many idle cycles.
AQS generates more idle cycles than others due to additional
queries in order to guarantee recognizing all tags. On the other
hand, AQS make less collision than ABS. In AQS, many idle
cycles prevent arriving tags from colliding with staying tags and
reduce the tag communication overhead.

(c) Identification delay

7.4 Impact of Tag Movement

(d) Tag communication overhead

We evaluate the performance by increasing the tag velocity. Figure 8 presents the simulation result obtained by varying the
maximum MPF. We normalize the measured values by dividing
by the number of tags. When tags move at low speeds, AQS and
ABS outperform BT and QT considerably. Tags would like to be
staying tags, and AQS and ABS eliminate collisions between
staying tags perfectly. There is no collision when the maximum
MPF is 0. As tags move faster, the performance of AQS and ABS
deteriorates. When the maximum MPF is more than 6 m/frame,
AQS has longer delay then QT. At high speed, there are few staying tags and collisions between staying tags at BT and QT hardly
occur. Additionally, adaptive splitting protocols generate more
idle cycles than BT and QT because leaving tags increase and a
cycle of a leaving tag is inclined to be idle. Hence, AQS and ABS
show the performance similar to BT and QT at high speed.

Figure 7. Performance comparison with varying the number


of tags

7.5 Impact of the Similarity of ID


For the purpose of another comparison, we evaluate the impact of
the similarity among IDs. QT and AQS may be influenced by the
distribution of IDs because they use tag ID for splitting a tag set.
To quantify the similarity of IDs, we define an identical bit. If the
identical bit is and each tag has a 96-bit ID, ID is depicted by
x1x2xx+1x96 (xi is a binary digit, 1 < 96) and all tags have
the same x1x2x. Figure 9 gives the simulation results for various identical bits from 0 (IDs are completely randomly selected)
to 80. We normalize the measured values by dividing by the

211

(a) Collisions

(a) Collisions

(b) Idle cycles

(b) Idle cycles

(c) Identification delay

(c) Identification delay

(d) Tag communication overhead

(d) Tag communication overhead

Figure 8. Impact of tag mobility

Figure 9. Impact of ID distribution

number of tags. As the identical bit increases, QT rapidly degenerates as expected. QT has the highest communication overhead
because the reader transmits all queries causing collisions in every
frame. On the other hand, the performance of AQS is not seriously affected by the similarity of IDs though it uses tag ID. Since
candidate queue CQ excludes queries of collision cycles of the
last frame, AQS uses a collision query only once. However, as the
identical bit increases, the tree has more leaf nodes and, consequently, identification delay of AQS is longer. ABS and BT are
not affected by the identical bit because they do not use the patterns of IDs. As in the previous scenario, ABS shows the shortest
identical delay.

8. CONCLUSION
Tag collision is a major factor in deferring tag identification of
RFID systems. In this paper, adaptive tag anti-collision protocols
for passive tags have been proposed and evaluated. We develop
novel and enhanced tree based protocols to reduce the number of
collisions by exploiting information obtained from the last process of tag identification. The key institution behind our proposed
approach is that in most applications employing RFID tags, the
set of objects encountered in successive readings from a particular
reader does not change substantially, and information from one
reading can be used for the next. A simulation based evaluation

212

ALOHA with capture, IEEE Trans. Comm., COM38(2):125-137, 1989.

shows that AQS and ABS significantly reduce delay and communication overhead for the tag reading process.

[11] J. I. Capetanakis, Tree algorithms for packet broadcast


channels, IEEE Trans. Information Theory, IT-25(5):505515, Sept. 1979.

9. ACKNOWLEDGMENTS
This work was jointly supported by a grant from SK Telecom,
Korea [Project No. KU-R040572] and by a grant by KOSEF
[Grant No. R01-2005-000-10267-0]. Corresponding Author:
Wonjun Lee (E-mail: wlee@korea.ac.kr).

[12] J. Moseley and P. Humblet, A class of efficient contention


resolution algorithms for multiple access channels, IEEE
Trans. Communications, vol. COM-33, pp. 145-151, 1985.
[13] J. Zhai and G. Wang, An anti-collision algorithm using twofunctioned estimation for RFID tags, Proc. Int'l Conf. Computational Science and its Applications, May 2005.

10. REFERENCES
[1] C. Floerkemeier and M. Lampe, Issues with RFID usage in
ubiquitous computing applications, Proc. 2nd Int'l Conf.
Pervasive Computing, LNCS 3001, pp. 188-193, 2004.

[14] K. Finkenzeller, RFID handbook: fundamentals and applications in contactless smart cards and identification, John
Wiley & Sons, 2003.

[2] C. Law, K. Lee and K.-Y. Siu, Efficient memoryless protocol for tag identification, Proc. 4th Int'l Workshop Discrete
Algorithms and Methods for Mobile Computing and Communications, pp. 75-84, Boston, Massachusetts, USA, Aug.
2000.

[15] N. Abramson, The aloha system- another alternative for


computer communications, Proc. Fall Joint Computer
Conf., AFIPS Conf., vol. 37, pp. 281-285, 1970.
[16] Philips I*Code1 System Design Guide Application Note
AN00025, Philips Semiconductors, 2002.

[3] D. W. Engels and S. E. Sarma, The reader collision problem, Proc. IEEE Int'l Conf. System, Man and Cybernetics,
Hammamet, Tunisie, Oct. 2002.

[17] R. Metcalfe, Steady state analysis of a slotted and controlled Aloha system with blocking, Proc. 6th Hawaii Conf.
System Science, Honolulu, HI, 1973.

[4] EPCTM radio-frequency identification protocols class-1


generation-2 UHF RFID protocol for communications at
860MHz-960MHz version 1.0.8, EPCglobal, Dec. 2004.

[18] R. Rao and A. Ephremides, On the stability of interacting


queues in a multiple-access system, IEEE Trans. Inform.
Theory, vol. 34, pp. 918-930, 1988.

[5] F. C. Schoute, Dynamic frame length ALOHA, IEEE


Trans. Comm., COM-31(4):565-568, Apr. 1983.

[19] S. A. Weis, S. E. Sarma, R. L. Rivest and D. W. Engels,


Security and privacy aspects of low-cost radio frequency
identification systems, Proc. First Annual Conf. Security in
Pervasive Computing, LNCS 2802, pp. 201-212, Mar. 2003.

[6] F. Zhou, C. Chen, D. Jin, C. Huang and H. Min, Evaluating


and optimizing power consumption of anti-collision protocols for applications in RFID systems, Proc. Int'l Symp.
Low Power Electronics and Design, Newport Beach, California, USA, Aug. 2004.

[20] S. Lam and L. Kleinrock, Packet switching in a multi access


broadcast channel: Dynamic control procedures, IEEE
Trans. Automat. Contr., vol. AC-27, pp. 891-904, 1975.

[7] H. Vogt, Efficient object identification with passive RFID


tags, Proc. Int'l Conf. Pervasive computing, LNCS 2414,
pp. 98-113, Apr. 2002.

[21] T. A. Scharfeld, An analysis of the fundamental constraints


on low cost passive radio-frequency identification system
design, M.S. thesis, Massachusetts Institute of Technology,
pp. 92-100, Aug. 2001.

[8] I. E. Teletar and R. G. Gallager, Combining queuing theory


and information theory for multiaccess, IEEE J. Selected
Areas Communication, vol. 13, pp. 963-969, Aug. 1995.

[22] UCODE, Philips Semiconductors,


http://www.semiconductors.philips.com, 2005.

[9] Information technology automatic identification and data


capture techniques radio frequency identification for item
management air interface - part 6: parameters for air interface communications at 860-960 MHz, Final Draft International Standard ISO 18000-6, Nov. 2003.

[23] V. Anatharam, The stability region of the finite-user slotted


ALOHA protocol, IEEE Trans. Inform. Theory, vol. 37,
1991.

[10] J. E. Wieselthier, A. Ephremides and L. A. Michaels, An


exact analysis and performance evaluation of framed

213

You might also like