PrIME: Priority-based tag identification in mobile RFID systems

PrIME: Priority-based tag identification in mobile RFID systems

Computer Communications 108 (2017) 64–77 Contents lists available at ScienceDirect Computer Communications journal homepage: www.elsevier.com/locate...

2MB Sizes 0 Downloads 18 Views

Computer Communications 108 (2017) 64–77

Contents lists available at ScienceDirect

Computer Communications journal homepage: www.elsevier.com/locate/comcom

Review

PrIME: Priority-based tag identification in mobile RFID systems David Benedetti, Gaia Maselli∗, Chiara Petrioli Computer Science Department, Sapienza University of Rome, Rome, Italy

a r t i c l e

i n f o

Article history: Received 6 November 2015 Revised 20 April 2017 Accepted 21 April 2017 Available online 29 April 2017

a b s t r a c t One of the major challenges in mobile RFID systems is the ability to read tags before they leave the system. So far, only a few works have considered tag mobility, targeting specific application scenarios, such as tags placed on a moving conveyor belt. However, many emerging applications involve mobile entities that are free to move so that the set of tags under the reader range is continuously and significantly changing. Such a mobile scenario poses important issues in terms of reliability and timeliness of the reading process. Not only the reader has to estimate the cardinality of the tag population passing through the system, but it has to also timely identify all tags. In this paper we propose PrIME, a new anti-collision protocol for single reader mobile systems. By means of extensive performance evaluation we show that PrIME is able to identify 100% of mobile tags when they follow a pedestrian mobility model, reducing the tag identification delay by over 90% with respect to the most performing solutions available in the literature. © 2017 Elsevier B.V. All rights reserved.

1. Introduction Radio Frequency IDentification (RFID) is the leading technology for automatic identification of large numbers of items (labeled with tags) in several applications ranging from warehouse and good distribution management to object and people tracking. In particular, passive RFID systems are inexpensive, long lasting solutions well fitting the needs of applications that require a massive deployment of tags. Such a passive RFID system is composed of a static reader and a (potentially large) set of tags. The reader sends queries to tags, which obtain their energy for operation and transmission from the reader’s signal (through a backscatter process). Being passive devices, tags cannot transmit spontaneously. They need the reader’s signal to get the energy required for ID transmission. In addition, they are not capable of carrier sensing. Hence, communication in a passive RFID system must be arbitrated by the reader, whose goal is to singulate tag transmissions in order to avoid concurrent replies that would generate collisions, resulting in no identification. One of the major challenges for RFID systems is the design of anti-collision protocols for efficient, swift tag identification [1]. Previous works aim at identifying all tags within reader range while minimizing the number of queries, and consequently the identification time (i.e., the time until the last tag is identified). The identification process to be optimized depends on the application. Typ-



Corresponding author. E-mail addresses: [email protected] (D. Benedetti), maselli@ di.uniroma1.it (G. Maselli), [email protected] (C. Petrioli). http://dx.doi.org/10.1016/j.comcom.2017.04.006 0140-3664/© 2017 Elsevier B.V. All rights reserved.

ical cases include when new sets of tags come under the reader one at time [1–3], or when the application target is to detect changes in a set of tags (e.g., tags that exit or enter the set), which requires multiple (consecutive) readings [4]. Despite the large number of anti-collision protocols proposed in the literature to address the two above application scenarios, very few solutions have dealt with tag mobility. This is indeed a significant limit as coexistence of static and mobile tags is a distinguishing feature of many emerging applications such as management of patient movements and medical equipment tracking in hospitals, monitoring of baggages and passengers in airports, and so on [5]. In all these scenarios the operational range of the RFID system is limited to a few meters so that mobile tags are in the reader range only for a few seconds even if moving at slow speed. To investigate the effect of mobility in a real environment we performed experiments with a commercial reader [6] implementing the EPC global standard [7]. The reader was placed on a side of a corridor of our University department. Up to 20 students with tags were passing by the reader either in a single line or freely at normal pace. We measured the percentage of identified tags. In the case of a stream of people walking slowly in a single line, the reader was able to identify 90% of tags. Keeping the single line model, and increasing the number of tags walking across the reader range (we put two tags on each person to represent the case of people carrying a tagged object), the reader identified less than 60% of tags. The identification percentage dropped drastically below 50% when people were walking in group instead of a single line. The poor performance clearly shows the need to revisit existing anti-collision protocols considering the application require-

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

ments in terms of both percentage of identification of tags and time. To the best of our knowledge, the field of anti-collision protocols for mobile tags is quite unexplored. A few works have considered tag mobility, targeting specific application domains (e.g., postal service, logistics delivery, etc.), which require to place tags on a moving conveyor belt [8–13]. In [9] the initial tag population, tag arrival and departure rates are found in order to guarantee a desired tag reading probability. In [10] authors find the minimum distance at which tags should be placed to be identified. In [11] authors discuss how to dynamically adjust the conveyor speed so that the reader is able to reliably identify tags. In [12] the operational limits (e.g., tag speed and density) of a dense RFID system are obtained for a given reliability objective. In [13] authors exploit signal attributes to track the order of tags on the conveyor belt. All these solutions address scenarios involving limited mobility: tags move in the same direction and at the same speed. This paper addresses more general mobile scenarios. We consider the case of tagged entities that move freely at different pedestrian speeds and address the main challenges arising from such mobility model: i) to timely identify tags, as some of them may lie under the reader range for a very short time; and ii) to properly estimate tag cardinality as the set of tags under the reader range changes continuously. To address these challenges we propose PrIME (Priority-based tag Identification in Mobile Environments), a new fast and reliable anti-collision protocol for the identification of static and mobile tags in the reading range of a single static reader (presented in a preliminary version in [14]). The innovative aspect of PrIME is the introduction of the concept of priority in the identification process that expresses how fast a tag needs to be identified, based on its nature—static or mobile—and on its permanence under the reader range, i.e., the time since it entered the system. The main contributions of this paper are: • The proposal of a novel anti-collision protocol (PrIME) for mobile RFID systems. PrIME includes two key components: i) a priority-based model for tag identification; and ii) a method to estimate the cardinality of mobile tags in highly dynamic scenarios. • An analytical study of PrIME performance. • A thorough ns2-based comparative performance evaluation of PrIME with the ABS [4], ABS-OS [15], FSA [16], Q [7], BSTSA [1] protocols. By means of extensive simulations in scenarios involving both static and mobile tags (with different percentages), we show that PrIME is able to identify 100% of mobile tags when they move according to move according to a pedestrian mobility model. In addition PrIME reduces the tag identification delay by over 90% with respect to the other protocols. The rest of the paper is organized as follows: Section 2 reviews the major tag identification protocols proposed in the literature. Section 3 describes our new protocol PrIME. In Section 4, we discuss the results of an ns2-based comparative performance evaluation of PrIME and other major representatives out of the Alohabased and tree-based protocols. Section 5 presents an analytical study of PrIME performance. Section 6 discusses practical implementation issues. Finally, Section 7 concludes the paper. 2. Related work Most of research on identification protocols has focused on static environments, proposing schemes to sequentially or concurrently read tag IDs. Sequential protocols aim at singulating tag transmission and can be grouped into two main classes: tree-based and Aloha-based protocols. Tree-based anti-collision protocols iteratively query subsets of tags which match a given property until all

65

tags are identified. The main representatives of this class protocols differ in the way tags are queried: based on a counter stored in the tags in Binary Splitting (BS)[4], and on the binary structure of tag IDs in Query Tree (QT) [2] solutions. Aloha protocols assumes a slot-based channel, with slots grouped into frames (Framed Slotted Aloha). The reader communicates the frame size at the beginning of each frame, and signals the start of each slot with a short message. Upon receiving the reader query, each tag randomly and uniformly selects one slot in the frame to transmit its ID. At the end of the frame, tags that are successfully identified become silent, while tags that generated collisions keep trying in the following frames. This process is iterated until all tags are identified. The main problem in Aloha protocols is that the number of tags to be identified is not known by the reader and must be estimated to properly tune frames size. Variants of the basic Framed Slotted Aloha scheme aim at optimizing the slot-based scheme. A few examples are the Tree Slotted Aloha (TSA) protocol [3], and the Binary Splitting Tree Slotted Aloha (BSTSA) protocol [1]. TSA queries tags based on collision groups: it issues a new frame for each collision slot in the previous frame. Only the tags that collided in the same slot participate in the same new frame. TSA reduces the size of colliding groups, making the protocol more efficient. Binary Splitting Tree Slotted Aloha (BSTSA) protocol [1] further improves protocol performance by introducing a tag cardinality estimation method to properly set the initial frame size. In BSTSA, an initial splitting phase is performed to group tags into sets whose size can be efficiently estimated. Then TSA is applied to each group. BSTSA is shown to outperform slotted Aloha protocols, QT and BS. However, BSTSA (as all other sequential anti-collision protocols for static environment) does not cope efficiently with highly dynamic scenarios typical of mobile RFID (see results in Section 4), as they do not handle the entrance of new tags during the identification process. Concurrent protocols use a different approach to identify tags: they exploit collisions instead of avoiding them [17–19]. Their basic idea is to use simultaneous tag transmissions and apply collision decoding techniques to get tag IDs [20–22]. Specifically, TIANC [17] uses multiple antennas and analog network coding to recover the original tag transmissions. Buzz [18] applies compressive sensing to sparse colliding signals to infer tag IDs. After a channel estimation phase, tags can transmit their full EPC ID concurrently, which are decoded by the reader using a belief propagation algorithm. The problem of both TIANC and Buzz lies in channel estimation which is an issue in case of mobile tags. If a tag moves, the estimated channel coefficient may vary, resulting incorrect when the tag transmits its ID. PIP [19] uses L − k codes for concurrent RFID identification. The reader specifies the values L, k, and an estimate m of tag cardinality. The tags then use these parameters to map their actual ID to a new ID that is of length L and has k ones in it. Tags then transmit their L − k codes concurrently, which are decoded by the reader. The fundamental assumption for PIP is to know in advance the whole set of potential IDs, that makes it not applicable in a mobile scenario in which the tags passing under the reader range may come from any part of the world, involving a huge ID space (e.g., 296 elements in case of 96-bit IDs). Another relevant topic to our work is the identification of arriving/leaving tags in a system. This is typical of applications that want to identify which objects have moved into and out of the monitored environment (e.g., stockroom locations) across successive readings. Early work proposes adaptive protocols: they use information on the outcome of a reading cycle to optimize the successive reading by querying tags in a predefined order. The Adaptive Binary Splitting (ABS) and Adaptive Query Splitting (AQS) [4], after the first reading (performed respectively through BS or QT), try to avoid idle and collision slots by querying directly previously identified tags. Specifically, ABS assigns unique slots to tags, while AQS uses a temporary queue containing all prefix strings that led

66

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

to identification. Li and Huo [23] address performance degradation of adaptive protocols in case of re-entering tags (i.e., tags leaving the communication range of a reader and returning later without having entered the range of any other reader). The objective is to avoid collisions among re-entering tags and staying/arriving tags. Yang et al. [24] has recently addressed the problem of early detecting leaving tags by proposing a system to precisely discover slight tag motion at centimeter level. These methods represent a step toward scenarios involving mobile tags but they do not fit highly dynamic scenarios, as considered in this paper. The solutions most related to our work are the ones proposed in [8–13,25,26] which consider tags moving on fixed paths, for instance on a moving conveyor belt. The goal in this case is to find the appropriate system parameters to guarantee a high identification rate: the speed and density of tags [8,25] or the minimum distance at which tags should be placed [10] in order to identify all tags. In case the reader has no prior knowledge of how tags are distributed on the conveyor, the reader can dynamically adjust the conveyor speed so that it is able to reliably identify tags [9,11], or exploit transmission signal attributes to detect the order of tags on the conveyor belt [13]. Also the case of a dense reader environment is considered in [12]. In a scenario with constant physical parameters (velocity, tag distribution, etc.) the authors find the most suitable configuration and the operational limits of the system to meet a given reliability objective. The work in [26] also proposes a Markov model for the analysis of scenarios where an arbitrary number of tags flows through the coverage area of the reader. The main limitation of these solutions is given by the constraints on the mobility pattern, which prevent the application of such schemes to any time-stringent scenario in which entities are free to move and require fast identification. Finally, we mention a work that considers uncontrolled mobility of tags and addresses the problem of rostering—reporting a list of tagged mobile nodes that appear in a given area and time interval [27]. However, the focus of the work is on information distribution rather than efficient tag identification.

Fig. 1. Flow chart of the PrIME protocol.

communicate its priority to the reader together with its ID, adding only few bits per transmission (note that the EPCGlobal specification [7] states that tags must provide some bytes of free memory in which users can write down special data). Although this solution may appear infeasible due to costs, Computational RFID tag are intended to be mass manufactured like RFID tags at price points closer to 1&aptrdollar [30].

3. The PrIME protocol 3.2. Protocol overview 3.1. Basics The objective of PrIME is to reliably identify all tags that pass through the system. To this end, PrIME has to address new significant challenges introduced by tag mobility. First, mobile tags do not remain long under the reader range and hence require a timely identification. Second, mobility causes high variability in the tag population, as both the amount and the identity of tags change continuously, making tag cardinality estimation a challenging issue. To address these two important problems PrIME introduces the concept of priority, defines a novel priority-based identification process, and specifies cardinality estimation techniques for highly dynamic environments. Priority expresses how fast a tag needs to be identified and is introduced to meet the application requirements of reliability and timeliness: mobile tags have high priority while static tags have low priority. The question then arises: How can a tag determine whether it is static or mobile? A first solution is to mark a tag at setup, based on the nature of the labeled entity (e.g., in the hospital environment, people will be marked as mobile while equipment will be set as static). A second solution is to make tags understand themselves their state. This is possible by equipping tags with an accelerometer (see for example the UMich Moo Computational RFID tag [28]), and making them detect locally eventual motion variations. The accelerometer mounted on the UMich Moo tag can periodically detect the presence or absence of motion at extremely low power consumption [29]. This allows the tag to dynamically set/change its state (static or mobile), and

Given the need for continuous reading, PrIME performs consecutive reading cycles (in the paper we also use the notation cycles). Each cycle is composed of multiple group identifications, each devoted to identify a subset of the tags that are within the reader area. Reading cycles are defined only for internal protocol operation and are completely invisible to the user that instead sees tag reading as a continuous process. The whole process starts with a preliminary setup phase, that divides static tags into sets of computable size, identifies all tags that are present at the moment (both static and mobile), and defines the number of groups for the following reading cycles. Then PrIME proceeds to the adaptive operation, during which the reader continuously identifies the tags staying in and passing through the system (see Fig. 1). PrIME has been designed to allow mobile tags to enter the identification process as soon as they are under the reader range and to join with high probability the groups that are going to be identified next, and with low probability the groups that have to wait longer before being identified. Therefore the main innovation in PrIME relies in the way mobile tags enter a reading cycle, are served based on their priority, and are estimated by the reader to properly tune the protocol parameters. As PrIME is an Aloha-based protocol, frame sizing is a big issue: the reader does not know how many tags are in the system and improperly sizing Aloha frames would lead to serious performance degradation [31]. PrIME does not estimate the total number of tags (as the majority of solutions

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

in literature [32]) but the number of tags that are currently joining a group for identification (a subset of the arriving tags plus a subset of previously arrived tags). PrIME is based on a probabilistic model, easy to implement on common RFID tags [7] and specifically designed to address variations in the population of tags entering the system. Being group joining probabilistic, only a subset of a group of arriving tags will join the next group, consequently avoiding bursts of entering tags that may negatively affect protocol performance. Thus PrIME’s cardinality estimation easily adapts to the dynamics of arriving tags. Hereafter we first present the main protocol phases and then explain the joining policy for mobile tags, specifying the PrIME protocol details from the tag and the reader sides. 3.3. Setup phase At start up, when the reader is switched on, PrIME does not know how many tags are present in the system and how many mobile tags will pass through it per unit of time. For this reason, it performs the setup phase. Besides identifying all the tags at the moment under the reader range, the setup phase has the goals of: i) grouping and estimating static tags; and ii) starting the process of estimating the (mobile) tags flow that passes through the system. The primary effect of this phase is that the reader creates a tree that acts as backbone for the following reading cycles. At each level of the tree there will be a group of static tags that remains almost unchanged across multiple cycles, and a group of mobile tags that will change every time, depending on the tags passing under the reader range. In the following we first review the grouping and identification operations performed in the setup phase. We then explain the adaptive operation and the probabilistic model that rules the joining of mobile tags to the identification process (Section 3.5.1). 3.3.1. Grouping The setup phase starts by dividing static tags into groups whose size can be easily estimated. Grouping is performed through a binary splitting process, that stops when the first static tag is identified (see Fig. 2). The mobile tags present in the reader range do not participate in grouping, but wait for the beginning of the identification phase, when they join one of the created groups. Splitting process: At the beginning, all the static tags initialize an integer counter to zero. The reader issues a query, and the tags with the counter equal to zero (initially all of them) respond with their ID. In case of collision, colliding tags (i.e., grey nodes in Fig. 3) pick a random binary value (0,1) and sum it to their internal counter, so that they are split into two groups: those with the counter equal to zero and those with the counter equal to one. Only the tags whose counter is equal to zero can answer to the new query: the others stay silent. In case of identification or no answer, all tags subtracts 1 from their counter. The tags whose counter becomes zero reply to the next query. The outcome of a query (i.e., collision, identification, or no answer) is notified to tags by the reader, including a bit – 0 in case of collision and 1 in case of identification or no answer – in the following query. Fig. 3 shows the splitting process for a set of n static tags. They are recursively split into two subgroups (li and ri , 1 ≤ i ≤ lmax ) until a single-tag group is created and the tag in that group is identified (i.e., leftmost leaf of the splitting tree in Fig. 3). The cardinality of the group at level li+1 is twice that one of group at level li . As tags split following a random distribution, the two sibling nodes ri and li will have almost the same size, that is approximately half that of their parent node (li+1 ), that is almost the same of its sibling node (ri+1 ). The splitting process stops when the first single-tag group (l1 ) is created (i.e., first identification happens), as we can easily estimate the size of its sibling (|r1 | = |l1 |),

67

and identify it. Then, we can proceed with the upper level, estimating the size of group r2 , where |r2 | = |l1 | + |r1 |, and identify the tags in that group, and so on (Fig. 4). 3.3.2. Identification Group identification is the second part of the setup phase (see Fig. 2). The sets of tags ri , i = 1, . . . , lmax , are progressively identified by applying the TSA protocol [3]. TSA is a framed slotted Aloha protocol. TSA first issues a frame whose size is set based on the estimate |ri | and interrogates all the tags in the group. In case of collisions, child frames are allocated, each devoted to solving the collisions which have occurred in a given slot of the first frame (only the tags which transmitted in that slot participate in the corresponding frame). The approach is iteratively repeated: if collisions occur in one of the frames allocated to solve collisions (say, frame f), new frames are allocated to solve such collisions (one for each collisions slot in frame f). At this stage, mobile tags can join the identification process, competing with static tags for identification. Group joining is ruled by a probabilistic model specifically designed to handle the flow of mobile tags, and explained in Section 3.5. 3.4. Adaptive operation After setup, PrIME switches to the adaptive operation, in which splitting is no longer performed. Static tags are supposed to remain almost the same through multiple readings, while mobile tags will continuously enter and leave the system. For this reason, only groups identification is performed, based on the tree created in the setup phase (the right siblings in Fig. 3 corresponds to tags groups in Fig. 5). At each level of the tree, there will be a group of static tags (created in the setup phase), and a group of joining mobile tags. The two groups are identified separately and by means of different protocols: static tags are identified through the Adaptive Binary Splitting protocol [4], while for mobile tags the TSA [3] protocol is used (see Fig. 5). The use of ABS for static tags is motivated by its good performance in scenarios in which the percentage of tags that enter or leave the environment is small over time. New static tags may enter the system and participate into the first ABS execution they see. ABS minimizes collisions and idle slots by assigning to each tag a unique slot in a frame and querying tags sequentially based on the assigned slot. The AQS [4] would be also valid, as we consider a uniform ID distribution, case that makes the performance of the two protocols comparable. Instead, mobile tags are continuously changing and hence require a more dynamic protocol such as TSA [3]. When a mobile tag is identified it becomes silent (it gets an implicit ack from TSA). Thus mobile tags temporary staying under the reader range do not participate anymore into the identification process, so as to avoid any competition with new arriving tags. Identification performance is however strongly dependent on the way mobile tags distribute throughout the groups and the way TSA frame size is set. These two aspects are core components of PrIME design and are presented in the following section. 3.5. Group joining When a mobile tag enters the system, it has to be identified as soon as possible. However, allowing any new tag to immediately join an ongoing identification process may compromise the effectiveness of cardinality estimation techniques, causing serious performance degradation. Bursts of new tags, typical of many mobile scenarios, would make the situation even worse. State of the art protocols typically do not allow new tags to join an ongoing identification process: they have to wait for the beginning of a new reading cycle. The main drawback is identification

68

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

Fig. 2. Flow chart of the setup phase.

delay: waiting till a new reading cycle may mean leaving the system before being identified. PrIME overcomes this problem, admitting new tags in the reading process at any time, but requiring them to follow a joining probabilistic model that guarantees smoothed insertion and short identification delay. In particular, PrIME provides an aging mechanism that increases the insertion probability as the waiting time of joining tags increases. Tags and reader adopt a model that rules tag joining and allows the reader to estimate the amount of tags entering the system. In the following we go through this model presenting first the tag side and then the reader side. 3.5.1. Tag-side When a tag t enters the system or is in the system but has failed a previous joining attempt, it waits for the beginning of the next TSA frame. Let us suppose the reader is going to identify group Gi , where 1 ≤ i ≤ lmax . Then the reader sends a TSA query including in addition to the TSA information, the height of the splitting tree (i.e., lmax ) and the level it is going to identify (i.e., i). Received these values, tag t joins the next group Gi with a prob-

ability that is calculated ad follows.

P ( Gi ) =

1 + Pacc (i ) +  2i

(1)

where 1/2i represents the probability of choosing level i, based on the same distribution that is used to place static tags on the tree (in the splitting operation each tag has probability 1/2i to select the group at the i − th level). The term 1/2i allows tag t to join with high probability the next group to be queried (at the lowest possible level). The accumulated probability Pacc (i), defined in Eq. (2), provides an aging mechanism that increases the probability of selecting the successive group whenever a group selection fails. It is given by the sum of the joining probabilities of the groups which have already been queried (i.e., before the i-th group).



Pacc (i ) =

0 i−1

k=1

1 2k

+



if i = 1 if 1 < i ≤ lmax

(2)

Being group selection probabilistic, it may happen that a tag does not choose any group in the reading cycle. To reduce the chance of this event, we have introduced the  term that further

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

69

Fig. 3. Splitting process for an initial set of n tags.

Fig. 4. Flow chart of the adaptive operation.

strengthens the distribution. It represents the residual probability needed to ensure that each tag chooses one level of the current tree and is defined in Eq. (3)

=

1−

lmax j=1

lmax

1 2j

(3)

Fig. 6 shows that P(Gi ) sums to 1 as the level i approaches the top of the tree (i.e., lmax ). This means that a tag entering the system at any level i, i ≤ lmax − 1, will join with very high probability a level of the current reading cycle. Tags arriving during the execution of the top level (i.e., lmax ) instead will participate into the following reading cycle.

3.5.2. Reader-side One of the main tasks of the reader is to estimate the cardinality of tag groups in order to properly size TSA frames. Let us assume the reader is going identify the j-th group Gj in the i-th reading cycle. The group participating into the TSA protocol is composed of both static and mobile tags in case of the setup phase,1 and only of mobile tags in case of the adaptive operation (static tags are in this case identified through the ABS protocol). Eq. (4) estimates the number nˆ i, j of tags present in the j-th group of i-th reading cycle.

1 Mobile tags can join groups also during the setup phase, when they are identified together with static tags.

70

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

Fig. 5. PrIME functioning example.

1

P(G_i)

0.9

0.8

0.7

lmax=3 lmax=5 lmax=7 lmax=10

0.6

0.5

0

1

2

3

4

5 Level ( i )

6

7

8

9

10

Fig. 6. Joining probability P(Gi ), where 1 ≤ i ≤ lmax .

 nˆ i, j =

ˆ 1, j Sˆ1, j + M ˆ i, j 1+M

if i = 1, 1 ≤ j ≤ lmax if i > 1, 1 ≤ j ≤ lmax

(4)

where Sˆ1, j is the number of static tags in group j, estimated during ˆ i, j is the number of the grouping phase (see Section 3.5), and M mobile tags joining group j. The term 1 in the case of adaptive operation avoids that PrIME issues empty frames if the estimated number of mobile tags is equal to zero.

ˆ i, j the reader has to consider the exTo estimate the value M ˆ pected number Mnew,i, j of tags that joined the group at the first attempt — among those that arrived during the previous group idenˆ aging,i, j of mobile tags that tification — plus the expected number M joined the group after multiple attempts, as specified in Eq. (5).

ˆ i, j = M ˆ new,i, j + M ˆ aging,i, j M

(5)

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

ˆ new,i, j is estimated based on the entrance factor λi, j , The value M that represents the average number of mobile tags that entered the system so far per unit of time. It is calculated before each group identification by considering the amount of mobile tags Mnew, i, j identified in the j-th group, the time Ti, j needed to complete the jth group identification in the i-th reading cycle, and the probability Pj = P (G j ) of joining group j.

 Mnew,i, j−1

λi, j =

Pj−1 ·Ti, j−2 Mnew,i−1,lmax Plmax ·Ti−1

if j ≥ 2

(6)

if j = 1

When j ≥ 2, Mnew,i, j−1 represents the number of mobile tags identified in the previous group, Ti, j−2 the time required to identify group j − 2, and Pj−1 the probability of joining group j − 1. Essentially, Mnew,i, j−1 /Pj−1 gives the expected number of mobile tags that were under the reader range during the ( j − 1 )-th group identification (not all of them joined the group). The division by Ti, j−2 normalizes the result to a unit of time. We consider the completion time for ( j − 2 )-th group identification, as the new tags that joined group ( j − 1 ) entered the system during the identification of group ( j − 2 ). When j = 2, Ti, 0 indicates the completion time of the splitting phase (if i = 1) or the completion time of last group identification in the previous cycle (if i > 1). When j = 1, λi, j Ti−1 represents the time taken by either the last group identification in the previous reading cycle (Ti−1,lmax ) or the splitting operation (TBS ). ˆ new,i, j of mobile tags that joined Then, the expected number M group j at the first attempt is calculated by considering the entrance factor λi, j , the joining probability Pj , and the interval of time during which these new tags arrived Ti, j−1 (see Eq. (7)).

ˆ new,i, j = λi, j · Pj · Ti, j−1 M

(7)

In Eq. (8) we estimate the second term on the right side of Eq. (5), that represents the number of tags that join the identification process after some selection attempts.



ˆ aging,i, j = M

if j = 1

0 ˆ out M aging,i, j−1

· Pj

(8)

otherwise

The first group identification ( j = 1) of each reading cycle does not involve any aging tags (i.e., tags joining the group after failing previous attempts), because the probability of joining the last group of a cycle is always equal to 1 (i.e., Plmax = 1). This means that each tag is identified during the reading cycle that is ongoˆ aging,i,1 = 0. Instead, for any ing when the tag arrives. Therefore M other group j, j > 1, the number of aging tags that join the group ˆ out depends on the number M of tags that have failed the preaging,i, j−1 vious attempts, up to the ( j − 1 )-th group, and successfully select the j-th group. ˆ out The expected number of tags in the set M is calculated aging,i, j−1 by considering the number of tags present in the same set at the lower level j − 2, the number of aging tags that joined the level j − 1, and the expected number of new tags that failed the joining at the j − 1 level, related as in Eq. (9).

ˆ out ˆ out M aging,i, j−1 = Maging,i, j−2 − Maging,i, j−1 + Mnew,i, j−1 ·

1 − Pj−1 Pj−1

(9)

1−P ˆ out The base case of Eq. (9) is M = Mnew,i,1 · P 1 aging,i,1 1 As there are no waiting tags from previous levels, but only tags that just arrived and failed the group joining. Note that, despite the estimation procedure may look complex, it is performed in a device (the reader) that is not resource constrained. In fact, the reader simply needs to compute the probability Pj , that directly derives from the protocol logic and uses its knowledge on the number of identified tags to perform the estimation.

71

3.6. Remarks on tag state change PrIME allows tags to change their state (from static to mobile, or vice versa), in case they detect autonomously eventual motion variations and dynamically set their state (see Section 3.1). If a static tag becomes mobile, maybe because the labeled object is moving away, the system reacts in the following ways: 1) the tag updates its state to mobile: the accelerometer onboard will trigger a state change as the tag starts moving; 2) PrIME understands that a static tag has left the system, as it does not participate anymore in the ABS identification (see Section 3.4); and 3) PrIME identifies the tag as a new mobile tag entering the system. In case a mobile tag becomes static, PrIME will just see a new static tag entering the system (mobile tags are silenced after being identified). Thus, a mobile tag that becomes static has to reset its identification state and enter the ABS phase. State changes are efficiently handled by PrIME, as in both cases there are variation only in the ABS phase, and the ABS protocol is efficient in scenarios in which the percentage of tags that enter or leave the environment is small over time [4]. 4. Simulation study In this section, we evaluate the performance of PrIME through simulations. We implemented PrIME on NS-MIRACLE [33], a ns2 framework, and compared it with the main representative anticollision protocols in the literature. Specifically, we selected protocols designed for static and dynamic environments. As representatives of the former class, we implemented the following protocols: BSTSA [1], FSA [34] and Q [7]. BSTSA is the most recent and best performing Aloha protocol available in the literature for static scenarios [1]. FSA and Q have been included to have a comparison also with the most popular protocols for RFID systems [34]. In particular, the Q protocol is the standard version of the FSA released by EPCGlobal [7], and it is implemented in most commercial RFID systems [6]. To make these protocols work in mobile scenarios, we implemented them so that only those tags that receive the first message of the current cycle are allowed to participate in a reading cycle. The other tags that enter the environment during the execution of the reading cycle will wait until a new cycle begins. This way all protocols are able to properly estimate the tags that are participating in a reading cycle, and can identify them without altering the estimation process. In order to maximize the efficiency of the protocols and make a fair comparison with PrIME, optimal frame tuning [1] is applied to both BSTSA and FSA. The same strategy is not applied to the Q protocol, because of its specific exponential approach for frame sizing [7]. As representatives of the class of anti-collision protocols designed for dynamic environments, we selected ABS [4] and ABS-OS [15]. Being adaptive, these protocols are the natural competitors of PrIME in dynamic scenarios. The ABS protocol has been specifically designed for environments in which entities may move in and out of the reader range, even if with low probability. ABS-OS is an improved version of ABS, which aims at decreasing the average identification delay experienced by mobile tags. When implementing ABS and ABS-OS, we also imposed that tags entering the system during the execution of a reading cycle have to wait until the beginning of a new cycle before they can participate in the identification process, so that the adaptive operation of ABS and ABS-OS is not neutralized by the entrance of new tags. We do not compare with AQS [4] as it performs similarly to the ABS protocol. 4.1. Simulation setup To analyze the protocol performance we focus on the following metrics: (i) identification ratio or percentage of identified mobile

72

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

tags, defined as the average percentage of mobile tags which are identified during a reading cycle with respect to the number of mobile tags participating in the cycle2 ; (ii) identification delay defined as the average time needed to identify each mobile tag; (iii) throughput defined as the average number of mobile tags identified per unit of time; and (iv) time system efficiency defined as the average percentage of time successfully spent in identifying tags within each reading cycle [1]. We consider an RFID system with a single static reader that has a transmission range of 2 × 8 m, in horizontal and radial axis respectively. This is in accordance with the sizes shown in [35,36] for the communication range of the antenna. The scenarios involve a few static tags remaining in the monitored area for quite a long time, and many mobile tags traversing the reader range and disappearing in very short time. Consider for instance the possible use of the PrIME systems in airports and hospitals. In airports, passengers and baggage can be tagged so that their movements across gates can be tracked (mobile tags). Streams of passengers can walk through the reader where security staff and equipment (tagged as static) remain almost unchanged. In hospitals, tags may enable tracking of patients, visitors, medical staff, and equipment. Bedridden patients and equipment are mainly static, while medical staff, autonomous patients, and visitors are free to move. As patients typically wear multiple labeled body sensors and medical devices, the number of static tags may substantial. For this reason we generate results by varying the number of static tags in the range Ns = 25, 50, 75, 100. A minimum number of static tags is required for protocol operation. Without any static tag it would be not possible to build the tree on which the PrIME protocol relies (see setup phase in Section 3.3). Requiring the presence of some static tags is not a strong assumption as in any indoor environment it is possible to tag objects and furniture that are under the reader range. The number of mobile tags that enter the environment varies per second. We assume a pedestrian mobility model, in which each mobile tag has a speed picked randomly and uniformly in the range [1.29, 1.49] m/s, whose extremes represent respectively the average speed of an elderly and of a young person [37]. Thus, given that the reader has a range of 2 m, the average time spent by a mobile tag under the reader range varies in the interval [1.35, 1.55] s. The number of mobile tags that enter the reader range per second is Dm = 10, . . . , 200 tags/s. To make graphs easier to read, we show only the results for some values of these parameters (Ns = 100, Dm = 40, 80, 120, 160, 200). Results for other number of tags show similar trends. In our scenario the channel data rate is 40 Kbps and reader-tag communication occurs at a frequency 866 MHz, as specified by the EPCglobal standard [7]. To evaluate the impact of mobility on performance metrics we assume an ideal communication channel, i.e., a channel that is completely free of transmission errors. In this way, the reader correctly detects the responses from tags, and any identification failure is due only to mobility. Tag IDs are 96 bits long, which is the most commonly used length [7], and they are uniformly distributed. Results have been obtained by averaging over 200 reading cycles. 4.2. Results We evaluate the reliability and timeliness of PrIME by varying the number of static tags Ns in the range [25, . . . , 100] and the density of mobile tags entering the reader range per second (Dm = 40, 80, 120, 160, 200 tags/s). We report graphs only for the case of Ns = 100 as results for the other values show similar trends. Fig. 7 shows that PrIME is very reliable as it identifies 100% of tags

2 During the identification process static tags have always been successfully identified by all protocols.

Fig. 7. Percentage of identified mobile tags.

Fig. 8. Mobile tag identification delay.

for Dm = 40, 80, 120, 160 tags/s and 98.8% of tags when Dm = 200 tags/s. Increasing the number of tags entering per second (above 200 tags/s) or the speed of tags (above 1.5 m/s) the identification ratio decreases. In the case of 200 tags/s PrIME identifies 98.8% of mobile tags—meaning that the system fails the identification of about 1 tag every 70. Thus the density of 200 tags/s represents an upper bound for PrIME performance. The same effect is observed when the tag speed exceeds 1.5 m/s. All other protocols show significant performance degradation as the density of incoming tags increases. ABS and BSTSA (that are the best performing protocols among PrIME competitors) loose from 8% to 21% of tags, when the density of mobile tags increases from 120 tags/s to 200 tags/s. ABSOS and Q protocols show much worse performance loosing respectively 4% and 1% even in the case of 40 tags/s and up to 50% of tags with 200 mobile tags/s. PrIME is able to guarantee also timeliness, as it takes less than 0.2 s (corresponding to 80 0 0 bitslots) when 160 tags/s enter the reader range, reducing the identification delay up to 80% with respect to ABS and BSTSA (Fig. 8). Even in very stressful situations, with 200 mobile tags/s, PrIME outperforms all the other protocols keeping the identification delay very low (less than 25, 0 0 0 bitslots, or 0.6 s), reducing latency up to 37% with respect to ABS and BSTSA, and 42% with respect to the FSA and Q protocols. The improvement is much higher with respect to ABS-OS, as PrIME is 59% faster.

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

73

Fig. 11. PrIME mobile tag estimation.

Fig. 9. Mobile tag throughput.

the number of mobile tags. This way the likelihood for collisions to happen decreases, which is key to have no heavy impact on protocol efficiency. 5. Analytical study In this section, we analytically evaluate PrIME’s performance by studying the identification delay of static and mobile tags, the reading cycle completion time, and the temporal system efficiency. The model we define is based on the following assumptions: (A) Arrival of mobile tags follows a Poissonian process (X ≈ Poi(γ )), thus we have γ tag/s. (B) Mobile tags move with the same constant speed. (C) Probabilistic selections are totally random (i.e., we do not consider bias due to pseudo-randomness). (D) No tag leaves the system before being identified.

Fig. 10. Percentage of time utilization within identification process.

From assumption (A), it follows that the average number of mobile tags arriving during a generic interval of time t is given by

Marr (t ) = γ · t  PrIME competitors perform poorly because they force new tags to wait till the beginning of the next reading cycle, with the result that many tags leave the reading range before being identified. PrIME instead allows entering tags to join an ongoing identification process through a policy specifically designed to avoid long waiting times. PrIME’s outstanding result is confirmed by protocol throughput (see Fig. 9). Compared to the most efficient competitors, ABS and BSTSA, PrIME identifies up to 50% more tags per unit of time. The rationale behind this behavior is shown by results in Fig. 10 on time utilization (percentage of identification, idle and busy slots). PrIME wastes less time in collisions than any other protocol, thanks to the tag cardinality estimation method that allows the reader to properly tune the identification process in highly dynamic scenarios. Moreover, distinguishing between static and mobile tags, and identifying static tags through an ABS-like protocol, PrIME is able to identify static tags without any collision (after the first identification), thus increasing protocol efficiency. PrIME reduces collisions by properly tuning frames size [1]. Finally, in Fig. 11 we show the results of the estimation carried out by PrIME during the identification process, varying the number of tags/s. Each point in the plot represents the value for the estimation once the process has converged. As we can observe in the figure, PrIME achieves a very limited estimation error. In addition to have small estimation error, PrIME always overestimates

(10)

Let also Min, l (n) and Mout, l (n) express the number of tags, out of n, that respectively join or not the l-th group. Then

Min,l (n ) = n · Pl 

(11)

Mout,l (n ) = n · (1 − Pl )

(12)

where Pl is the probability of joining group Gl , where 1 ≤ l ≤ lmax , as defined in Section 3.5.1. To evaluate PrIME performance, we have to consider that the protocol includes two phases: the setup phase and the adaptive operation, which apply different identification schemes. For this reason we analyze the two phases separately. Finally, we show the accuracy of our model comparing analytic values with simulation results (Section 5.3). 5.1. Setup phase analysis PrIME starts by grouping static tags through a binary splitting process. If there are S static tags in the environment, then the expected number of groups is lmax = log2 (S ), that corresponds also to the height of the splitting tree. Each group has a different cardinality Sl , depending on the level l of the splitting tree, which can be estimated as in Eq. (13).

Sl =

S 2lmax −l+1

(13)

74

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

where we used assumption (C). As shown in Fig. 5, level numbering is bottom up (i.e., l = 1 corresponds to the bottom level, l = lmax to the top one). Since static tags do not change, the number Sid, l of tags that are identified in the l-th group corresponds to the number of tags present in that group, i.e., Sid,l = Sl . Denoting with tBS the time taken by the exchange of a reader query and relative tag response during the binary splitting process (see Section 3.3.1), we can calculate the time TBS required to complete the whole tag grouping as in Eq. (14)

Eq. (19).

lmax 

Tdelay (s ) =

l=1

Sl · Tdelay (sl )



S

(19)

(14)

where sl is a static tag belonging to group l. To calculate the average delay Tdelay (sl ) of a tag sl , we have to consider three types of delays: i) the time T˜wait (sl ) required to identify the groups preceding group l, ii) the time T¯wait (sl ) required to identify the tags preceding sl in group l, and iii) the time Tident (sl ) required to identify tag sl . Eq. (20) sums these terms.

After grouping, mobile tags may join the identification process. They make a probabilistic selection at the beginning of each group identification. The stochastic nature of tag joining requires the reader to estimate groups cardinality, to properly tune TSA frames. The expected number Ml of mobile tags in the l-th group is given by Eq. (15)

Let us now estimate the three types of delay. If Tk is the time taken to perform the identification of group k, then the time a tag waits before the beginning of its group identification is calculated as in Eq. (21), where also the splitting process is considered (i.e., TBS = T0 ).

TBS = lmax · tBS

Ml = Min,l (Marr (Tl−1 ) + Maging,l−1 )

(15)

where Marr (Tl−1 ) is the number of mobile tags that arrive during the identification of the (l − 1 )-th group and Maging,l−1 is the number of mobile tags that are aging at the (l − 1 )-th level (i.e., tags that arrived in any previous level and failed any joining attempt). Applying the Min, l (.) function (see Eq. (11)) we get the tags that successfully join the group. To estimate the number Maging, l of aging tags in the l-th group, we consider the sets of aging tags that originated at the previous (lower) levels of the tree (i.e., tags that arrived during the same group identification and that failed all joining attempts). In particular, we compute the tags that arrived at the first level and failed all the following joining attempts, plus the tags that arrived at the second level and failed all the following joining attempts, plus the tags that arrived at the third level and failed all the following joining attempts, and so on, up to the (l − 1 )-th level. Thus, if we denote with Maging, l ← k the expected number of tags that entered during the k-th group identification, (k ≤ l), and failed l − k + 1 selection attempts, then we can estimate the number Maging, l of aging tags at the l-th level as in Eq. (16).

Maging,l =

l 

Maging,l ←k

(16)

k=1

By means of Eq. (17) we calculate the number Maging, l ← k of aging tags that arrive during the k-th group identification and join the l-th group.

Maging,l←k =

⎧ ⎨0

Mout,l (Marr (Tl−1 )) Mout,l (Maging,l−1←k )



l=0 if l = k otherwise

(17)

When l = k, the number of aging tags is given by the tags that arrived during the previous group identification and failed the joining attempt (note that T0 = TBS ). Otherwise, the number of tags that are aging since level k is recursively given by the tags that were aging since level k at the previous level (i.e., l − 1) and failed the joining of group l. The total number Nl of tags expected in the group at the l-th level is given by the sum of the estimated numbers of static (Eq. (13)), and mobile (Eq. (15)) tags. From assumption (D), all Ml tags are identified, and each round goes on until all tags in the participating set are identified. Thus, the total number Nl of tags that PrIME identifies in group l is given by the sum of the values from Eqs. (13) and (15).

Nl = Sl + Ml

(18)

Now we analyze the average identification delay experienced by both static and mobile tags. Let us start with static tags. The average time a static tag s waits to be identified is calculated as in

Tdelay (sl ) = T˜wait (sl ) + T¯wait (sl ) + Tident (sl )

T˜wait (sl ) =

l−1 

Tk

(20)

(21)

k=0

The Tk factor is the time required to execute the TSA protocol on group k, k > 0, with optimal frame sizing, as defined in [1]. The Tk value is estimated by calculating (through simulations) the exˆ k ), identification sid (Nk , N ˆ k ) and pected number of empty s∅ (Nk , N ˆ k ) slots that the TSA protocol executes to idencollision scoll (Nk , N ˆ k tags, and multiply tify Nk tags, when the reader has estimated N them for the corresponding slots durations, that are respectively t∅ , tid , and tcoll (known through EPCGlobal standard [7]).

Tk = s∅ (Nk , Nˆ k ) · t∅ + sid (Nk , Nˆ k ) · tid + scoll (Nk , Nˆ k ) · tcoll

(22)

ˆ k is calWhile the value Nk is given by Eq. (18), the value for N culated as the sum of the estimated number Sˆk of static tags plus ˆ k of mobile tags. Exploiting assumption the estimated number M ˆ k is calculated as (C) we have that Sˆk = Sk . The value M

ˆ k = Min,k (Marr (Tk−1 ) + Maging,k−1 ) M

(23)

where λ is the entrance factor estimated by the reader as defined in Section 3.5.2. The second type of delay in Eq. (20) depends on the slot selected by the tag sl to respond to the reader and is computed by considering for each tag, the time required to identify all the previous tags in the frame (i.e., tags which selected previous slots).

T¯wait (sl ) =

Nl

k=1

[(k − 1 ) · Tident (sl )]

Nl Nl − 1 = · Tident (sl ) 2

(24)

The factor Tident (sl ) used in this equation is also the third type of delay in Eq. (19). It represents the time taken by the TSA protocol to identify the tag sl , thus including the time taken by identification, idle, and collision slots that are executed before the identification of tag sl . Eq. (25) computes this delay.

Tident (sl ) =

Tl Nl

(25)

Mobile tags present similar delay components but deserve a separate analysis because their stay in the reader zone is temporary. The average identification delay Tdelay (m) of a mobile tag m is calculated as in Eq. (26).

Tdelay (m ) =

lmax

T l=1 delay

( ml )

lmax

(26)

where Tdelay (ml ), given by Eq. (27), is the time required to identify the mobile tag ml belonging to group l, and is defined similarly to static tags (see Eq. (20)).

Tdelay (ml ) = T˜wait (ml ) + T¯wait (ml ) + Tident (ml )

(27)

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

However, there are some differences with respect to static tags. Let us consider the identification of a mobile tag ml that belongs to group l. While the waiting time within its group T¯wait (ml ) and the identification delay Tident (ml ) are the same as those of static tags (see Eqs. (24) and (25)), the time T˜wait (ml ) taken by the previous groups identification is different because it depends on the moment in which tag ml entered the system (see Eq. (28)).



T˜wait (ml ) =

l k=1

Maging,l←k ·

l−1

j=k−1

Maging,l

Tj



(28)

The above equation computes the average time a mobile tag, entering the system at the level k − 1 and joining group l, has to wait before the beginning of its group identification. Finally, in Eq. (29) we calculate the time Tsetup the first identification cycle (i.e., setup phase) takes, summing Tl for all values of l

Tsetup =

lmax 

Tk

(29)

k=0

where, again, T0 = TBS .

To study the complexity of PrIME’s adaptive operation, we refer to the previous analysis (i.e., setup phase), and point out the differences by keeping in mind the peculiarities of this phase. To this end, we recall that in adaptive operation, splitting is no longer performed: only groups identification are executed. At each level of the tree, there is a variable set of mobile tags, identified through the TSA protocol, and an unchanged set of static tags, identified through the ABS protocol. The identification delay of static and mobile tags are defined similarly to those of the setup phase. Hence Eqs. (19), (20), (26), and (27) are valid also for the adaptive operation. Let us now go through the three types of delay in Eqs. (20) and (27). The time T˜wait (sl ) static tags wait before the beginning of their group identification (at the l-th level) is given by the sum of the time spent by the TSA and ABS protocols at the previous levels, plus the time needed to execute the TSA protocol on mobile tags at the l-th level. Thus we have



T˜wait (sl ) =

l−1 



Tk

+ Tl

T SA

(30)

k=1

where Tk is now the sum of time TkT SA taken by the TSA protocol to identify mobile tags at level k plus the time TkABS taken by the ABS protocol to identify the static tags at the same level, as specified in the following equation.3

Tk = TkT SA + TkABS

(31)

Instead the time T˜wait (ml ) mobile tags wait before the beginning of their group identification (again at the l-th level) is the same as that defined for the setup phase (Eq. (28)), but with Tj defined as in Eq. (31). The terms TkT SA and TkABS are estimated in a way similar to that adopted for the setup phase. Specifically, the time taken by the TSA protocol is again computed by considering the expected number of ˆ l ) and collision scoll (Nl , N ˆl ) empty s∅ (Nl , Nˆ l ), identification sid (Nl , N slots executed to identify Ml tags when the reader has estimated ˆ l tags, and multiplying them for the corresponding slots length. M Likewise, we can calculate the time TkABS taken by the ABS protocol to identify the static tags, that is dependent on the number of 3

executed slots (Eq. (32)).



sABS (Sl ) =

ABS follows the TSA phase at each level.

2.887 · Sl Sl

if first cycle otherwise

(32)

In the first reading cycle, the ABS protocol assigns slots to tags, operating as the classic BS protocol. For this reason, the expected number of slots used is given by the number of tags multiplied by the factor 2.887, defined by a previous study on BS complexity [38]. In the successive reading cycles, ABS queries tags sequentially and the expected number of slots is equal to the number of tags present in each queried group. The second and third terms in Eqs. (20) and (27) can be computed through a similar formula for both static and mobile tags. Thus we abstract from the tag type (static or mobile) and the used protocol (TSA or ABS) and give a unique definition. Let cl be a generic tag (static or mobile) belonging to the l-th group. Let Cl be the set of identified tags belonging to group l and of a generic class (Cl can assume the values Ml or Sl ). Then we define the time T¯wait (cl ) a tag cl waits to be identified through the P protocol once its group identification is started as

T¯wait (cl ) =

5.2. Adaptive operation analysis

75

Cl − 1 P · tident 2

(33)

P where tident is tag identification time when executing protocol P. The identification time of tag cl is defined as

Tident (cl ) =

TlP Cl

(34)

where TlP represents the time needed to protocol P to complete its phase at l-th level of the splitting tree. We can then compute the average identification delay. Finally, the duration of a reading cycle during the adaptive operation (Tadapt ) is given by Eq. (35), that sums the execution times of all group identifications.

Tadapt =

lmax 

Tk

(35)

k=1

It is worth noting that the term T0 is not considered, since we do not split static tags anymore. 5.3. Results comparison In this section we compare the results of our analytical study with those obtained through simulations. We measure the following metrics: the identification delay of static and mobile tags, the reading cycle completion time, and the temporal system efficiency. The number of static tags is fixed to 50, while the number λ of mobile tags entering the environment per second varies in the interval [20, 40, . . . , 200]. Figs. 12–15 compare analytical and simulation results. Specifically, the identification delay for both static (Fig. 12) and mobile (Fig. 13) show nearly identical trends, the performance gap being lower than 0.1. These results are consistent with the observed reading cycle completion time (see Fig. 14), where the difference between the analytical and simulative curves is below 0.05 seconds. An analogous result is shown in Fig. 15. For the temporal system efficiency the gap between the two plots is around 3%. These results confirm that despite the need to abstract from some protocol detail, the analytical model provides an accurate and powerful tool to explore PriME parameter’s space. 6. Practical implementation issues In this section, we discuss the practical implementation issues of PrIME, not covered in earlier sections. In particular, we describe

76

D. Benedetti et al. / Computer Communications 108 (2017) 64–77

Fig. 15. Temporal system efficiency.

Fig. 12. Identification delay for static tags.

Fig. 13. Identification delay for mobile tags.

or decrement it based on reader feedback. In the ABS phase, tags have to remember their assigned slot and decrement it at each slot preceding it. In the TSA phase, tags have to remember the preceding frame and slot, the selected current slot, generate a random number, and decrement it at each slot. All these functionalities are supported by the EPC standard, which allows to store data, generate random numbers and increment/decrement counters. Indeed EPC tags typically store a 96-bit ID, but the standard allows even longer IDs (up to 256 bits). This memory can be used to maintain not only the tag ID (for which 96 bits are more than enough) but also other information such as group ID in BS protocol, assigned slot in ABS, and previous frame and slot in TSA. The EPC standard also offers the possibility to generate random numbers and increment/decrement counters, functionalities that are useful all the three protocols to select the transmission slot/group. The only functionality that is not provided by the EPC standard is the calculation of the group joining probability: tags receive the current level and the height of the tree and calculate the probability Pj of joining the next group j according to Eq. (1). However, this calculation requires only summations and fractions. Thus, we believe that the EPC Gen 2 [7] can be easily extended to enable group joining of arriving tags. We conclude by mentioning Buzz [18] as an example of a real implementation of a protocol in which tags follow different stages to be identified (splitting, pseudorandom sequence transmission, ID and data transmission), transmitting different information at each stage. 7. Conclusion

Fig. 14. Reading cycle completion time.

what functionalities we expect from tags to successfully implement the PrIME protocol, and which of them are supported by the commonly available tags that implement the EPC standard. The EPC standard defines a set of primitive commands that can be combined in a variety of ways so that readers can implement proprietary algorithms [39]. Although PrIME requires tags to execute different MAC mechanisms, depending on the tag state (static or mobile) and the protocol stage (BS/ABS or TSA), most of them need the same primitive commands. In the splitting phase (i.e., BS), tags have to generate a random binary number, remember their group IDs and increment

In this paper we address the problem of identifying mobile tags quickly. We consider a mobile scenario in which tags freely enter and leave the reader range, and design a new anti-collision protocol, PrIME. The key features of PrIME are a priority-based tag insertion model that smooths the entrance of tags into the reading process and a tag cardinality estimation method, that allows the reader to properly tune the identification process. PrIME proves to be reliable and robust even in high dynamic scenarios and without a priori knowledge of tag population. Not only it is able to identify all tags passing through the system, but it reduces the identification delay of tags by over 100% with respect to the other state of the art protocols. References [1] T.L. Porta, G. Maselli, C. Petrioli, Anticollision protocols for single-reader RFID systems: temporal analysis and optimization, IEEE Trans. Mob. Comput. 10 (2) (2011) 267–279.

D. Benedetti et al. / Computer Communications 108 (2017) 64–77 [2] C. Law, K. Lee, K.-Y. Siu, Efficient memoryless protocol for tag identification (extended abstract), in: Proceedings of the 4th International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications, DIALM ’00, ACM, New York, NY, USA, 20 0 0, pp. 75–84. [3] M.A. Bonuccelli, F. Lonetti, F. Martelli, Instant collision resolution for tag identification in RFID networks, Ad Hoc Netw. 5 (8) (2007) 1220–1232. [4] J. Myung, W. Lee, Adaptive binary splitting: a RFID tag collision arbitration protocol for tag identification, in: Proceedings of the 2nd International Conference on Broadband Networks, 2005. BroadNets 2005, 1, 2005, pp. 347–355. [5] X. Zhu, S.K. Mukhopadhyay, H. Kurata, A review of RFID technology and its managerial applications in different industries, J. Eng. Technol. Manag.. 29 (1) (2012) 152–167. [6] Alien Technology; “Reader Interface Guide”, 2010., http://www.alientechnology. com/. TM [7] EPCglobal inc., ”EPC Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocol for Communications at 860MHz - 960 MHz”, ver.1.1.0, 2006, http://www.epcglobalinc.org/standards/uhfc1g2. [8] H. Han, J. Park, T.-J. Lee, RFID anti-collision protocol for monitoring system of tags in motion, in: Proceedings of the Fourth International Conference on Ubiquitous and Future Networks (ICUFN), 2012, 2012, pp. 318–321. [9] V. Sarangan, M. R.Devarapalli, S. Radhakrishnan, A framework for fast RFID tag reading in static and mobile environments, Comput. Netw. 52 (5) (2008) 1058–1073. [10] L. Xie, B. Sheng, C. Tan, H. Han, Q. Li, D. Chen, Efficient tag identification in mobile RFID systems, in: Proceedings of IEEE INFOCOM, 2010, pp. 1–9. [11] L. Simon, P. Saengudomlert, U. Ketprom, Speed adjustment algorithm for an RFID reader and conveyor belt system performing dynamic framed slotted Aloha, in: Proceedings of IEEE International Conference on RFID, 20 08, 20 08, pp. 199–206. [12] J. Alcaraz, J. Vales-Alonso, J. Garcia-Haro, RFID reader scheduling for reliable identification of moving tags, IEEE Trans. Autom. Sci. Eng. 10 (3) (2013) 816–828. [13] L. Shangguan, Z. Li, OTrack: towards order tracking for tags in mobile RFID systems, IEEE Trans. Parallel Distrib. Syst. 25 (2014) 2114–2125. [14] D. Benedetti, G. Maselli, C. Petrioli, Fast identification of mobile RFID tags, in: Proceedings of IEEE 9th International Conference on Mobile Adhoc and Sensor Systems (MASS) 2012, 2012, pp. 65–74. [15] M.L.M. Bolic, D. Simplot-Ryl, Adaptive binary splitting with order stabilization for mobile RFID tag identification, in: Proceedings of 7th International Conference on Networked Computing and Advanced Information Management (NCM), Sydney, Australia, 2011, 2011. [16] H. Vogt, Efficient object identification with passive RFID tags, in: Proceedings of the First International Conference on Pervasive Computing, Pervasive ’02, Springer-Verlag, London, UK, 2002, pp. 98–113. [17] G. Carroccia, G. Maselli, Inducing collisions for fast RFID tag identification, IEEE Commun. Lett. 19 (N. 10) (2015) 1838–1841. [18] J. Wang, H. Hassanieh, D. Katabi, P. Indyk, Efficient and reliable low-power backscatter networks, in: Proceedings of the ACM SIGCOMM 2012 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, SIGCOMM ’12, ACM, New York, NY, USA, 2012, pp. 61–72. [19] L. Kong, L. He, Y. Gu, M.-Y. Wu, T. He, A parallel identification protocol for RFID systems, in: Proceedings IEEE INFOCOM, 2014, 2014, pp. 154–162.

77

[20] E. Candes, T. Tao, Near-optimal signal recovery from random projections: universal encoding strategies? IEEE Trans. Inf. Theory 52 (12) (2006) 5406–5425. [21] J. Romberg, A uniform uncertainty principle for gaussian circulant matrices, in: Proceedings of the 16th International Conference on Digital Signal Processing, DSP’09, IEEE Press, Piscataway, NJ, USA, 2009, pp. 9–13. [22] E.J. Cands, J.K. Romberg, T. Tao, Stable signal recovery from incomplete and inaccurate measurements, Commun. Pure Appl. Math. 59 (8) (2006) 1207–1223. [23] J.-S. Li, Y.-M. Huo, An efficient time-bound collision prevention scheme for RFID re-entering tags, IEEE Trans. Mob. Comput. 12 (6) (2013) 1054–1064. [24] L. Yang, Y. Guo, T. Liu, C. Wang, Y. Liu, Perceiving the slightest tag motion beyond localization, IEEE Trans. Mob. Comput. 14 (11) (2015) 2363–2375. [25] W. Zhu, J. Cao, H. Chan, X. Liu, V. Raychoudhury, Mobile rfid with a high identification rate, IEEE Trans. Comput. 63 (7) (2014) 1778–1792. [26] J. Vales-Alonso, E. Egea-Lopez, M.V.B. Delgado, J.J. Alcaraz-Espin, Analysis of tag loss ratio in dynamic RFID systems, Int. J. RF Technol. 2 (2010) 135–154. [27] Z. Yang, T. Ning, H. Wu, Efficient rostering of mobile nodes in intermittently connected passive RFID networks, IEEE Trans. Mob. Comput. 12 (No. 10) (2013) 2012–2023. [28] UMich Moo, A Batteryless Programmable RFID-scale Sensor Device, https:// spqr.eecs.umich.edu/moo/. [29] ADXL362 Data Sheet, http://www.analog.com/media/en/technicaldocumentation/data-sheets/ADXL362.pdf. [30] M. Buettner, R. Prasad, M. Philipose, D. Wetherall, Recognizing daily activities with RFID-based sensors, in: Proceedings of ACM UbiComp, Orlando, Florida, USA, 2009. [31] G. Maselli, C. Petrioli, C. Vicari, Dynamic tag estimation for optimizing tree slotted Aloha in RFID networks, in: Proceedings of the 11th International Symposium on Modeling, Analysis and Simulation of Wireless and Mobile Systems (MSWiM ’08), Vancouver, Canada, 2008. [32] M. Kodialam, T. Nandagopal, Fast and reliable estimation schemes in RFID systems, in: Proceedings of ACM Mobicom, Sep. 2006. [33] NS-MIRACLE: Multi-interface cross-layer extension library for the network simulator, http://telecom.dei.unipd.it/pages/read/58/. [34] M.-C. Lee, C.-C. Lee, Framed Aloha based anti-collision protocol for RFID tags, in: Proceedings of SenseID, 2007, pp. 335–340. [35] T. Wada, N. Uchitomi, Y. Ota, T. Hori, K. Mutsuura, H. Okada, A novel localization scheme for passive RFID tags; communication range recognition (CRR), in: Proceedings of IEEE International Conference on RFID, 2009, pp. 163–169. [36] S. Jia, J. Sheng, K. Takase, Improvement of performance of localization ID tag using multi-antenna RFID system, in: Proceedings of SICE Annual Conference, 2008, pp. 1715–1718. [37] R.A.S. Bennett, A. Felton, An Investigation of Pedestrian Movement Characteristics at Mid-block Signalised Crossings, Monash University, Melbourne, Australia, 2001. [38] J. Massey, Collision-resolution algorithms and random-access communications, in: G. Longo (Ed.), Multi-User Communication Systems, International Centre for Mechanical Sciences, 265, Springer, Vienna, 1981, pp. 73–137. [39] M. Buettner, D. Wetherall, An empirical study of UHF RFID performance, in: Proceedings of ACM MobiCom08, Sep. 14–19, San Francisco, California, USA, 2008.