1
An Extensive Study of Slotted Aloha-Based RFID Anti-Collision Protocols Vinod Namboodiri‡, Maheesha DeSilva†, Kavindya Deegala†, Suresh Ramamoorthy‡
Abstract—Radio frequency identification (RFID) is used to identify, track, and manage tagged animate or inanimate objects automatically using wireless communication technology. A serious concern faced by RFID technology is the collisions that occur among tag responses when queried by a reader that limits system performance significantly. Collisions bring extra delay, a waste of bandwidth, and extra energy consumption to the interrogation process of RFID. This work extensively evaluates the performance of slotted Aloha based anti-collision protocols (that includes the current standard EPCGlobal Class 1 Generation 2) for passive tags through mathematical analysis, simulations, and practical experiments on a testbed. This comprehensive approach allows a better understanding of the theoretical and practical performance of RFID systems and the challenges that exist in improving practical performance in industrial settings. In particular, it is found that protocol mechanisms for the current standard theoretically add 10% overhead to the basic frame slotted Aloha in ideal conditions. Further, results indicate that factors like interference, antenna gain, and protocol implementation can add 50% additional delay in practical settings. This work also performs a low-level investigation of protocol behavior through power measurements and characterizes energy consumption in RFID readers. Index Terms—RFID, anti-collision protocols, slotted Aloha, EPCGlobal Class 1 Gen 2, performance evaluation.
I. I NTRODUCTION Radio frequency identification (RFID) is used to identify, track, and manage the tagged animate or inanimate objects automatically using wireless communication technology. RFID is similar to existing barcode identification, but it has additional features, such as communication without line of sight, large storage capacity, greater read range, and capability of being reprogrammable. At some point in our lives, most of us have made a payment for goods by swiping a credit card, opened a door using a badge, or used the non-stop fast lanes on a toll road. If so, then we have already used RFID technology without even noticing it. Other RFID applications include, but are not limited to, supply chain tracking, animal tracking devices, vehicle tracking, and wrist/ankle bands for infant security. In short, anything that can be tagged is capable of being identified using RFID. RFID has the capability of scanning multiple objects at the same time. This improves productivity by reducing the time taken to identify objects. Some applications are required ‡ Affiliated to Wichita State University; can be contacted at vinod.namboodiri@@wichita.edu (Tel: 001-316-9783922 Fax: 001-3169783984), and
[email protected] † Currently affiliated to Intel Corporation; were affiliated to Wichita State University when work was carried out. Can be contacted at
[email protected],
[email protected] to have high inventory speeds. Hundreds of objects moving on a conveyor belt or applications that read tags on cars on a freeway require a very high read speed. RFID has the capability to read through opaque material without requiring line of sight, thus saving time in processing what would otherwise require upward-facing objects. RFID is extremely appropriate for applications that require tags to be read at large distances. RFID readers and tags come in various sizes and forms, thus permitting RFID technologies to be used in a broad variety of situations. A challenge faced in RFID technology when identifying multiple tags simultaneously is collisions among tag responses to the reader’s query. Such collisions result in the reader being unable to identify a tag and limits system performance significantly. Tag collisions bring extra delay, waste of bandwidth, and extra energy consumption to the interrogation process of RFID. Delays that arise due to collisions in RFID systems create significant issues and challenges to applications that require a high inventory speed. Hundreds of objects moving by on a conveyor belt and applications that read tags on cars on a freeway require a very high read speed. For example, if the RFID system in a supermarket is delayed due to collisions, only a fraction of the products would be identified in a specified time by the reader from a cart full of products. This could create chaos in the inventory, bring financial losses to the companies, and likely cause the companies to put an end to this type of technology. Therefore, RFID system designers and researchers need to analyze and simulate these different environments before deployment to correctly identify various factors, such as the number of RFID readers needed, where to place these readers, etc. The specific contribution of this work is to fundamentally understand the performance of frame slotted Aloha (FSA) based protocols through mathematical analysis, simulations, and an experimental testbed. Further, the current standard for passive tags EPCGlobal Class 1 Generation 2 (C1G2) works based on the principle of FSA, which makes the study of such protocols more meaningful from a practical perspective. Our goal is achieved through the following steps: 1) A mathematical model is developed to predict the RFID tag identification delay based on the frame slotted Aloha (FSA) protocol under both ideal conditions and under interference. 2) A RFID simulator is developed to validate our analysis and confirm the correctness of the simulator. This simulator is used to compare the FSA protocol with the current standard EPCGlobal Class 1 Generation 2 (C1G2) protocol. Our results indicate the C1G2 proto-
2
col mechanisms add 10% overhead to the basic FSA protocol in ideal conditions. 3) An experimental study is performed to calculate the tag identification delay using the C1G2 protocol. These results are then compared with those obtained from analysis and simulations of FSA to better understand the differences and limitations in performances. Our results indicate that practical environments and their limitations can easily add 50% additional delay in tag identification. 4) An in depth, low-level investigation of C1G2 protocol behavior is done through power measurements of a RFID reader. These power measurements help characterize energy consumption of RFID readers and will prove useful in scenarios where they are battery operated. The rest of this paper is organized as follows: Section II provides background on FSA and its development over the years starting from its use in packet radio networks and how it works for RFID. Further, we present details of the workings of the current EPCGlobal C1G2 standard based on FSA, and how our contribution differs from that of prior work. In Section III, we mathematically analyze FSA for RFID systems in terms of tag identification delay, under both ideal conditions and under interfering environments. In Section IV we validate our analysis through simulations and compare C1G2 overhead to that of the FSA protocol. In Section V, we study the tag identification performance of the EPCGlobal C1G2 through an experimental testbed and compare and contrast the results with that of FSA obtained through our analysis and simulations. In Section VI we study the protocol behavior of a C1G2 reader through power measurements and quantify energy consumed to read a set of tags. We make concluding remarks in Section VII. II. BACKGROUND AND R ELATED W ORK We begin this section by providing some background on anti-collision protocols in RFID systems and describe the FSA protocol as it is applied in RFID systems. We conclude this section by describing the EPCGlobal C1G2 standard, how it differs from the FSA protocol, and how our work differs from that of prior work in the area. A. Anti-Collision Protocols for RFID RFID anti-collision protocols can be categorized into Aloha based protocols and tree based protocols [1]. Aloha based protocols reduce the probability of tag collisions by spreading out tag responses over time [2]. In the basic or pure Aloha protocol, tags can respond at any time [3], while in slotted Aloha, tags respond only at the beginning of time-slots [4], [5]. The frame slotted Aloha (FSA) protocol further groups time slots into frames within which tags must respond [6], [7]. The frame-slotted protocol shows the best performance for RFID systems among Aloha based protocols due to a tag responding in a time slot with its ID only once every frame [1]. Aloha based protocols, however, are not deterministic and do not have analytically provable upper bounds on the time to read all tags. The simplicity of Aloha based protocols, along with
fixed size responses (which helps assign time slot durations efficiently) from tags for reader queries, has led to their adoption in early RFID based systems and associated standards (e.g. [8]). This has resulted in a fair share of work done with these protocols in the research community (e.g. [9], [10], [11]). Very few, however, have characterized these protocols completely in terms of tag identification delay, including experimentally on a testbed. For example, the work in [12] experimentally studied tag identification under interfering conditions such as in the presence of water and metal; the goal was not on the anticollision protocol itself, but on the impact of interference on read distance. The experimental study in [13] similarly focused on characterizing system efficiency and reliability. The work by [14] improved tag identification rates by tuning physical layer operating parameters. These papers did not study aspects such as protocol overhead, low-level protocol behavior, and energy consumption at the reader. Tree-based anti-collision protocols, on the other hand, provide guarantees on the time required to read all tags in range, and are thus deterministic. Algorithms for arbitration using trees have been around for a while [2]. The authors of [15] were one of the first to consider these for reading tags in RFID systems. They analyze a B-ary tree search algorithm extensively, producing analytical results for average time slots, reader messages, and tag responses required to read tags. The two most widely used tree based search protocols are the Binary Tree (BT) protocol [16] and the Query Tree (QT) protocol [17], and are based on classical collision resolution algorithms [18], [19]. Both schemes work by splitting tag IDs bitwise using queries from the reader until all tags are read. In the BT scheme, after a reader query, the reader announces the outcome: collision, identification or no-answer, based on which tags modify their behavior for future queries until all tags are read. The BT scheme relies on tags remembering results of previous inquiries by the reader which makes the tags susceptible to their power supply. The work in [20] proposes three energy-aware schemes based on a hybrid of the QT and FSA to identify tags. These schemes allow a reader to adjust protocol parameters to meet user specified identification delay constraints while minimizing energy consumed. A recent work proposed a tree based protocol, BSTSA, that was shown to identify tags much faster than all known RFID protocols [21], but no known practical implementations of this protocol exist. We will, use BSTSA as a reference for comparing FSA and the C1G2 protocol later during our simulation based evaluations.1 The paper [21] also serves as a useful guide to the current state of anti-collision protocols. B. Frame Slotted Aloha applied to RFID The FSA protocol for RFID is well described in [1] and works as follows. Each tag that needs to be read should have a unique identification number. The RFID reader in the wait mode will send a Request command, and the tags 1 Note that BSTSA is expected to perform better than C1G2; our goal here is to evaluate the widely deployed C1G2 standard extensively, and comparisons with BSTSA is just another dimension of this goal. We do not propose improvements to C1G2 in this work.
3
where S is throughput, and G is the offered load. Figure 1 indicates how the throughput of the Slotted Aloha protocol changes when the offered load G changes. From Figure 1, it can be seen that maximum throughput of the FSA protocol occurs when the offered load G is equal to 1. When G = 1, then S = e − 1 = 1/e.
applications around the globe. Therefore, products that are manufactured according to the C1G2 standard work in any region of the world. C1G2 provides greater security by including password protection, password authorization, and complex encryption. This new protocol also provides better tag read and write speeds and the capability to work in dense reader surroundings [23]. The C1G2 protocol has many new features. It provides faster and very flexible operating speeds. RFID tags situated at the outer border of the reader region are hard to read reliably. These tags obtain only a small, uneven power from the reader. C1G2 provides new features to overcome this issue. One major feature is the Q algorithm. The Q algorithm makes use of short, straightforward query and acknowledgment commands between the readers and tags. Thus, a tag which is receiving only small, uneven power can still be identified. Since C1G2 has the capability to put the identified tags in a ‘quiet’ mode, readers can focus more on the tags that are hard to read in the interrogation zone. Other features include dense reader operating modes and reader sessions [23]. The RFID reader sends commands to RFID tags in its read zone to gather information from the tags. All commands are sent only by the reader to the tags. The reader has the ability to choose a subset of tags from the reader range to communicate, list the chosen tags, and read/write data from every tag using these commands. A reader manages the tags in its range, also known as the tag population, using the three basic operations: Select, Inventory, and Access. In certain circumstances, users do not need to obtain data from all tags in the reader range. In these situations, the user has the ability to pick a subset of the tag population by using the Select command. Inventory is the process of identifying tags. The inventory processes of C1G2 are based on the FSA anti-collision protocol. The reader uses inventory commands to identify tags in the selected population once it has selected a subset from the tags [22]. The inventory process is explained in detail next in Section II-D under the Q Algorithm. Figure 2 shows the tag identification process and timing relationship in the C1G2 protocol. Access is the process of communicating with RFID tags, for example, reading data from a tag and writing data to a tag. Once a tag is uniquely identified by the reader, it uses access commands to access the user memory bank of the tag [22].
C. EPC C1G2 background and differences with Frame Slotted Aloha
D. Q Algorithm
Another variation of the FSA anti-collision protocol is the EPCGlobal Class 1 Generation 2 (C1G2) protocol, also known as EPC Gen 2, Class 1 Gen 2, ISO 18000-6C, or Q algorithm. UHF tags are the least expensive and most widely used tags in RFID systems. As a result, the C1G2 protocol was developed by the hardware action group (HAG) of EPCGlobal to increase the performance and reliability of UHF tags [22]. C1G2 has many advantages compared to previous protocols. One of its main advantages is the establishment of a single UHF specification, which solved the issue of incompatible standards. C1G2 was designed to operate in the entire UHF range of 860-960 MHz to avoid contradictory frequency
The Q algorithm is based on the random slotted Aloha algorithm. The fundamental principle of the Q algorithm is to assign a reading slot number dynamically by exchanging Q values between the reader and tags. The reader begins an inventory by transmitting a Query command to the tags with the session number and the Q parameter. The initial value of Q is 4. The Q parameter value is limited to integers between 0 and 15. Tags that are participating in the identification process select a random value between 0 and 2Q −1 and store this value in the slot counter. The random number assists in reducing the number of tag collisions. Tags that randomly select the value 0 for the slot counter move to the Reply state and
Fig. 1.
Throughput vs. Offered Load [1]
in the reader range will recognize the Request command and respond to the reader by randomly selecting a slot in a frame to send the tag identification number to the reader. Collision occurs when more than one tag responds to the same slot. Collided tags need to be read again. If none of the tags responds, then the Request command will be repeated at cyclical intervals. If the reader identifies the tag identification number without errors (no collisions), then that detected tag can be selected subsequently using the Select command to perform the read/write operation. The throughput of pure Aloha is given by S = Ge−2G , where S indicates the throughput and G indicates the offered 1 traffic load. Maximum throughput is equal to 2e , where G = 0.5 [1]. Throughput of the FSA protocol is increased by having the tags begin transmitting data at predefined synchronous time slots. The collision interval of the FSA protocol is half that of the pure Aloha protocol [1]. Therefore, the throughput of the FSA protocol is defined as S = G · e−G ,
4
Fig. 2. Tag Identification Process and Timing Relationship in Class 1 Gen 2 Protocol [8]. T 1: Time from reader transmission to tag response, T 2: Time from tag response to reader transmission, T 3: Time a reader waits, after T 1, before it issues another command, T 4: Minimum time between reader commands.
reply immediately with a 16-bit random number (RN16) to the reader; the remaining tags go to an Arbitrate state. The random number gives a basic cryptography key and is also utilized as a handle to recognize the tag. If there was a collided reply or no replies from the tags, the reader uses the QueryAdjust command to modify the Q value used in the initial Query command. It informs the tags to either increase or decrease the current Q value. If only one tag replied, the current Q value will not be changed and the reader uses the QueryRep command to inform all tags to decrement their current slot counter by 1. When the counter reaches 0, the tag starts the communication. If more than one tag responds simultaneously, there will be collisions at the reader. Therefore, the reader will not acknowledge these tags, and the slot counter value 0 of the tags that responded will be decremented to 32767 or 215 − 1 or 7F F F h. If the tag response was successful, the reader acknowledges the tag by transmitting the ACK command to the tag after it receives the 16-bit random number. The tag then replies to the reader’s ACK command by sending its PC, EPC, and CRC value. If the reader needs to reset a tag to the Arbitrate state, it sends the NAK command to the tag [22], [24], [25]. The Q value is adjusted by the reader according to no reply, collided reply, and successful reply. Qf p indicates the floatingpoint depiction of Q. The reader rounds the Qf p value to the nearest integer and assigns this value for Q in the Query command. Q = round(Qf p ) If only one tag has selected the value 0 for the slot counter, then the reader will receive a successful reply, and the current value of Q and Qf p will remain unchanged. But if there was a collided reply, then more than one tag has selected value 0 for the slot counter. In this case, the value of Q is considered too small or there are several remaining unidentified tags. Therefore, Qf p is incremented by the value of c, which is a real number. The maximum value of Qf p is 15. The reader will not receive any replies if no tags have selected the value
Fig. 3.
Overview of the Q algorithm [8].
of 0 for the slot counter. This means that the value of Q is too large or there are a small number of remaining unidentified tags. Therefore, Qf p is decremented by the same value of c. The value zero will be assigned to Qf p if it receives a negative value [24], [25]. The values for c are 0.1 < c < 0.5. The reader will use small values of c when Q is large and large values of c when Q is small. The Q value will be incremented by 1 or decremented by 1 or remains unchanged after each Q update since c < 1. The new value of Q is sent to the tags by the reader using the QueryAdjust command. There are also several disadvantages of using the Q algorithm. Many commands need to be exchanged between the reader and RFID tags since the value of Q is updated after every reading slot. This process adds considerable overhead and increases power consumption, an issue if the reader is portable. Since the Q algorithm dynamically changes the
5
reading slot number, it requires some time to converge to the best value, and this also decreases the reading efficiency [26]. E. Our contribution The FSA protocol for RFID has been well studied by researchers as mentioned earlier in this section [1], [6], [9], [10], [20]. There have been some recent empirical studies as well focusing on evaluating the performance of C1G2 [12], [13], [14]. The aim of these studies was to understand the practical performance under various interference scenarios, interrogation distances, and physical layer settings. Our work on the other hand focuses exclusively on FSA anticollision protocol performance with the aim to understand the differences in theory and practice. The theoretical study allows us to quantify the impact of overhead due to realworld protocol mechanisms on comparison with our practical study. The practical study on comparison with our theoretical study gives insights on limitations imposed by various factors on deployment. Studying the energy consumption of readers is another important contribution that can help vendors or users make more informed choices about battery life and latency tradeoffs that may exist. To the best of our knowledge, energy consumption of RFID readers has never been examined empirically though low-level power measurements.
We begin by analyzing the number of time slots required to read m tags in the range of a reader under ideal conditions with no interference. Subsequently, we extend the analysis to include interference as a parameter. A. Ideal Environment It is well known that the optimal number of slots per frame to maximize the number of tags read per frame using FSA is equal to the number of tags to be read [10]. Further, the throughput of the FSA protocol is approximately equal to 1/e when the size of the frame equals the number of tags responding [2], [10]. So, with 1 − 1/e fraction of tags in each round remaining un-identified, in r rounds we would have (1−1/e)r−1 m tags left to be identified from the initial m tags. We want to find out the number of rounds required such that the expected number of un-identified tags is less than or equal to 1 − γ, where γ is the fraction of tags to be identified. Since we seek the minimum number of such rounds, we require
or r =1+
log(1 − γ) . log(1 − 1/e)
t(m) =
r ∑
m(1 − 1/e)j = m
R ∑
(1 − 1/e)j
(3)
j=0
j=0
For γ = 0.99, the value of R = 10 and the time to read m tags using Equation 3 is 2.685m ≈ e · m. This can also be obtained from the fact that for large γ, R is large which makes ∑R 1−(1−1/e)R+1 j = e[1 − (1 − 1/e)R+1 ] ≈ e. j=0 (1 − 1/e) = 1−1+1/e This results in the following lemma: Lemma 3.1: To read m tags, a reader needs e · m time slots with FSA. B. Interfering Environment Many tag identification environments are far from ideal. For example, it is well known that presence of water in the identification area results in many tag responses to be not read by the reader [27]. To take into account the identification delay under such varying conditions, we introduce a parameter q that signifies the probability that any single response is interfered with and is corrupted when it reaches the receiver. Again, building on the results of II-B, the throughput per slot for FSA will be when interference is considered is S = (1 − q)Ge−G ,
III. M ATHEMATICAL A NALYSIS OF F RAME S LOTTED A LOHA
(1 − 1/e)r−1 m = (1 − γ)m
The number of time slots needed to read all tags m in the range of the reader then is simply the sum of un-identified tags (or frame size) per round
(1)
(2)
By tuning γ to a large value we can approximately find the expected number of rounds of FSA required to read all tags. Note that this value of number of rounds required is independent of the number of tags to identify. Thus we have r = R, where R is constant for a given value of γ.
for which we attain maximum throughput for G = 1 equal to (1 − q)/e. Thus, the number of tags un-identified after each round is m(1 − (1 − q)/e). Analyzing as above for the case of no interference, we can arrive at the following lemma: Lemma 3.2: To read m tags considering an interference e parameter q, a reader needs 1−q · m time slots with FSA. IV. F RAME S LOTTED A LOHA AND C1G2 E VALUATIONS THROUGH S IMULATIONS In this section we present results of evaluations of the FSA and C1G2 protocols through simulations. As the C1G2 protocol process is fairly complex with many mechanisms, it is more amenable to simulations than mathematical analysis. Thus, in order to compare C1G2 performance to FSA, we incorporated both into our simulator. Our analysis of FSA in Section III will help validate the results of our simulator and vice-versa. A. Simulation Framework Our simulator, built using MATLAB (Figure 4), allows the user to enter the total number of tags that need to be read and the RFID reader adjusts the number of time slots depending on the number of RFID tags that must be identified. This will make the size of the frame equal to the total number of tags that must be identified. The simulation will run until all RFID tags are read successfully. Tags randomly select a slot to respond to the RFID reader query. If more than one tag responds to the same time slot, there will be a collision at the reader. As a result, these collided tags will not be identified and must be read again.
6
Identification time with FSA for varying interference levels 600
500
q q q q q
= = = = =
0 0.05 0.1 0.25 0.5
Total Time (ms)
400
300
200
100
0 0
10
20
30
40 50 60 Number of Tags
70
80
90
100
Fig. 6. Tag identification for FSA using the simulator taking into account varying levels of interference. Fig. 4. Our RFID Simulator that allows selection among C1G2 and FSA protocol and calculates tag identification delay. Comparison between analytical result and simulator of FSA 1400
Analytical Simulator
1200
Ideal, no interference Case Figure 5 shows the results where the simulation results for varying number of tags are compared to our analytical model. From Figure 5, the time needed to read m tags can be modeled using curve fitting techniques as:
Total Time (ms)
1000
t(m) = 2.7006m
(4)
800
As the numeric value of e is equal to 2.71828, our simulation results closely match that of the analytical model’s results of Lemma 3.1.
600
400
200
0 0
50
100
150
200 250 300 Number of Tags
350
400
450
500
Fig. 5. Tag identification time with FSA protocol. The results from the simulator match those of our mathematical analysis well.
The simulator allowed consideration of user-specified values of interference, q where each tag response is interfered with this probability. B. Simulation Setup Simulations were run for upto 500 tags in steps of 50. The simulator ran each scenario 1000 times with the average value used as the data point in Figure 4. The slot time was taken as 1 ms (corresponding to a data rate of 100 Kbps and 96 bit IDs) for FSA simulations as well C1G2 simulations to allow direct comparison. In practice, slot duration depends on frequency of communication and size of tag ID bitstring. Further, slot times are variable depending on whether the slot results in a single successful tag reply or a collision, or ends up being idle. We will study the C1G2 protocol with varying slot durations (and a different channel data rate) in Section V when we obtain results from our experimental testbed. C. Results for Frame Slotted Aloha We will consider two cases under the evaluation of FSA, just like we did for our mathematical analysis in Section III: the case with no interference, and the case with interference.
Interference case Here we present results of the FSA protocol when interference is present. The simulator allows the user to enter the number of tags m that need to be read and a probability of interference q. Figure 6 shows the values obtained from the simulator for various levels of interference. Curve-fitting techniques again show that time needed to read tags under the interference scenario closely matches our analytical result in the previous e section of t(m) = 1−q m. D. Results for C1G2 The performance of the C1G2 protocol was evaluated using simulations to compare against the results of FSA. Two scenarios were used. The first scenario identifies the delay for tag identification when the RFID reader knows the total number of tags in the range beforehand. In this case the simulation will run until all the RFID tags are read successfully. The second scenario identifies the delay when the RFID reader does not know the total number of tags in the range beforehand. In this case the simulator relies on the value of Q reaching zero with no further replies arriving from tags, indicating that all the tags were read successfully. The simulation was run for upto 500 tags in increments of 50, and each simulation scenario was run 1000 times, and the mean value presented as the data value in our plots. Simulations were run with two different slot times. To compare the simulation results with the FSA, the same slot duration of 1 ms was used. We also compare FSA and C1G2 performance with a recent tree-based anti-collision protocol called BSTSA
Total Time (ms)
7
FSA and C1G2 using the RFID Simulator and reference protocol BSTSA 1500 FSA BSTSA Class1 Gen2, Tags Known, C=0.2 Class1 Gen2, Tags Known, C=0.3 Class1 Gen2, Tags Known, C=0.4 Class1 Gen2, Tags Unknown, C=0.2 1000 Class1 Gen2, Tags Unknown, C=0.3 Class1 Gen2, Tags Unknown, C=0.4
$$ %&'
! ()
500 %&' $
! "#
0 0
50
100
150
200 250 300 Number of Tags
350
400
450
500
Fig. 7. Tag identification time using C1G2 protocol through simulations with the assumption of each slot duration to be 1 ms.
[21] that was shown to perform better than a range of other protocols, though not in practical scenarios.2 The results in Figure 7 show a linear relationship between number of tags and identification time for the C1G2 protocol, with a relationship of t(m) = 3m. This signifies that the C1G2 protocol adds about 3−e e ×100 = 10.7 % overhead to the basic FSA protocol. This overhead, as also briefly mentioned in [28] but without any evaluation, is mainly due to the restriction of a frame size to be a multiple of two in C1G2. We find little difference in results (only a few time slots) between scenarios where the cardinality of tags is known versus unknown; this indicates that the Q algorithm does a good job in estimating tag population through the tag reading process. Interestingly, the value of c does not seem to make any significant impact on tag identification time. The reference protocol BSTSA , as expected, performs much better than FSA or C1G2. However BSTSA (a tree-based protocol), as mentioned before, is not optimized for practical settings and will not be as simple to implement as FSA or C1G2 with no known experimental prototype. V. E XPERIMENTS ON A RFID T ESTBED An experimental study was performed to calculate the RFID tag identification delay using a testbed. In this section we describe our experimental setup, discuss our results, and compute the additional delay introduced in practical settings compared to our idealized simulations of Section IV. A. Experimental Setup We used the SkyeTek SkyeModule M9 Compact Flash RFID reader that has an 860-960 MHz carrier frequency and a tag communication rate (data rate) of 40 KHz or 40kbps, which is the subcarrier frequency since it uses FM0 baseband as the encoding format for the response-to-reader commands [29]. The inventory or the anti-collision mode of the reader was used to calculate the delay for tag identification. The reader chooses all RFID tags in the discovery area until a new RFID tag is found in the area or until the inventory process 2 Note that we had to transform BSTSA’s identification time based on our 1 ms slot duration for direct comparison; the original results in [21] were based on channel with a slower data rate corresponding to a slot size of 2.5ms.
Fig. 8.
Our basic RFID experimental testbed setup.
Fig. 9. Our RFID experimental testbed setup to read large number of tags. A vertical board with tags sticking to it was used.
times out. Our tag placement for a small number of tags is as shown in Figure 8 where tags are in contact with the antenna. For larger number of tags we adopted a vertical flat board placement 1 feet away as shown in Figure 9. The flat board placement maximizes the surface area for reader signals to fall directly onto tags without overlaps. The SkyeTek SkyeModule M9 Compact Flash RFID reader’s Command Retry system parameter controls how many times the operation is repeated. This parameter can be increased to improve reliability and affects the amount of time the operation takes, which is the timeout value of the inventory. The Command Retry value states the number of times a tag command is executed internally in the reader before responding with a failure response. The command is repeated internally for the number of times specified, unless there is a successful response. When a successful response occurs, the reader stops repeating the command and sends a success response back to the user. SkyeTek suggests setting the Command Retry system parameter to approximately double the number of expected tags in the area to optimize the inventory process. But this increases the inventory time unnecessarily since the time that the reader takes before sending a failure message, when a failure occurs, gets increased. Therefore, to reduce unnecessary inventory time, the Command Retry time was decreased until the shortest time was found, at which the reader could identify all tags in the field. Random frequency hopping was used for the frequency hop-
8
Comparison of results from RFID Testbed and RFID Simulator 1000
Total Time (ms)
800
Testbed27dBm Testbed26dBm Testbed25dBm Testbed24dBm C1G2 with q = 0 C1G2 with q = 0.5
600
400
200
0 0
10
20 Number of Tags
30
40
Fig. 10. Tag identification time using C1G2 protocol in our testbed. A comparison with the time for identification by our simulator is shown as well.
ping sequence since it improves reader performance by issuing the commands on different frequencies. For the experimental study, a maximum of 40 RFID tags was identified by using the testbed. This was due to the limitations with the power level and the receive sensitivity of the SkyeTek M9 RFID reader. To compare the simulation results with those of the experimental results, the slot durations have to be comparable. We computed the slot durations to be used in the simulator using Figure 2; the slot time to identify a single tag reply is 8 ms, a collided tag reply is 1.90 ms, and idle slot with no reply is 0.61 ms. B. Results and discussion In Figure 10 we compare the time to identify tags experimentally on our testbed with that of the C1G2 simulator. These testbed experiments were repeated three times with the mean values shown. The standard deviation was too small (less than 2 ms) to be of significance and hence was omitted in the plots. The transmit power of the reader was varied from 24 to 27 dBm, in steps of 1 dBm. For the simulator, we looked at the ideal case with no interference, and also at the case with interference q = 0.5. The goal of looking at these two values of interference was to better understand where the empirical performance lay in comparison to these bounds. We assumed for these experiments that the number of tags were unknown to the reader and a value of c = 0.2 was used; as seen in the previous section, the value of c does not seem to make much impact on tag identification time. According to Figure 10, higher transmit powers at the reader take less time to identify tags, the difference becoming more apparent with greater number of tags to read. Greater strength of reader’s signal at tags makes their response stronger, increasing the likelihood of identification. We can observe that our empirical results are closer to those of the simulator with q = 0.5 implying that in practice, interference of tag responses is a significant component in the delay to identify tags. There is a big discrepancy for tag identification times for 0 tags in our plot as empirically it takes more time to determine if a tag exists in the field, requiring repeated reader queries.3 3 This information has been adjusted into our simulator now; Figure 10 used results before the adjustment so that we could discuss this change.
C. Lessons from Empirical Experiments and Limitations of Simulator Though we abstracted out the difference in tag identification time between the empirical and simulation experiments as due to interference, there are other factors like antenna gain and protocol overhead to consider to improve performance. These factors are somewhat difficult to quantify, and seem to vary. We believe that instead of the term interference, we could collectively term all these effects (including interference) that add delay over idealized simulation results as ‘practical overhead’. We list these factors here so that readers can learn from our experiences. The next sub-section will quantify the impact of this overhead as opposed to an idealized scenario. 1) Antenna Gain: Antenna cable length is a cause for delay in the RFID testbed. The antenna cable gain/loss is approximately -0.49 dB per meter, or -0.15 dB per foot, for a standard RG58 coaxial cable. The antenna polarization will also change the practical tag read time. A linear antenna will add range but requires that the tag is in a specific orientation to the antenna before the reader can detect the tag. A circular polarized antenna in general has less range, but it allows orienting the tag to the antenna in multiple ways. Our experiments used an antenna cable of length 1 feet, and an antenna of the circular polarized type. 2) Protocol Overhead: Even though SkyeTek uses the C1G2 protocol to communicate between the reader and tag, it uses SkyeTek specific messages to communicate between the common blade interface board and PC, which in turn adds additional delay. As mentioned in section 5.2, the SkyeTek specific Command Retry parameter changes the timeout value of the RFID reader, which consequently adds more delay to the RFID testbed tag read time. The commands issued by the RFID reader also seems to have an impact. Depending on the situation, the reader might select Query, QueryAdjust, or QueryRep on all the queries during the inventory except for the initial query which will be the command query. Further, tags do not reply as soon as they receive a command from the reader. Tags take some time to change their state, encode data, and backscatter the reply. The rise time, settling time, and fall time of RFID tags also adds delay in practical situations. Prior to inventory, the RFID reader goes through a Select round, which we have not modeled in the simulator. The simulator also does not take into account invalid ACKs and invalid RN16s sent by the RFID tags. In practical situations these invalid ACKs and invalid RN16s will occur and add more delay to tag identification time. D. Comparison with results from simulator Using curve-fitting of our experimental results, we can model our testbed based identification delay for the transmit power setting of 27 dBm as t(m) = 19m, whereas the comparable simulation results without interference can be modeled as t(m) = 10m. Note that these identification delays cannot be compared to our results in Sections III and IV as the latter were based on constant slot duration fixed at 1 ms; here we are considering non-constant slot durations based on C1G2 protocol mechanisms as explained in Section V-A.
9
If we denote q ′ to be probability that the communication between reader and tag is impacted due to a combination of the factors mentioned above, we estimate q ′ by using an expression of form similar to that in Lemma 3.2, and setting it equal to the observed results from the 27dBm setting in our testbed: 10 m = 19m 1 − q′ giving q ′ = 9/19 = 0.474. Thus, impact of interference, antenna gain, and protocol implementation can easily add up to 50% more delay in an actual deployment compared to simulations of the ideal case of C1G2. VI. I NVESTIGATION OF P ROTOCOL B EHAVIOR AND R EADER E NERGY C ONSUMPTION After having explored the tag identification performance of FSA and C1G2 through a combination of analysis, simulations, and empirical measurements, we next turn our attention to a deeper investigation of protocol behavior and energy consumption RFID readers using the C1G2 protocol. Readers come in a variety of form factors these days, which includes handheld devices and as modules for a smart phone. In such portable scenarios, battery life is often limited and energy consumed during the tag identification process becomes important to consider. In prior work in [20], three energy-aware anti-collision protocols based on a tree-based approach were proposed. Those protocols were never implemented,and hence no practical measurements of power and energy consumption were made. As C1G2 is very commonly used, we believe that a measurement of the power and energy consumed by the reader when identifying tags will be an additional interesting contribution of this work. Such a low-level study also provides useful insights on protocol operation and timing. A. Power Measurement Methodology The circuit and methodology used to measure power consumption of the reader is similar to that in [30]. Power consumption of a reader is calculated by measuring the voltage (a constant 3.3 Volts) and the current they draw from the source. In order to measure the current to the card, a 1 ohm resistor is added in series to the supply and the voltage drop across the resistor is measured using a Tektronix 350MHz digital oscilloscope.4 As we used a 1 ohm resistor, the voltage drop across the resistor equals the current drawn by the reader. B. Investigation of Protocol Behavior We started our experiment by placing a single tag in the readers vicinity and then issued a Select Tag command with inventory flag turned on5 . Figure 2 depicts the reader query and tag response sequence including the frame format and what to expect from a single tag reply to a readers query. The corresponding power pattern is shown in the Figure 11. 4 This oscilloscope does not support continuous recording and replaying. So we also we made use of Labview software from National Instruments. 5 The select command was issued from application software
Fig. 11. Inventory of single tag. Measured peak current levels are also shown that can be used to calculating power consumption.
Figure 11 shows the energy pattern of a Query cycle (Q = 4) with single tag in vicinity. In all our experiments we used a select command to select the ISO 18000-6C tags (C1G2 tags). As per the C1G2 standard, the reader issues a query command and then transmits a continuous wave for the tags to power up and respond. The figure shows how the reader used two query rounds when identifying tags. The same tag is read in both rounds, with a inventory flag switched after it is identified in one round. Inventory flags, as specified in the C1G2 standard, are useful when tags fall within the interrogation range of multiple readers [8]. However, such multiple rounds can add to the identification delay and energy. This can add additional overhead and is another factor that should be included with protocol overhead as discussed in Section V-C. From Figure 11, we were not able to differentiate the command and the continuous wave, so we also captured the RFID reader’s antenna output. Figure 12, shows two different waveform patterns. The waveform on the top is the output signal measured at the RFID reader antenna and the other waveform is the power consumption of the whole reader system. Both waveforms are captured using different channel in an oscilloscope, so they share a common time domain. From the RFID reader antenna waveform we were able to differentiate the continuous wave and the commands that are being issued. In Figure 12 top portion (antenna waveform), the continuous wave is seen as a straight line and the issued commands are represented as spikes. The reception of a packet at the reader is identified by the larger time period for which the reader transmits the continuous wave for tags to respond. It is interesting to observe that the reader system consumes more power when it is transmitting the continuous wave than commands, though the antenna power levels show otherwise. This implies that during transmission of the continuous wave, the reader communication sub-system consumes more power. The only possible explanation is that, during transmission of the continuous wave, the system has to turn on the receiver along with directional couplers. The RFID system is quite aware that the only possible time period at which a reply can come is during the transmission of continuous wave. So it possibly turns off the receiver at other time periods and turn it on during transmission of the continuous wave.
10
Fig. 12. Reader power consumption during inventory of a single tag along with reader antenna output (shown on top). Region A represents time period for Select command and Query command. Region B and C represent the time period in which the reader transmits the continuous wave and expects a participating tag to reply. Region D represents the time period for query repeat command. Region E again represents the time period for which the reader transmits the continuous wave and it is in this period the participating tag replied (in this instance) with its bit random number (RN). Region F represents the time period in which the reader transmits the acknowledgement. Region G represents the time period in which the reader transmits a continuous wave and the tags replies with its identity (following the RN16 sent during Region E).
Fig. 14.
Inventory of seven tags over two cycles.
Energy Consumed for Varying Tag Populations 0.4 0.35
Energy (µW−sec)
0.3 0.25 0.2
0.15
Fig. 13.
Inventory of four tags over two cycles.
0.1 0.05 0
Figure 13 represents the power pattern for inventorying four tags. All four were read in the first cycle, with only three read in the second cycle. We saw no collisions, and assume the fourth tag never responded in the second cycle. Figure 14 depicts a scenario with collisions in reading 7 tags. In the scenario, multiple tags select slot 15 after a Query Repeat and thereby their replies cause a collision at that slot. The reader tries to resolve the collision by sending an acknowledgement with the corrupted 16 bit random number it received. As this 16 bit random number does not match with any of the tags that participated in colliding slot, there was no reply from the tags. Then reader transmits a Query Repeat repeat and moves to the next slot. C. Energy Consumption of Reader We begin by keeping the reader fixed at a transmit power level of 27 dBm and vary the tag population size. Figure 15 shows the energy consumed as a function of number of tags. A quadratic equation e(m) = p1 · x2 + p2 · x + p3 with constants (p1 = −11.18 × 10−5 , p2 = 11.22 × 10−3 , p3 = 5.48 × 10−2 ) models this pattern very well, as verified by curve fitting techniques. This model would be very useful in estimating energy consumption of readers in scenarios that have tag populations of the magnitude considered here. Further
5
10
15 20 25 Number of Tags
30
35
40
Fig. 15. Energy consumed by the reader (set at transmit power level 27 dBm) to identify varying number of tags.
work would be required for larger tag populations to see if the same model can be applied. We study the overall energy consumed to identify 40 tags for different values of reader transmit power. In Section V we had run the same experiments and observed that tag identification delay was smaller for a higher transmit power value. Figure 16 shows that energy consumption is also higher at higher transmit powers. Thus, the reduction in identification delay was not enough to offset the energy lost due to a higher value of transmit power used. We can conclude from this experiment that, for settings in which the reader’s power consumption is important to consider, lower values of transmit power could be employed. If there is an upper bound of tolerable delay, the power could be set at the lowest possible value such that the delay bound is met. Comparing Figure 10 and 16 for 40 tags, we could also come to the conclusion that using the maximum transmit power of 27dBm reduced identification delay by 20% over the transmit power of 24dBm while costing only 10% additional energy. Thus, for scenarios where reducing delay is more important, higher transmit powers should be used.
11
Energy Consumed by RFID Reader at Varying Transmit Power Levels 0.35 0.3
Energy (µW−sec)
0.25 0.2 0.15 0.1 0.05 0
24
25 26 Transmit Power (dBm)
27
Fig. 16. Energy consumed by the reader to identify 40 tags for four different settings of transmit power.
VII. C ONCLUSIONS In this work we performed an extensive evaluation of frame slotted Aloha based anti-collision protocols for RFID systems through mathematical analysis, simulations, and practical experiments on a testbed. The goal was to understand the theoretical and practical performance of these protocols and what challenges exist in improving practical performance. Our results shows that the current C1G2 standard, under ideal conditions, theoretically adds 10% overhead in terms of delay to the basic FSA protocol. Further, in practical deployments, the C1G2 protocol can add a further 50% delay easily due to the impact of interference, antenna gain, and protocol overhead. Our low-level power measurements of a RFID reader provided new insight into the protocol behavior of C1G2 and quantified how much energy is consumed for identifying tags. Characterizing energy consumption of readers will be useful for managing energy versus delay tradeoffs for battery operated application scenarios. R EFERENCES [1] K. Finkenzeller, RFID Handbook: Fundamentals and Applications in Contactless Smart Cards and Identification. John Wiley & Sons, 2003. [2] D. Bertsekas and R. Gallagher, Data Networks, 2nd ed. Prentice-Hall, Inc., 1992. [3] N. Abramson, “The Aloha system - Another alternative for computer communications,” in Proceedings of Fall Joint Computer Conference AFIPS, vol. 37, 1970, pp. 281–285. [4] R. Metcalfe, “Steady state analysis of a slotted and controlled Aloha system with blocking,” in Proceedings of 6th Hawaii Conference System Science, 1973. [5] V. Anantharam, “The stability region of the finite-user slotted ALOHA protocol,” IEEE Transactions on Information Theory, vol. 37, no. 3, pp. 535–540, May 1991. [6] F. Schoute, “Dynamic frame length Aloha,” IEEE Transactions on Communications, vol. 31, no. 4, pp. 565–568, April 1983. [7] J. E. Wieselthier, A. Ephremides, and L. Michaels, “An exact analysis and performance evaluation of framed ALOHA with capture,” IEEE Transactions on Communications, vol. 38, no. 2, pp. 125–137, 1989. [8] “EPC radio frequency identity protocols class-1 generation-2 UHF RFID protocol for communications at 860 mhz-960mhz, version 1.0.9.” [9] C. Floerkemeier and M. Wille, “Bayesian transmission strategy for framed ALOHA based RFID protocols,” in Proceedings of IEEE International Conference on RFID (IEEE RFID 2007), March 2007. [10] S.-R. Lee, S.-D. Joo, and C.-W. Lee, “An enhanced dynamic framed slotted aloha algorithm for RFID tag identification,” in Proceedings of Mobiquitous, 2005, pp. 98–113.
[11] H. Vogt, “Efficient object identification with passive RFID tags,” in Proceedings of International Conference on Pervasive Computing, 2002, pp. 98–113. [12] S. Aroor and D. Deavours, “Evaluation of the state of passive uhf rfid: An experimental approach,” Systems Journal, IEEE, vol. 1, no. 2, pp. 168 –176, December 2007. [13] M. Bertocco, A. Chiara, and A. Sona, “Performance evaluation and optimization of uhf rfid systems,” in Instrumentation and Measurement Technology Conference (I2MTC), 2010 IEEE, May 2010, pp. 1175– 1180. [14] M. Buettner and D. Wetherall, “An empirical study of uhf rfid performance,” in in Proc. 14th ACM Int. Conf. on Mobile Computing and Networking (MobiCom, 2008, pp. 223–234. [15] D. Hush and C. Wood, “Analysis of tree algorithms for RFID arbitration,” in Proceedings of IEEE International Symposium on Information Theory, 1998, p. 107. [16] M. A.-I. Center, “Draft protocol specification for a 900 MHz class of radio frequency identification tag,” February 2003. [17] C. Law, K. Lee, and K. Y. Siu, “Efficient memoryless protocol for tag identification,” in Proceedings of DIALM, August 2000, pp. 75–84. [18] J. L. Capetanakis, “Tree algorithms for packet broadcast channels,” IEEE Transactions on Information Theory, vol. 25, no. 5, pp. 505–515, September 1979. [19] J. Moseley and P. Humblet, “A class of efficient contention resolution algorithms for multiple access channels,” IEEE Transactions on Communications, vol. 33, pp. 145–151, 1985. [20] V. Namboodiri and L. Gao, “Energy-aware tag anti-collision protocols for RFID systems,” IEEE Transactions on Mobile Computing, vol. 9, no. 1, January 2010. [21] T. F. L. Porta, G. Maselli, and C. Petrioli, “Anticollision protocols for single-reader rfid systems: Temporal analysis and optimization,” IEEE Trans. Mob. Comput., vol. 10, no. 2, pp. 267–279, 2011. [22] J. Banks, D. Hanny, M. Pachano, and L. Thompson, RFID Applied. John Wiley & Sons, 2007. [23] D. Brown, RFID Implementation. McGraw-Hill, 2007. [24] M. Daneshmand, C. Wang, and K. Sohraby, “A new slot-count selection algorithm for rfid protocol,” 2nd International ICST Conference on Communications and Networking in China, May 2007. [25] M. C. de Azambuja, C. A. M. Marcon, and F. P. Hessel, “Survey of standardized iso 18000-6 rfid anti-collision protocols,” in Proceedings of the 2008 Second International Conference on Sensor Technologies and Applications, 2008, pp. 468–473. [26] J. Wang, D. Wang, Y. Zhao, and T. Korhonen, “Fast anti-collision algorithms in rfid systems,” in Proceedings of the International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies, 2007, pp. 75–80. [27] M. Jo, C.-G. Lim, and E. W. Zimmers, “RFID tag detection on a water object using a backpropagation learning machine,” KSII Transactions on Internet and Information Systems, vol. 1, pp. 19–32, 2007. [28] C. Floerkemeier and M. Wille, “Comparison of transmission schemes for framed aloha based rfid protocols,” in SAINT Workshops, 2006, pp. 92–97. [29] SkyeTek, “SkyeModule M9 Reference Guide.” [30] L. Feeney and M. Nilsson, “Investigating the energy consumption of a wireless network interface in an ad-hoc networking environment,” in IEEE INFOCOM, 2001.