A Highly Efficient Predetection-Based Anticollision Mechanism ... - MDPI

0 downloads 0 Views 3MB Size Report
Mar 8, 2018 - reader creates a frame with several time slots, and then adds the ... [13] proposed the adaptive memoryless tag anticollision protocol, which is an extended scheme based on the query tree protocol. ... 100% guaranteed read rates, but the identification delay is relatively long due to the large amounts of.
Journal of

Sensor and Actuator Networks Article

A Highly Efficient Predetection-Based Anticollision Mechanism for Radio-Frequency Identification Yu-Hsiung Lin 1 and Chiu-Kuo Liang 2, * 1 2

*

Department of Electrical Engineering, Chung Hua University, Hsinchu 30012, Taiwan; [email protected] Department of Computer Science and Information Engineering, Chung Hua University, Hsinchu 30012, Taiwan Correspondence: [email protected]; Tel.: +886-3-5186411

Received: 9 January 2018; Accepted: 6 March 2018; Published: 8 March 2018

Abstract: One of the research areas in radio-frequency identification (RFID) systems is the reduction of the identification processing time for a number of tags within an RFID reader recognition region. In the last decade, many research results regarding anticollision algorithms have been presented in the literature. Most of them are tree-based protocols. However, it is important for tree-based protocols to enhance stability and system throughput, since they may face long identification delays when the network density is high. In this study, we present a highly efficient predetection tree-based algorithm to achieve more efficient tag identification performance. Our proposed mechanism can effectively reduce both collisions and idle cycles by exploiting the predetection technique and adjustable slot size mechanism. The simulation results show that the proposed mechanism can effectively improve tag identification time performance by around 29.9% to 64.8% over previous techniques. Further, the number of query cycles, number of collisions, and total number of slots are reduced compared to previous predetection-based protocols. It is also observed that the proposed scheme can have good performance in large-scale RFID systems. Keywords: RFID systems; tag identification; anticollision scheme; query tree; predetection scheme

1. Introduction Radio-frequency identification (RFID) is an automatic technology that is widely used in modern industrial practical applications, such as inventory management [1], object identification and tracking, supply-chain management, and wireless sensor networks [2,3]. It also plays an important role in realizing the Internet of Things concept [4]. Traditional identification systems, such as barcodes and smart-card systems, are inefficient at automatic identification and data collection due to their read rate, visibility, and contact limitations. RFID systems, on the other hand, provide fast and reliable communication without the requirement of physical visibility or contact between readers and tags. Based on these advantageous features, today’s RFID technology goes beyond identification of objects and is being used for localization [5,6] and sensing applications [7]. In addition, more and more battery-less tags can be augmented with sensors, so that tags can send not only their unique IDs, but also sensed data to readers [8]. One of the areas of research in this field is the reduction of the identification processing time for a given number of tags within an RFID reader recognition zone. To achieve the goal of fast tag identification, anticollision protocols are required. An anticollision protocol aims to reduce collisions during the tag identification process. The collisions can be categorized into two types: reader collisions and tag collisions. When two or more neighboring readers inquire a tag simultaneously, reader collisions occur. As a result, the tag cannot respond with its ID to the appropriate inquiring readers. The reader collision problem can be solved easily by detecting the collisions and communicating with J. Sens. Actuator Netw. 2018, 7, 13; doi:10.3390/jsan7010013

www.mdpi.com/journal/jsan

J. Sens. Actuator Netw. 2018, 7, 13

2 of 18

other readers. On the other hand, tag collisions occur when more than one tag tries to respond to a reader concurrently, which causes the reader to identify no tag. In RFID systems with low-cost passive tags, the only thing for a tag to do is to respond to the reader inquiry. Therefore, tag anticollision protocols are necessary to achieve the efficiency of identifying tag IDs in RFID systems. Many research results for reducing identification collisions have been presented in the literature. These tag identification mechanisms can be classified into two main categories, the Aloha-based anticollision scheme [9–11] and the tree-based scheme [12–23]. In the Aloha-based scheme, the RFID reader creates a frame with several time slots, and then adds the frame length to the inquiry message sent to the tags in its recognition region. Tags respond to the reader’s inquiry by choosing a random time slot. Tags that respond simultaneously in the same time slot cannot be recognized by the reader because of the collisions. Thus, the reader needs to send inquiries repeatedly until all tags are identified, which makes the Aloha-based scheme suffer long processing times in identifying large-scale RFID systems [20]. In a tree-based scheme, such as the query tree (QT) algorithm [12,13], Improved Bit-by-bit Binary-Tree (IBBT) [14], binary tree splitting protocol [15], tree working algorithm [16,17], and Intelligent Query Tree (IQT) [18], RFID readers use a scheme similar to a binary search algorithm to recognize the tags. Once the tags collide, the readers split the collided tags into two subgroups and repeat the process until they recognize the IDs of tags without collisions. Therefore, readers using the tree-based scheme are able to identify all tags. Choi et al. [14] proposed a fast anticollision algorithm called the Improved Bit-by-bit Binary-Tree algorithm (IBBT) for ubiquitous identification systems and evaluated its performance along with three older schemes. The reader in the IBBT algorithm requests all bits of tag IDs. After the reader receives responses from tags, it saves the results of each receiving bit. Therefore, the reader knows which bits have collided, and it sequentially sends the request only for the collided bits to tags in a bit-by-bit fashion. Myung et al. [13] proposed the adaptive memoryless tag anticollision protocol, which is an extended scheme based on the query tree protocol. The reader in this proposed approach uses not only a queue to maintain prefixes, but also an additional candidate queue for maintaining both prefixes of identified nodes and no-response nodes of the last identification process. As a result, when the number of tags is increased, the collision period can be shortened. Sahoo et al. [18] proposed an intelligent query tree algorithm (IQT), which modified the query tree protocol for scenarios where the tags have some common prefix. In [19], Zhou et al. considered scenarios where multiple readers can be deployed in a region to improve the coverage. In such environments, multiple readers can perform tag reading concurrently, and collisions may occur when multiple readers are used within a close vicinity. They discussed the problem of slotted scheduled access of RFID tags and developed centralized algorithms in a slotted time model to read all the tags. In addition to the proof of NP-hardness, they also proposed approximation algorithms for single-channel cases and heuristic algorithms for multiple-channel cases. Unlike Aloha-based protocols that cause the tag starvation problems, tree-based protocols deliver 100% guaranteed read rates, but the identification delay is relatively long due to the large amounts of collisions and idle time. Therefore, collision resolution and idle time elimination become the major issues in tree-based anticollision protocols. Jia et al. [24] proposed a collision tree (CT) algorithm, which is based on QT, aiming to eliminate collisions and idle time. The proposed algorithm both generates prefixes and splits tags according to the first collide bit, which eliminates the idle slots effectively. Lai et al. [25] proposed an optimal binary tracking tree protocol that employs a bit estimation algorithm to split tags into small sets and then uses a binary tracking tree method to quickly identify tags. Yan et al. [26] proposed a hybrid anticollision algorithm, called anticollision protocol based on improved collision detection, to reduce tag collisions. Their approach employs the idea of bit-tracking technology and dual-prefix matching into a collision arbitration mechanism in the RFID system. Landaluce et al. [27] presented a bit window procedure to manage the length of tags’ bit streams in order to reduce the energy consumption in collisions. They modified both QT and CT protocols by adding the bit window procedure to produce the query window tree protocol and the

J. Sens. Actuator Netw. 2018, 7, 13

3 of 18

collision window tree protocol. However, these algorithms have complicated implementation and increase identification delay. Ryu et al. [20] proposed a hyper-hybrid query tree protocol (HQT), aiming to reduce identification delays. The proposed protocol reduces identification delay by eliminating collisions and idle time. To reduce collisions, a quarternary query tree is used instead of a binary tree. In the quaternary query tree mechanism, the prefix string of a collided query will be expanded by two bits instead of one bit in the QT protocol. As a result, the collision cycles will be reduced substantially, but idle time will increase as a side effect. To eliminate idle time, they introduced a slotted back-off mechanism to reduce unnecessary query commands. When a tag responds to a reader, its back-off time is set from the two bits following the prefix of tag ID to the query string sent by the reader. When a collision occurs, the reader can partially detect to which subtrees the tags belong, and unnecessary queries can potentially be reduced. However, the slotted back-off mechanism in the HQT protocol cannot check the idle cycles between busy slots. To solve the problem, a hybrid hyper query tree algorithm (H2 QT) was proposed by Kim et al. [21]. The protocol aims to reduce the idle cycle by using a different slotted back-off mechanism. When a tag responds to a reader, its back-off time is determined from the three bits that follow the prefix of tag ID to the query string. Unlike the HQT protocol, the back-off mechanism in the H2 QT protocol counts the number of 1’s in the three bits and uses this number to select a response slot in the tag response window. As a result, idle cycles can be reduced substantially. However, collision cycles cannot be reduced by using the back-off mechanism in the H2 QT protocol and the identification delay is still long. In a preliminary work [22], we addressed the key design aspect of using a predetection-based technique called the Pre-Detection Broadcasting Query Tree (PDBQT) protocol, to eliminate those unnecessary idle cycles and avoid collision cycles. The reader in the PDBQT protocol allocates some tiny predetection slots for tags to respond in order to reveal the distribution of tags. Then, by knowing the distribution of tags, only existing tags will respond in the corresponding response time slots of the following tag response cycle. As a result, no idle slots are wasted and collision slots can be reduced. In this paper, we extend the previous work by investigating the optimal assignment of tag response time slots in the predetection scheme after collecting the tag distribution information. The proposed identification scheme will (1) reduce the communication overhead between reader and tags during the predetection process, (2) reduce the tag response time as much as possible, and (3) complete the tag identification process as quickly as possible. Our contributions may be summarized as follows:



• •

This paper introduces a tag identification problem for RFID systems, that readers collect tags’ IDs with the goal of minimizing transmission completion time. We exploit the predetection scheme to reveal the distribution of tags’ IDs, and no idle time slots are wasted. Then, by knowing the distribution of tags’ IDs, the reader can allocate the appropriate time slots and broadcast the arranged information to tags with minimum communication overhead. Simulation results validate that its performance is better than previously proposed predetection solutions.

The rest of this paper is organized as follows: in Section 2, we describe the idea and function of the predetection scheme as the preliminary work of this study. Section 3 introduces our proposed predetection-based tag identification technique. In Section 4, we evaluate the performance of our proposed scheme, the Efficient Pre-Detection–based Query Tree (EPDQT) algorithm. Performance comparisons and analyses are also given. Finally, we conclude the paper in Section 5. 2. Predetection-Based Scheme The main idea of our anticollision algorithm is to understand the distribution of tag IDs as much as possible. When the distribution is realized, the reader will send this information to tags so that each tag is able to realize the appropriate time slot to respond in the response cycle. As a result, different

J. Sens. Actuator Netw. 2018, 7, 13

4 of 18

tagsJ. will then respond to the reader in different time slots, which can reduce collisions substantially. Sens. Actuator Netw. 2018, 7, x FOR PEER REVIEW 4 of 18 In addition, no empty slot occurs, since the reader allocates optimal time slots for tags to respond. To do so, wewill propose predetection-based to reveal distributions tag IDs. Recall that different tags then arespond to the readerscheme in different timethe slots, which can of reduce collisions substantially. In addition, no empty slot occurs, the reader allocates optimal time slots for between tags all passive tags follow the request-respond mode,since since they cannot initiate communication to respond. themselves and readers. Therefore, the tag identification process can be viewed as several iterations of To do so,the we reader proposerequest a predetection-based scheme toInreveal the distributions of tagafter IDs. Recall two operations: and the tag response. our predetection scheme, the reader that all passive tags follow the request-respond mode, since they cannot initiate communication request operation (i.e., the reader sends the request command or prefix string to tags), the operations between themselves and readers. Therefore, the tag identification process can be viewed as several in the tag response cycle are composed of three phases: (1) the predetection phase, (2) the broadcasting iterations of two operations: the reader request and the tag response. In our predetection scheme, phase, and (3) the tag response phase, as shown in Figure 1. The purposes or functions of these three after the reader request operation (i.e., the reader sends the request command or prefix string to phases can be described as follows: tags), the operations in the tag response cycle are composed of three phases: (1) the predetection

(2) the phase: broadcasting phase,of and the tag response as shown in Figure 1. The Predetection The purpose the(3) predetection phase phase, is to collect information about tags to • phase, purposes or functions of these three phases can be described as follows: understand the overall distribution of tags. To do so, the reader allocates many tiny time slots, each tiny slot will responsible collectingphase tag information a particular group. These • andPredetection phase: Thebepurpose of thefor predetection is to collect for information about tags to the overall of tags. To do so, the readerof allocates many tiny slots, tinyunderstand slots are allocated fordistribution collecting tag’s information, instead tag’s ID. Once thetime time slot has and each tiny slot will be responsible for collecting tag information particular group. information available, reader can understand the distribution of tagsfor forathat particular group, tiny slots areinformation allocated for will collecting tag’s information, instead ofiftag’s time to andThese this distribution help the reader for determining the ID. timeOnce slot the is needed n tiny time of slot has information reader can understand the 2distribution tagsnumbered for that particular receive tag’s ID duringavailable, the tag response phase. There are slots from 0 to 2n group, and this distribution information will help the reader for determining if the time − 1 and each time slot can be represented as an n-bit binary string. Once a tag matchesslot the isprefix needed to receive tag’s ID during the tag response phase. There are 2n tiny time slots string, it will respond an message to the tiny slot that has the same label as next n-bit of tag’s ID. numbered from 0 to 2 − 1 and each time slot can be represented as an n-bit binary string. Once The message of tags to respond depends on the width of each tiny time slot. In general, the width a tag matches the prefix string, it will respond a message to the tiny slot that has the same label of these slots smaller than lengthofoftags the to tag’s ID, independs order toonreduce the communication as next n-bitisof tag’s ID. Thethe message respond the width of each tiny overhead. receiving responses from tags, the reader recognize status oforder each tiny time slot.After In general, the width of these slots is smaller than can the length of thethe tag’s ID, in slot: idle, success, or collision. When no tag responds, it leads to an idle state. When to reduce the communication overhead. After receiving responses from tags, the readeronly can one tagrecognize responds,the it status is recognized as a success state. When more than one tag tries to respond of each tiny slot: idle, success, or collision. When no tag responds, it leads toto the reader’s the reader it asit aiscollision state. an idlequery, state. When only can one recognize tag responds, recognized as a success state. When more than one tag tries to respond to the reader’s query, thethe reader cancan recognize as a state collision state.time into • Broadcasting phase: After the predetection phase, reader encodeit the of each • bit Broadcasting phase: After the predetection phase, the reader can encode the state of each into 0 or 1. The success state is encoded into bit 1, and both idle and collision statestime are encoded bit 0 or 1. The success state is encoded into bit 1, and both idle and collision states are encoded into bit 0. Then, in the broadcasting phase, the reader sends the binary string representing the into bit 0. Then, in the broadcasting phase, the reader sends the binary string representing the status of each time slot to tags, so that those tags with IDs that match the prefixes can realize how status of each time slot to tags, so that those tags with IDs that match the prefixes can realize how many time slots are allocated and which are available to respond with their IDs. many time slots are allocated and which are available to respond with their IDs. • • TagTag response phase: After binarystring string representing status of each response phase: Afterreceiving receiving the the broadcasted broadcasted binary representing the the status of each tinytiny slotslot in the predetection phase, each tag is able to realize the appropriate time slot to respond in the predetection phase, each tag is able to realize the appropriate time slot to n-bit binary with its ID.with Note eachthat bit each in the 2n -bit 2binary string represents thethe status of the respond itsthat ID. Note bitreceived in the received string represents status corresponding tiny slot in theslot predetection phase. If itphase. is bit 1, is detected of the corresponding tiny in the predetection If then it is only bit 1,one thentag only one tag and is its and its ID can be successfully identified thepurpose, reader. For purpose, the reader ID detected can be successfully identified by the reader. Forbythis thethis reader will allocate a long will allocate a long time slotOn to the receive tags’ IDs.if On hand, if it cycle is bit or 0, then an idle time slot to receive tags’ IDs. other hand, it isthe bitother 0, then an idle collision cycle is cycle or collision cycle is detected. The reader will not allocate any time slot to receive IDs for detected. The reader will not allocate any time slot to receive IDs for both cases. As a result, the tag both cases. a result, the responsesofcan be slots arranged into a sequence timecan slots responses can As be arranged intotag a sequence time and collisions or idleofslots be and avoided. collisions or idle slots can be avoided.

Figure 1. The tag response cycle in the predetection scheme.

Figure 1. The tag response cycle in the predetection scheme.

J. Sens. Actuator Netw. 2018, 7, 13

5 of 18

J. Sens. Actuator Netw. 2018, 7, x FOR PEER REVIEW

5 of 18

In In our our preliminary preliminary work work [22], [22], we we proposed proposed an an anticollision anticollision scheme scheme called called the the Pre-Detection Pre-Detection Broadcasting Query Tree (PDBQT) protocol, which is based on the aforementioned Broadcasting Query Tree (PDBQT) protocol, which is based on the aforementioned predetection predetection scheme. In the PDBQT protocol, the reader will allocate four tiny slots, say 00, 01, 10, and scheme. In the PDBQT protocol, the reader will allocate four tiny slots, say 00, 01, 10, and 11, 11, in in the the predetection phase for tags to respond. Then, by using the quaternary query tree mechanism, predetection phase for tags to respond. Then, by using the quaternary query tree mechanism, each each tag tag that that matches matches the the reader’s reader’s query query prefix prefix string string responds responds on on the the time time slot slot that that is is determined determined from from the next two bits of its tag ID. In order to reduce communication overhead, only a four-bit random the next two bits of its tag ID. In order to reduce communication overhead, only a four-bit random number ofof thethe whole tagtag ID.ID. If there is no in a time slot, number isisresponded respondedtotoby bya atag taginstead instead whole If there is tag no response tag response in a time the can realize that itthat is anit idle time will bewill allocated in the tag response phase. slot,reader the reader can realize is anslot, idleand slot,noand noslot time slot be allocated in the tag response If the receiving four bits can be identified correctly, the reader can realize that the time slot is a success phase. If the receiving four bits can be identified correctly, the reader can realize that the time slot is slot, and the corresponding time slot will allocated the tag response to receive whole a success slot, and the corresponding timebeslot will bein allocated in the tagphase response phase the to receive tag If more one tag responds, each tag responds to atag four-bit random a collision the ID. whole tag than ID. If more than one since tag responds, since each responds to number, a four-bit random slot can be identified if different random numbers are transmitted to the reader. Since the probability number, a collision slot can be identified if different random numbers are transmitted to the reader. of transmitting same random number same by different tags is low,by thedifferent reader can identify collision Since the probability of transmitting random number tags is low,athe readerwith can high accuracy when multiple tags respond. As a result, there is a high possibility that the reader can identify a collision with high accuracy when multiple tags respond. As a result, there is a high realize the exact distribution tag IDs. possibility that the reader canofrealize the exact distribution of tag IDs. As mentioned, in the predetection phase, those tags thatthat match the prefixes respond on the As mentioned, in the predetection phase, those tags match the prefixes respond ontime the slot that is determined from the next two bits, which follow the prefixes of their IDs identical to the time slot that is determined from the next two bits, which follow the prefixes of their IDs identical query reader a four-bit representation to indicatetothe status the of time slots to the string. query The string. The uses reader uses a binary four-bitstring binary string representation indicate status of and broadcasts the status to tags. After broadcasting, those tags with IDs identical to the query string time slots and broadcasts the status to tags. After broadcasting, those tags with IDs identical to the tag canstring realizetag thecan exact time the slot exact to respond by checking the by corresponding of the receivedbit four-bit query realize time slot to respond checking thebit corresponding of the binary string. The binary tag canstring. respond with IDrespond in the upcoming tagin response phase iftag theresponse corresponding received four-bit The tagits can with its ID the upcoming phase bit in the broadcastingbit four-bit is 1. Otherwise, no tag is response occurs.no For those tags that can if the corresponding in the string broadcasting four-bit string 1. Otherwise, tag response occurs. respond in the tag-response phase, the exact time slot to respond can also be obtained by counting For those tags that can respond in the tag-response phase, the exact time slot to respond can also be the number 1’s in the four-bit from thefour-bit start bitstring to thefrom corresponding obtained by of counting thebroadcasting number of 1’s in thestring broadcasting the start bitbittothat the represents the next two bits to the prefixes of their IDs. Consider the example in Figurethe 2. example The tag corresponding bit that represents the next two bits to the prefixes of their IDs. Consider responding time slot inon the predetection aware that its ID can be responded tocan by in Figure 2. on Thethe tag11responding the 11 time slotphase in theispredetection phase is aware that its ID the reader onlytoonby the third timeonly slot,on since received four-bit string is 1101, and it is be responded the reader thethe third time slot, sincebroadcasted the received four-bit broadcasted the third 1 from the beginning bit to the corresponding bit. string is 1101, and it is the third 1 from the beginning bit to the corresponding bit.

Figure 2. The tag response cycle of our preliminary work. Figure 2. The tag response cycle of our preliminary work.

3. Proposed Anticollision Scheme 3. Proposed Anticollision Scheme Recall that the previous proposed PDBQT protocol can eliminate all idle cycles. However, it is Recall that the previous proposed PDBQT protocol can eliminate all idle cycles. However, it is possible for different tags to respond to the same four-bit random numbers in the same time slot. In possible for different tags to respond to the same four-bit random numbers in the same time slot. such a situation, the collision will be identified in the tag response phase instead of the predetection In such a situation, the collision will be identified in the tag response phase instead of the predetection phase. As a result, more time slots will be needed to identify those collision tags and the time phase. As a result, more time slots will be needed to identify those collision tags and the time needed needed to identify all tags will be prolonged. In this paper, we propose a highly efficient algorithm, to identify all tags will be prolonged. In this paper, we propose a highly efficient algorithm, called the called the Efficient Pre-Detection based Query Tree (EPDQT) algorithm, to improve the Efficient Pre-Detection based Query Tree (EPDQT) algorithm, to improve the performance in terms of performance in terms of increasing system throughput and minimizing identification delay. increasing system throughput and minimizing identification delay. 3.1. System Model of EDPQT Scheme In this section, we will describe the system model of our proposed EDPQT scheme. Suppose there are t tags in the reader field and each tag has the same length of m-bit ID, which can be

J. Sens. Actuator Netw. 2018, 7, 13

6 of 18

3.1. System Model of EDPQT Scheme J. Sens. Actuator Netw. 2018, 7, x FOR PEER REVIEW

6 of 18

In this section, we will describe the system model of our proposed EDPQT scheme. Suppose there are t tagsas inathe reader fieldband each tag has thebsame length of1. m-bit ID,our which can be denoted denoted binary string 1b2...b m, where each i is either 0 or Since scheme is based on as thea binary string mechanism, b1 b2 ...bm , where eachresponse bi is either 0 oris1.composed Since our of scheme based predetection on the predetection predetection the tag cycle three is phases: phase, mechanism, the tag response cycle is composed three phases: predetection phase, broadcasting broadcasting phase, and tag response phase, as of mentioned above. In the predetection phase, the phase, and tag response phase,on as amentioned the predetection phase, thedefined numberbyofusers time number of time slots depends parameter,above. say n,In which is varied and can be slots depends onalgorithm. a parameter, saya n, which is varied and canp-bit be defined by users0 when using this when using this After reader sends an inquiring string (prefix), ≤ p ≤ m, to tags, n algorithm. After a reader sends an inquiring p-bit string (prefix), 0 ≤ p ≤ m, to tags, it allocates 2n it allocates 2 time slots for tags to respond. Then, tags located within the reader’s close vicinity time slotstofor to respond. Then, tags thethe reader’s vicinity respond the respond thetags reader if the inquiring bitslocated are thewithin same as first p close bits of tag IDs. When to a tag n time reader if the inquiring theslots sametoasrespond, the first depending p bits of tagon IDs. tag responds, it selects responds, it selects onebits of 2are theWhen n bits afollowing the first p bits n time slots to respond, depending on the n bits following the first p bits of its tag ID, that one of 2 of its tag ID, that is, bp+1bp+2...bp+n. Thus, the time slot represents the value of n bits. After determining is, btime ...bto . Thus, the slot represents thebit value of n bits. the time p+1 bp+2 p+n the slot respond, thetime tag sends the (n + 1)th following theAfter first pdetermining bits of its tag ID, thatslot is, respond, tag sends the (n + 1)th the ID firstisp010110, bits of its tagafter ID, that bp+n+1sends , to the bto p+n+1 , to the the reader. For example, if n bit = 2following and the tag then the is, reader a reader. For example, if n = 2 and the tag ID is 010110, then after the reader sends a two-bit prefix string, two-bit prefix string, say 01, the tag will respond with its fifth bit, which is 1, on the 01 time slot in say predetection 01, the tag will respond fifth bit,two which 1, onthe thefirst 01 time phase, the phase, sincewith the its following bitsisafter two slot bitsin is the 01. predetection This means that in since the following two bits after the first two bits is 01. This means that in our algorithm, there is our algorithm, there is only one bit for the tag to respond in the predetection phase. Furthermore, in only one bit for the tag to respond in the predetection phase. Furthermore, in the tag response phase, the tag response phase, those successfully recognized tags will send the remaining IDs, that is, successfully recognized tags will send the remaining IDs, that bp+n+2 ...b As 3a m , to the reader. bthose p+n+2...b m, to the reader. As a result, communication overhead can beis, reduced substantially. Figure result, communication overhead can be reduced substantially. Figure 3 shows the system model of the shows the system model of the interaction between the reader and tags in our proposed EPDQT interaction between the reader and tags in our proposed EPDQT scheme. scheme.

Figure 3. The interaction between reader and tag in the Efficient Pre-Detection based Query Tree Figure 3. The interaction between reader and tag in the Efficient Pre-Detection based Query Tree (EPDQT) scheme. (EPDQT) scheme.

After the predetection phase is completed, the distribution of tags can be realized by collecting After the predetection phase is completed, the distribution of tags can be realized by collecting the status of each time slot in the predetection phase. The status of each time slot can be categorized the status of each time slot in the predetection phase. The status of each time slot can be categorized as as one of four states: idle, collision, 0-success, or 1-success. The idle state indicates that no tag matches one of four states: idle, collision, 0-success, or 1-success. The idle state indicates that no tag matches with with the prefixes. The collision state occurs when more than one tag matches with the prefixes. the prefixes. The collision state occurs when more than one tag matches with the prefixes. Then it is Then it is necessary to resolve the collisions in the upcoming query cycles. The 0-success and necessary to resolve the collisions in the upcoming query cycles. The 0-success and 1-success states 1-success states indicate that the reader receives only 0 or 1, respectively, in the predetection phase. indicate reader receives only 0 orstate 1, respectively, in the predetection should be tag noted It shouldthat be the noted that the 0-success or 1-success state may occurphase. whenIt only one is that the 0-success state or 1-success state may occur when only one tag is matched or more than one matched or more than one tag is matched but returns the same bit string. The latter case will cause a tag is matched buttags returns thetheir same biton string. Thetime latterslot case cause a collision, asAs many tags collision, as many return IDs the same in will the tag response phase. a result, return their IDs on the same time slot in the tag response phase. As a result, the reader needs more the reader needs more cycles to identify those collided tags. It also should be noted that once the cycles to state identify collided tags. also be noted thator once the tag collision statephase, has been collision has those been detected, eitherItin theshould predetection phase in the response the detected, either in the predetection phase or in the tag response phase, the prefix string, along prefix string, along with the corresponding time slot string, will be added to a waiting queuewith for the corresponding time slot string, will be added to a waiting queue for further inquiry by the reader. further inquiry by the reader. This means that the whole tag identification process will be repeated This means that the whole tag identification process will be repeated until the waiting queue is empty. until the waiting queue is empty. As the states of all time slots in the predetection phase are collected, each state is encoded into a two-bit pattern. The idle, 1-success, 0-success, and collision states are represented as 00, 01, 10, and 11 bit patterns, respectively. Then, in the broadcasting phase, the reader broadcasts the whole bit patterns of all time slots in the predetection phase. Since there are 2n slots allocated in the

J. Sens. Actuator Netw. 2018, 7, 13

7 of 18

As the states of all time slots in the predetection phase are collected, each state is encoded into a two-bit pattern. The idle, 1-success, 0-success, and collision states are represented as 00, 01, 10, and 11 bit patterns, respectively. Then, in the broadcasting phase, the reader broadcasts the whole bit patterns of all time slots in the predetection phase. Since there are 2n slots allocated in the predetection phase and each slot can be encoded into a two-bit pattern, there will be a total 2n+1 -bit binary string broadcasted by the reader. Each bit in the broadcasting binary string indicates whether a time slot is needed in the tag response phase. The time slots needed in the tag response phase can also be represented as an (n + 1)-bit binary string. Thus, for n = 1, there may be four time slots, which can be represented as 00, 01, 10, and 11, in the tag response phase, and for n = 2, we may have eight time slots, denoted as 000, 001, . . . , 111. However, not every time slot will exist in the tag response phase. In our scheme, the reader will allocate the time slots for those bits in the broadcasting binary string that have 1’s. No time slot is needed for those 0’s. For example, the reader will allocate three time slots during the tag response phase, namely 010, 100, and 111, if the broadcasting binary string is 00101001. As the tags receive the broadcasting 2n+1 -bit string, each tag will check the next (n + 1)-bit after the first p-bit of its ID to see if the corresponding bit in the broadcasted binary string is 1 or 0. The tag will respond during the tag response phase only if the corresponding bit is 1. Furthermore, the tag can also be aware of the exact time slot to respond by counting the number of 1’s in the received broadcasting string from the start bit to the corresponding bit. Again, if n = 2, tag ID is 01011010, and the prefix string is 01, then after receiving the broadcasted binary string 00101001, the tag will check the next three-bit, which is 011, after the first 01 bits of its ID to see if the corresponding bit in the broadcasted binary string is 1 or 0. Furthermore, to accelerate the identification, we propose different procedures for some special cases where the length of a prefix query string approaches the length of tag IDs. These cases will be explained in detail in the following section. 3.2. Special Cases of the EPDQT Scheme In our scheme, as the number of iterations grows, the length of the prefix query string also grows. This means that the value of p will increase as the identification process keeps running. In such scenarios, special procedures are needed to speed up the identification process when p is approaching m. Based on our observations, there are three possible special cases that can occur during the identification process, which can be described as follows:







p + n = m − 1: In this case, after the predetection phase, there is no bit left for each tag to respond in the tag response phase. Thus, the reader can immediately identify the tag IDs after the predetection phase by realizing the status of each time slot in the predetection phase. Assume that the prefix string is b1 b2 ...bp and the binary string of the corresponding time slot in the predetection phase is bp+1 bp+2 ...bp+n . Then, when the reader realizes the status of a time slot as a 0-success or 1-success state, it can immediately identify a tag with ID as b1 ...bp bp+1 ...bp+n followed by bit 0 or bit 1, respectively. For the collision state, the reader can also identify two tags with IDs b1 ...bp bp+1 ...bp+n 0 and b1 ...bp bp+1 ...bp+n 1. p + n ≥ m: In this case, the reader will change the value of n to m − p − 1 before sending the prefix string. Then, the reader will follow the procedure described in the previous case, since now p + n = m − 1. p + n = m − 2: In this case, there is only one bit left for each tag to respond in the tag response phase. The reader can identify the tag IDs by verifying the results of each slot in the tag response phase. Note that there are three possible results: idle, success, and collision. For the collision case, the reader can immediately identify two tags with IDs b1 ...bp bp+1 ...bp+n bp+n+1 0 and b1 ...bp bp+1 ...bp+n bp+n+1 1.

J. Sens. Actuator Netw. 2018, 7, 13

8 of 18

3.3. An Example of the EPDQT Scheme To facilitate understanding of the EPDQT algorithm, we show below an example of the identification procedure of our proposed protocol. We assume that there are eight tags with eight-bit unique IDs: tag A (with ID 00101010), tag B (with ID 00110101), tag C (with ID 00111011), tag D (with ID 10011100), tag E (with ID 11010001), tag F (with ID 11010100), tag G (with ID 11011001), and tagJ.H (with ID 11011010). Sens. Actuator Netw. 2018, 7, x FORThe PEERwhole REVIEW process is also shown in Figure 4. The iterations 8 of 18 of the identification process using the EPDQT protocol with n = 2 are described as follows: iterations of the process using the EPDQT withsends n = 2the areempty-prefix described as to the Iteration 1: First ofidentification all, the waiting queue is empty and protocol the reader follows: tags and allocates four time slots for the predetection phase. All tags respond to this empty-prefix Iteration 1:In First of case, all, thetags waiting queue and the empty-prefix the1 to the request command. this A, B, andisCempty respond onreader the 00sends timetheslot and sendtobit tags and allocates four time slots for the predetection phase. All tags respond to this empty-prefix reader. Tag D responds on the 10 time slot with bit 0. Tags E, F, G, and H respond on the 11 time slot, request command. In this case, tags A, B, and C respond on the 00 time slot and send bit 1 to the both with bit 0, to the reader. After receiving the responses from tags, the reader can realize the status reader. Tag D responds on the 10 time slot with bit 0. Tags E, F, G, and H respond on the 11 time of four time slotswith in the as 1-success in the 00from slot,tags, idle the in the 01 slot, 0-success slot, both bit predetection 0, to the reader.phase After receiving the responses reader can realize the in the 10 slot, and 0-success in the 11 slot. Thus, the broadcasting string representing the status of status of four time slots in the predetection phase as 1-success in the 00 slot, idle in the 01 slot,the time 0-success in the 10 phase slot, and 11 slot. Thus, broadcasting stringwill representing slots in the predetection is 0-success encodedin asthe 01001010. This the indicates that there be three the time slots, of the time slots in the predetection is encoded 01001010. This indicates that there string, namely status 001, 100, and 110, allocated in the tag phase response phase.asAfter receiving the broadcasting will be three time slots, namely 001, 100, and 110, allocated in the tag response phase. After tags A, B, and C will respond with 01010, 10101, and 11011, respectively, to the reader on time slot 001. receiving the broadcasting string, tags A, B, and C will respond with 01010, 10101, and 11011, As a result, the reader detects a collision and 001 will be added to the waiting queue for further query. respectively, to the reader on time slot 001. As a result, the reader detects a collision and 001 will be Furthermore, D waiting responds with onquery. slot 100, which can successfully by100, the reader. added tag to the queue for11100 further Furthermore, tagbe D responds with identified 11100 on slot Tags E, F, G, and all respond on time 110 Tags withE,10001, 10101, 11001, and 11010, which can H be will successfully identified by theslot reader. F, G, and H will all respond on timerespectively. slot 110 with 10001, 10101, and 11001, and 11010, respectively. a collision detected4a and 110 will Then a collision is detected 110 will be added to theThen waiting queue.is Figure shows thebe situation added theiteration. waiting queue. Figure 4a shows the situation that occurs in this iteration. that occurs in to this

(a) Response of tags in iteration 1

(b) Response of tags in iteration 2

(c) Response of tags in iteration 3

Figure 4. Cont.

J. Sens. Actuator Netw. 2018, 7, 13

9 of 18

J. Sens. Actuator Netw. 2018, 7, x FOR PEER REVIEW

9 of 18

(d) Response of tags in final iteration Figure 4. An example of the identification process of our scheme with n = 2.

Figure 4. An example of the identification process of our scheme with n = 2. Iteration 2: The reader takes the prefix string 001 out of the queue and sends it to tags. This time, only tags A, B, and C will respond in the predetection phase, since tag D is identified and tags E, F, Iteration reader theprefix prefix string 001 out the queue and sends to tags. on This time, G, and 2: H The cannot matchtakes with the string, as shown in of Figure 4b. In this case, tag Aitresponds only tags and willbit respond in the predetection since tag Dtag is identified tags E, F, theA, 01 B, time slotCwith 0, tag B responds on the 10 timephase, slot with bit 1, and C responds and on the 11 time slot with bit 0. Then the reader realizes the status of slots in the predetection phase as idle in G, and H cannot match with the prefix string, as shown in Figure 4b. In this case, tag A responds on the 00slot slot,with 0-success the B 01responds slot, 1-success in the slot,slot and with 0-success in and the 11tag slot. reader on the the 01 time bit 0,intag on the 1010time bit 1, CThe responds then broadcasts the status string 00100110 to tags, which indicates that there are three slots, namely 11 time slot with bit 0. Then the reader realizes the status of slots in the predetection phase as idle in 010, 101, and 110, allocated in the tag response phase. After receiving the broadcasting string, tags the 00 slot, 0-success in the 01 slot, 1-success in the and 0-success the010, 11 slot. then A, B, and C will respond with 10, 10, and 11 10 to slot, the reader on time in slots 101, The and reader 110, broadcasts the status string 00100110 to tags, which indicates that there are three slots, namely 010, respectively. As a result, the reader can successfully identify all of them. Iteration 3: Thein reader takes the prefixphase. string 110 out of the queuethe andbroadcasting sends it to tags.string, This time, 101, and 110, allocated the tag response After receiving tags A, B, tagsrespond E and F will respond the 11 predetection phaseon ontime the 10 time010, slot 101, with and 0 and110, 1, respectively, and C will with 10, 10,inand to the reader slots respectively. As a and tags G and H will respond on the 11 time slot with bit 0, as shown in Figure 4c. In this case, the result, the reader can successfully identify all of them. reader realizes the status of slots as idle state in the 00 slot, 0-success in the 01 slot, 1-success in the Iteration 3: The reader takes the prefix string 110 out of the queue and sends it to tags. This time, 10 slot, and 0-success in the 11 slot. The reader then broadcasts the status string 00100110 to tags, tags E and F will respond in theare predetection phase 010, on the time with 0inand and which indicates that there three slots, namely 101,10 and 110,slot allocated the 1, tagrespectively, response tags G and H will respond on the 11 time slot with bit 0, as shown in Figure 4c. In this case, the reader phase. After receiving the broadcasting string, tag E will respond 01 on time slot 100, tag F will 00 on tags and will 0-success respond 01in and on time slot 10 110.slot, and realizesrespond the status of time slotsslot as 101, idle and state in G the 00Hslot, the10,01respectively, slot, 1-success in the As a result, the reader can successfully identify tags E and F. However, tags G and H cannot 0-success in the 11 slot. The reader then broadcasts the status string 00100110 to tags, whichbe indicates identified, since a collision occurred on time slot 110. Therefore, the reader will add the binary that there are three slots, namely 010, 101, and 110, allocated in the tag response phase. After receiving string 110110 to the waiting queue and execute the next iteration. the broadcasting string, tag E will respond 01 on time slot 100, tag F will respond 00 on time slot Iteration 4: The reader takes the prefix string 110110 out of the queue for further query. At this 101, andmoment, tags G the andlength H will respond 01string and 10, slot 110. Asspecial a result, p of the prefix is 6,respectively, which satisfieson thetime condition of the casethe as reader can successfully tags F. However, tags G and cannot identified, a collision mentioned identify above; that is, pE+and n = m. Therefore, the reader willHchange thebe value of n to 1 since and send theon prefix and nTherefore, to tags. This that, in add the predetection two to time will queue occurred timestring slot 110. themeans reader will the binary phase, stringonly 110110 theslots waiting be allocated for iteration. tags to respond. In this case, tag G will respond on time slot 0 with bit 1 and tag H and execute the next will respond on time slot 1 with bit 0. Since tags G and H are responding with their last bit of ID to Iteration 4: The reader takes the prefix string 110110 out of the queue for further query. At this the reader in the predetection phase, the reader can identify their IDs according to the status of their moment, the length time p ofslot. the In prefix string is time 6, which satisfies the H condition of theasspecial corresponding this case, both slots for tags G and are recognized success case as mentioned above; that is, p + n = m. Therefore, the reader will change the value of n 1 and send states. Thus, both tags can be identified immediately and no tag response phase is needed.to Figure 4d shows situation. the prefix stringthe and n to tags. This means that, in the predetection phase, only two time slots will

be allocated for tags to respond. In this case, tag G will respond on time slot 0 with bit 1 and tag H 4. Performance Evaluation will respond on time slot 1 with bit 0. Since tags G and H are responding with their last bit of ID to Tothe evaluate the performance of reader our proposed mechanism, we according implemented the reader in predetection phase, the can identify their IDs to the the EPDQT status of their scheme with three different settings, n = 2, n = 3, and n = 4, which are indicated as EPDQT-2, corresponding time slot. In this case, both time slots for tags G and H are recognized as success states. EPDQT-3, and EPDQT-4, respectively, along with the H2QT and PDBQT algorithms. We conducted Thus, both tags can be identified immediately and no tag response phase is needed. Figure 4d shows a set of simulation experiments for the proposed algorithms. All experiments were performed on a the situation. computer equipped with a 3.0 GHz central processing unit and 4 GB memory in C# on .NET platform. Every experiment was repeated 100 times, and the recorded data was averaged over those

4. Performance Evaluation runs into the final results.

According to the EPCglobal C1 G2 standard [28], the simulation environment is as follows: we

To evaluate the performance of our proposed mechanism, we implemented the EPDQT scheme consider an RFID system that has one reader and t tags within a reading range where t = 100, 500,..., with three different settings, n = 2, n = 3, and n = 4, which are indicated as EPDQT-2, EPDQT-3, and EPDQT-4, respectively, along with the H2 QT and PDBQT algorithms. We conducted a set of simulation experiments for the proposed algorithms. All experiments were performed on a computer equipped with a 3.0 GHz central processing unit and 4 GB memory in C# on .NET platform. Every experiment was repeated 100 times, and the recorded data was averaged over those runs into the final results.

J. Sens. Actuator Netw. 2018, 7, 13

10 of 18

According to the EPCglobal C1 G2 standard [28], the simulation environment is as follows: we consider an RFID system that has one reader and t tags within a reading range where t = 100, 500,..., 4000. The IDs of all tags are 96 bits long. We also consider two different distributions of tag IDs, uniform random distribution and sequential distribution. The tag IDs in sequential distribution are grouped and consecutive. The data rate of channels is set to be 128 kbps. For convenience, we consider a noise-free channel between reader and tags and ignore the propagation delay of signal, since all the aforementioned algorithms would be impacted equally. The parameter settings in our simulations are listed in Table 1. More practically, we formulate the time needed for reader query command, predetection phase, broadcasting phase, and tag response phase in different protocols, as shown in Table 2. Table 1. Parameter settings in simulations. Parameter

Value

Meaning

t Luid Lq Lb Lres Rcom Tbit Trt Ttr

100, 500, 1000, ..., 4000 96 bits 128 bits 22 bits Max. 96 bits 128 kbps 7.8125 µs 20 µs 20 µs

Number of tags Length of tag ID Length of query command Length of broadcast command Length of returned ID from tags Data rate between reader and tags 1-bit transmission time, i.e., 1/Rcom Waiting time from reader transmission to tag response Waiting time from tag response to reader transmission

Table 2. Parameters used in simulations. Protocol H2 QT PDBQT EPDQT-2 EPDQT-3 EPDQT-4

Reader Query Lq Lq Lq Lq Lq

× Tbit × Tbit × Tbit × Tbit × Tbit

Predetection Phase

Broadcasting Phase

Tag Response Phase

Trt + 16 × Tbit Trt + 4 × Tbit Trt + 8 × Tbit Trt + 16 × Tbit

Ttr + (Lb + 4) × Tbit Ttr + (Lb + 8) × Tbit Ttr + (Lb + 16) × Tbit Ttr + (Lb + 32) × Tbit

Trt + (Luid × Tbit ) × 4 Trt + (Lres × Tbit ) × N1 1 Trt + (Lres × Tbit ) × N2 1 Trt + (Lres × Tbit ) × N3 1 Trt + (Lres × Tbit ) × N4 1

1

N1 , N2 , N3 , and N4 indicate the numbers of slots in the tag response phase in protocols PDBQT, EPDQT-2, EPDQT-3, and EPDQT-4, respectively.

Our simulations focus on determining the performance for the impact of the number of tags in terms of the number of queries, number of total slots, delay time, and system efficiency. System efficiency is measured by two different perspectives: in terms of slots and time. In terms of slots, system efficiency is measured as SEs = Sid /Stot , where Sid is the amount of identification slots, which is equal to the number of tags, and Stot is the total number of slots. In terms of time, system efficiency is measured as SEt = Tid /Ttot , where Tid is the time taken by identification slots and Ttot is the total execution time. 4.1. Impact of the Number of Tags: Uniform Distribution 4.1.1. Number of Queries vs. Number of Tags This experiment evaluates the effect that the number of tags has on the performance of number of queries needed by the reader to complete the tag identification of the H2 QT, PDBQT, EPDQT-2, EPDQT-3, and EPDQT-4 approaches. The results are shown in Figure 5. In this graph, we can see that as the number of tags increases, the number of queries of each algorithm increases linearly. This is obvious, because the number of queries is proportional to the number of tags. Furthermore, the number of queries is also dependent on the number of collisions that occurred during the identification process. Therefore, as the number of tags increases, the number of collisions increases proportionally, which implies that the number of queries increases as well. However, our proposed EPDQT schemes

J. Sens. Actuator Netw. 2018, 7, 13

11 of 18

Number of Queries Number of Queries

require fewer queries compared with other schemes. For example, when t = 4000, the number of J. Sens. Actuator Netw. 2018, 7, x FOR PEER REVIEW 11 of 18 queries needed by the reader in the H2 QT, PDBQT, EPDQT-2, EPDQT-3, and EPDQT-4 protocols is J. Sens. Actuator Netw. 2018, 7, x FOR PEER REVIEW 11 of 18 3539, 2883, 2540, 2145, and 2018, respectively. Thus, our proposed EPDQT schemes perform around schemes perform around 29% to 43% better than the H2QT scheme. This is because the EPDQT 29% to 43% better than the H2 QT scheme. This is because the EPDQT protocols generate fewer collision protocolsperform generatearound fewer collision It can also seen that scheme. the number ofisqueries in the EPDQT-4 is schemes 29% to slots. 43% better thanbe the H2QT This19% because EPDQT slots. It can also be seen that the number of queries in EPDQT-4 is around less than in EPDQT-2. around 19% less than in EPDQT-2. ThisItshows thatbefor thethat EPDQT schemes, number of queries protocols generate fewer collision slots. can also seen the number of the queries in EPDQT-4 is This shows that forparameter the EPDQT schemes, the more number of slots queries decreases asthe thepredetection parameter increases, decreases as the increases, since time are allocated in phase around 19% less than in EPDQT-2. This shows that for the EPDQT schemes, the number of queries since more time slots are allocated in the predetection phase to identify more tags. to identify more decreases as the tags. parameter increases, since more time slots are allocated in the predetection phase to identify more tags. 4000 3500 4000 3000 3500 2500 3000 2000 2500 1500 2000 1000 1500 500 1000 0 500 0

H2QT PDBQT H2QT EPDQT-2 PDBQT EPDQT-3 EPDQT-2 EPDQT-4 EPDQT-3 EPDQT-4 Number of Tags Number of Tags

Figure 5. Number of queries required to complete identification. Figure 5. Number of queries required to complete identification. Figure 5. Number of queries required to complete identification.

4.1.2. Number of Total Slots vs. Number of Tags 4.1.2. Number of Total Slots vs. Number of Tags 4.1.2.This Number of Totalexamines Slots vs. Number Tagsthe number of tags has on the number of total slots experiment the effectofthat This experiment examines the effect that the number of H tags has on theEPDQT-2, number of total slots 2QT, generated by the reader to complete tag identification of the This experiment examines the effect that the number of tags hasPDBQT, on the number of EPDQT-3, total slots 2 QT, generated by the reader to complete tag identification of the H PDBQT, EPDQT-2, EPDQT-3, and EPDQT-4 approaches. In this experiment, we ignore the Htiny in theEPDQT-2, predetection phase 2QT,slots generated by the reader to complete tag identification of the PDBQT, EPDQT-3, and EPDQT-4 approaches. Inslots this that experiment, we ignore the tinyphase slots into in the predetection phase and take only the number of occurred in the tag response account, since it will and EPDQT-4 approaches. In this experiment, we ignore the tiny slots in the predetection phase and take only the number of slots that occurred in the tag response phase into account, since it will take more time to finish the process compared to the time spent in the predetection phase. The slot and take only the number of slots that occurred in the tag response phase into account, since it will take more time totofinish the compared to time spent spentin inthe thepredetection predetectionphase. phase. The slot comparison results are given in Figure 6. take more time finish theprocess process compared to the the time The slot comparison results are given in Figure 6. comparison results are given in Figure 6. 16,000

Number of Slots Number of Slots

14,000 16,000 12,000 14,000 10,000 12,000

H2QT

8000 10,000

PDBQT H2QT

6000 8000

EPDQT-2 PDBQT

4000 6000

EPDQT-3 EPDQT-2

2000 4000

EPDQT-4 EPDQT-3

20000 0

EPDQT-4 100 500 1000 1500 2000 2500 3000 3500 4000 Number of2500 Tags 3000 3500 4000 100 500 1000 1500 2000 Number of Tags Figure 6. Number of slots generated by each protocol. Figure 6. Number of slots generated by each protocol.

Number slotsthe generated by each In general, Figure 6Figure shows6.that H2QTofhas most total slots.protocol. That is because H2QT allocates four In slots to split tags in each query cycle. Many idle or collision slots willisnot be reduced. general, Figure 6 shows that H2QT has the most total slots. That because H2QT However, allocates 2 2 QT in our proposed EPDQT and PDBQT protocols, the reader uses a predetection mechanism to realize In general, Figure 6 shows that H QT has the most total slots. That is because H allocates four slots to split tags in each query cycle. Many idle or collision slots will not be reduced. However, the distribution of tag IDs, which decreases most of the collision slots, and only a few collisions may four to split tags in each cycle. Manythe idlereader or collision slots will notmechanism be reduced.toHowever, in slots our proposed EPDQT andquery PDBQT protocols, uses a predetection realize occur in the tag response phase. As a result, the number of total slots decreases as well. For example, of tag IDs, decreases mostthe of the collision slots, and only amechanism few collisions in the ourdistribution proposed EPDQT andwhich PDBQT protocols, reader uses a predetection to may realize when in t =the 4000, number of total generated by the reader in decreases the H2QT,asPDBQT, occur tag the response phase. As aslots result, the number of total slots well. ForEPDQT-2, example, EPDQT-3, and the EPDQT-4 is 14,150, 4096, by 6539, 6017, respectively. Thus, our when t = 4000, numberprotocols of total slots generated the 6144, readerand in the H2QT, PDBQT, EPDQT-2, 2 proposed EPDQT schemesprotocols perform is91.9% to 93.8% better6144, than and the H QT respectively. scheme. Our Thus, proposed EPDQT-3, and EPDQT-4 14,150, 4096, 6539, 6017, our

proposed EPDQT schemes perform 91.9% to 93.8% better than the H2QT scheme. Our proposed

J. Sens. Actuator Netw. 2018, 7, 13

12 of 18

the distribution of tag IDs, which decreases most of the collision slots, and only a few collisions may occur in the tag response phase. As a result, the number of total slots decreases as well. For example, when t = 4000, the number of total slots generated by the reader in the H2 QT, PDBQT, EPDQT-2, EPDQT-3, and EPDQT-4 protocols is 14,150, 4096, 6539, 6144, and 6017, respectively. Thus, our J.proposed EPDQT schemes perform 91.9% to 93.8% better than the H2 QT scheme. Our 12 proposed Sens. Actuator Netw. 2018, 7, x FOR PEER REVIEW of 18 2 EPDQT protocols cost fewer slots than H QT. However, the EPDQT protocols cost more slots than 2QT.aHowever, EPDQT cost fewer slots than H the EPDQT more slots than the PDBQT. Theprotocols main reason is that PDBQT uses random number forprotocols each tag cost to respond during PDBQT. The main reason is that PDBQT uses a random number for each tag to respond during the predetection phase, and no slot will be allocated in the tag response phase once the collision is detected. predetection phase, and no slot will be allocated in the tag response phase once the collision is On the other hand, the EPDQT protocols will allocate slots to split the collided tags. As a result, detected. On the other hand, the EPDQT protocols will allocate slots to split the collided tags. As many collisions detected in the predetection phase will still collide in the tag response phase. Weaalso many collisions detected in the predetection phase will still collide in the tag response phase. noteresult, that the number of total slots in EPDQT-4 is 7.98% less than in EPDQT-2. This is because as the We also note that the number of total slots in EPDQT-4 is 7.98% less than in EPDQT-2. This is parameters in the EPDQT protocols increase, both queries and collisions decrease, which decreases the because as the parameters in the EPDQT protocols increase, both queries and collisions decrease, total slots needed to identify tags. which decreases the total slots needed to identify tags.

4.1.3. Delay Time vs. Number of Tags

4.1.3. Delay Time vs. Number of Tags

Delay Time (s)

ThisThis experiment examined numberofoftags tagshas hasonon total time required experiment examinedthe theeffect effect that that the the number thethe total time required to to 2 complete tagtag identification EPDQT-2,EPDQT-3, EPDQT-3, and EPDQT-4 approaches. complete identificationofofthe theHH2QT, QT, PDBQT, PDBQT, EPDQT-2, and EPDQT-4 approaches. The The timetime comparison results areare shown comparison results shownininFigure Figure7. 7. In Figure 7, we can see tags increases, increases,the thetotal total time required In Figure 7, we can seethat thatasasthe thenumber number of tags time required for for eacheach algorithm to complete identificationincreases. increases. However, EPDQT schemes require algorithm to complete thethe identification However,our ourproposed proposed EPDQT schemes require compared to other schemes. example, when = 4000, total time required in the less less timetime compared to other schemes. ForFor example, when t = t4000, thethe total time required in the H2 QT, 2 H QT, PDBQT, EPDQT-2, and EPDQT-4 is 16.07, 5.65 s, PDBQT, EPDQT-2, EPDQT-3, EPDQT-3, and EPDQT-4 protocols protocols is 16.07, 8.07, 7.11,8.07, 6.01,7.11, and6.01, 5.65 and s, respectively. 2 respectively. Thus, our proposed EPDQT schemes perform 54.5% to 64.8% better than the H2QT Thus, our proposed EPDQT schemes perform 54.5% to 64.8% better than the H QT scheme. This is scheme. This is because the EPDQT protocols can reduce the idle and collision slots substantially. because the EPDQT protocols can reduce the idle and collision slots substantially. We also note that We also note that the total time required in EPDQT-4 is 20.5% better than in PDQT-2. This indicates the total time required in EPDQT-4 is 20.5% better than in PDQT-2. This indicates that for EPDQT that for EPDQT schemes, the total time required decreases as the parameter value increases, since schemes, the total time required decreases as the parameter value increases, since more time slots are more time slots are allocated in the predetection phase and therefore more tags can be identified allocated in the predetection phase and therefore more tags can be identified successfully. successfully. 20 18 16 14 12 10 8 6 4 2 0

H2QT PDBQT EPDQT-2 EPDQT-3 EPDQT-4 100 500 1000 1500 2000 2500 3000 3500 4000 Number of Tags Figure 7. Time required to complete tag identification.

Figure 7. Time required to complete tag identification.

4.1.4. System Efficiency vs. Number of Tags

4.1.4. System Efficiency vs. Number of Tags

In the following, we examine the effect that the number of tags has on system efficiency in In theoffollowing, examine effect that theEPDQT-2, number of tags hasand on system efficiency in terms terms slots and we time for the the H2QT, PDBQT, EPDQT-3, EPDQT-4 approaches. 2 Results slot andEPDQT-2, time system efficiency presented in Figures Results 8 and 9.for In slot of slots and for time forsystem the H efficiency QT, PDBQT, EPDQT-3, andare EPDQT-4 approaches. terms of slot system efficiency, each of the compared approaches experiences similar system system efficiency and time system efficiency are presented in Figures 8 and 9. In terms of slot system efficiency as of the number of tags increases. experiences For example,similar the slotsystem systemefficiency efficiency as ofthe thenumber H2QT, of efficiency, each the compared approaches PDBQT, EPDQT-2, EPDQT-3, and EPDQT-4 protocols is around 28.51%, 97.68%, 62.04%, 65.16%, and 66.58%, respectively, all of which are independent of the number of tags. The rationale behind these results is quite clear. Since the numbers of identification slots and total slots both increase as the number of tags increases, slot system efficiency almost flattens. Furthermore, slot system efficiency of the PDBQT, EPDQT-2, EPDQT-3, and EPDQT-4 protocols significantly outperforms

J. Sens. Actuator Netw. 2018, 7, 13

13 of 18

tags increases. For example, the slot system efficiency of the H2 QT, PDBQT, EPDQT-2, EPDQT-3, and EPDQT-4 protocols is around 28.51%, 97.68%, 62.04%, 65.16%, and 66.58%, respectively, all of which are independent of the number of tags. The rationale behind these results is quite clear. Since the numbers of identification slots and total slots both increase as the number of tags increases, slot system efficiency almost flattens. slot system efficiency of the PDBQT, EPDQT-2, EPDQT-3, and 13 EPDQT-4 J. Sens. Actuator Furthermore, Netw. 2018, 7, x FOR PEER REVIEW of 18 2 J. Sens. Actuator Netw. 2018, 7, x FOR PEER REVIEW of 18 protocols significantly outperforms the H QT protocol. The rationale behind this result is 13 also clear. 2QT protocol. The rationale behind this result is also clear. In the H2QT protocol, each query 2 QT theHH In the protocol, each query cycle allocates four time slots for tags to respond. Some of the slots 2QT protocol. The rationale behind this result is also clear. In the H2QT protocol, each query Hallocates cycle fourresponse time slotsand for then tags to respond. receive response maythe receive one tag’s identify theSome tag’s of ID,the butslots the may rest of themone maytag’s receive multiple cycle allocates fourthe time slotsID, forbut tagsthe to respond. Some of the slots multiple may receive one tag’s response and then identify tag’s rest of them may receive tags’ responses or no tags’ responses or no response, and as a result the slot may collide or be idle. Therefore, the utilization and then and identify the tag’s rest or of be them receivethe multiple tags’ofresponses response, as a result the ID, slot but maythe collide idle.may Therefore, utilization slots in H2or QTno is of slots in H2 QT is poor. On the other hand, in predetection-based protocols, no idle slot is 2allocated response, andother as a result may collide or be idle. Therefore, of and slotsmost in H of QTthe is poor. On the hand,the in slot predetection-based protocols, no idle the slotutilization is allocated and poor. most On of the collisions areindetected during theprotocols, predetection phase. Asallocated a result,and the most allocated the other hand, predetection-based no idle slot is ofused theslots collisions are detected during the predetection phase. As a result, the allocated slots are almost are almost used for identifying tags. However, the PDBQT protocol outperforms the EPDQT protocols, collisions are detected during thethe predetection phase. As a result, thethe allocated slots are almost used for identifying tags. However, PDBQT protocol outperforms EPDQT protocols, since it sincefor it reduces collision Furthermore, theoutperforms EPDQT protocols, as theprotocols, parameter increases, identifying tags. However, the PDBQT the EPDQT since it reduces mostmost collision slots.slots. Furthermore, for protocol thefor EPDQT protocols, as the parameter increases, slot slot reduces efficiency increases. Figure 8shows showsthat thatwhen 4000, EPDQT-4 protocol performs around most collision slots. 8Furthermore, forwhen thetEPDQT protocols, as the parameter increases, slot efficiency increases. Figure =t = 4000, thethe EPDQT-4 protocol performs around increases. Figure 8 shows that when t = 4000, the EPDQT-4 protocol performs around 5.3%efficiency better than the EPDQT-2 protocol. 5.3% better than the EPDQT-2 protocol. 5.3% better than the EPDQT-2 protocol.

SlotSlot System Efficiency System Efficiency

1.0000 1.0000 0.8000 0.8000

H2QT H2QT PDBQT PDBQT EPDQT-2 EPDQT-2 EPDQT-3 EPDQT-3 EPDQT-4 EPDQT-4

0.6000 0.6000 0.4000 0.4000 0.2000 0.2000 0.0000 0.0000

100 500 1000 1500 2000 2500 3000 3500 4000 100 500 1000 1500 2000 Number of 2500 Tags 3000 3500 4000 Number of Tags Figure 8. Slot system efficiency of compared protocols.

Time Systen Efficiency Time Systen Efficiency

Figure 8.8.Slot of compared comparedprotocols. protocols. Figure Slotsystem system efficiency efficiency of 0.9000 0.9000 0.8000 0.8000 0.7000 0.7000 0.6000 0.5000 0.6000 0.5000 0.4000 0.4000 0.3000 0.3000 0.2000 0.2000 0.1000 0.1000 0.0000 0.0000

H2QT H2QT PDBQT PDBQT EPDQT-2 EPDQT-2 EPDQT-3 EPDQT-3 EPDQT-4 EPDQT-4 Number of Tags Number of Tags

Figure 9. Time system efficiency of compared protocols. Figure 9. Time system efficiency of compared protocols.

Figure 9. Time system efficiency of compared protocols. In terms of time system efficiency, as shown in Figure 9, each of the compared approaches In termssimilar of timetime system efficiency, as shown Figure of 9, tags each increases. of the compared approaches experiences system efficiency as the in number For example, time In terms ofsimilar timeofsystem efficiency, asEPDQT-2, shown Figureof9,and each of the compared 2QT, experiences time efficiency as the in number tags increases. For example, time system efficiency the Hsystem PDBQT, EPDQT-3, EPDQT-4 protocols isapproaches around 2QT, experiences similar time system efficiency as the respectively, number of tags increases. Forprotocols example,istime system of the H PDBQT, EPDQT-2, EPDQT-3, EPDQT-4 around 18.66%, efficiency 38.05%, 68.95%, 76.71%, and 79.85%, alland of which are independent of system the 2 efficiency of the H QT, PDBQT, EPDQT-2, EPDQT-3, and EPDQT-4 protocols is around 18.66%, 18.66%, 38.05%, 68.95%, 76.71%, and 79.85%, respectively, all of which are independent of the number of tags. The reason behind this result is similar to the reason for slot system efficiency. number of tags. The reason behind respectively, this result is similar to theEPDQT-3, reason forand slotEPDQT-4 system efficiency. 38.05%, 68.95%, 76.71%, andefficiency 79.85%, allEPDQT-2, of which are independent of the number of Furthermore, time system of the PDBQT, protocols 2 Furthermore, time system efficiency of the PDBQT, EPDQT-2, EPDQT-3, and EPDQT-4 protocols outperforms the isHsimilar QT protocol. rationale behind thisefficiency. result is quite clear. tags.also Thesignificantly reason behind this result to the The reason for slot system Furthermore, also outperforms the H The rationale behind this result is quite clear. Sincesignificantly there are many more queries in2QT the protocol. H2QT protocol than in the predetection-based protocols, Since there the are time manyfor more queries in the H2QT protocol in thetime predetection-based protocols, by adding reader query commands and thethan waiting from reader query to tag by addingtime the system time forefficiency reader query commands and the waiting timeFurthermore, from reader the query to tag response, of H2QT is lower than other protocols. proposed response, time system efficiencythe of PDBQT H2QT is scheme lower than protocols. Furthermore, the proposed EPDQT protocols outperform by other around 30% to 41%. The rationale behind EPDQT protocols outperform the PDBQT scheme by around 30% to 41%. The rationale behind

J. Sens. Actuator Netw. 2018, 7, 13

14 of 18

time system efficiency of the PDBQT, EPDQT-2, EPDQT-3, and EPDQT-4 protocols also significantly outperforms the H2 QT protocol. The rationale behind this result is quite clear. Since there are many more queries in the H2 QT protocol than in the predetection-based protocols, by adding the time for reader query commands and the waiting time from reader query to tag response, time system efficiency of H2 QT is lower than other protocols. Furthermore, the proposed EPDQT protocols outperform the PDBQT scheme by around 30% to 41%. The rationale behind these results is quite clear. Since the communication overhead thePEER predetection phase of the proposed EPDQT protocols is much J. Sens. Actuator Netw. 2018, 7, xin FOR REVIEW 14 of 18 less than that in the PDBQT protocol, the time for each query cycle in EPDQT is much less than in PDBQT. results is quite clear. Since the communication overhead the predetection of others. the As athese result, the proposed EDPQT protocols can achieve better timeinsystem efficiency phase than the proposed EPDQT protocols is much less than that in the PDBQT protocol, the time for each query cycle inofEPDQT is much lessSequential than in PDBQT. As a result, the proposed EDPQT protocols can 4.2. Impact the Number of Tags: Distribution achieve better time system efficiency than the others.

4.2.1. Number of Queries vs. Number of Tags 4.2. Impact of the Number of Tags: Sequential Distribution

In this simulation, we compare the number of query cycles of the test protocols as the value of t increases from 100 to 4000vs. in Number sequential distribution fashion. The query cycle comparison results 4.2.1. Number of Queries of Tags are given in Figure 10. In general, Figure 10 shows that each protocol generates fewer query cycles In this simulation, we compare the number of query cycles of the test protocols as the value of t in sequential distribution than in uniform distribution. This is because the tag IDs are consecutive increases from 100 to 4000 in sequential distribution fashion. The query cycle comparison results are in sequential distribution. Thus, Figure a sequence of tags evenlygenerates distributed into the cycles queryinslots. given in Figure 10. In general, 10 shows thatmay eachbe protocol fewer query As asequential result, more tags can be identified in a query cycle, which costs fewer query cycles than uniform distribution than in uniform distribution. This is because the tag IDs are consecutive in 2 distribution. 10 also shows that HofQT the query cycles.into The is quite sequential Figure distribution. Thus, a sequence tagshas may bemost evenly distributed thereason query slots. As aclear. Despite themore different distributions of tag H2 QT spends others, since it result, tags can be identified in aIDs, query cycle, whichmore costsquery fewer cycles query than cyclesthe than uniform distribution. Figure 10 also shows that H2QT has ID the distribution. most query cycles. The reason quite clear. Despite cannot reduce the collisions regardless of tag However, in is our proposed EPDQT 2QT spends more query the different distributions of tag IDs, Hmore cycles than thebehind others, this sinceresult it cannot protocols, each query cycle can identify tags than H2 QT. The rationale is clear. collisions regardless of tagthe ID distribution. However, in our proposed EPDQT protocols, each Duereduce to thethe predetection mechanism, tiny slots are allocated sequentially. As a result, a sequence query can identify tagscycle, than which H2QT. The rationale thisofresult is clear. to the of tags cancycle be identified in more a query decreases thebehind number query cyclesDue dramatically. predetection mechanism, the tiny slots are allocated sequentially. As a result, a sequence of tags can be Furthermore, the EPDQT-4 protocol outperforms the EPDQT-2 and EPDQT-3 protocols. This is because identified in a query cycle, which decreases the number of query cycles dramatically. Furthermore, the the prefix string in EPDQT-4 is extended by five bits instead of the three bits and four bits in the EPDQT-4 protocol outperforms the EPDQT-2 and EPDQT-3 protocols. This is because the prefix string EPDQT-2 and EPDQT-3 protocols, respectively, which costs fewer query cycles for EPDQT-4 to identify in EPDQT-4 is extended by five bits instead of the three bits and four bits in the EPDQT-2 and EPDQT-3 a tag’s ID. respectively, which costs fewer query cycles for EPDQT-4 to identify a tag’s ID. protocols, 2000 1800 Number of Queries

1600 1400 1200

H2QT

1000

PDBQT

800

EPDQT-2

600

EPDQT-3

400

EPDQT-4

200 0 100 500 1000150020002500300035004000 Number of Tags

Figure 10. Number of queries required to complete identification in sequential distribution.

Figure 10. Number of queries required to complete identification in sequential distribution.

4.2.2. Number of Total Slots vs. Number of Tags

4.2.2. Number of Total Slots vs. Number of Tags

In this simulation, we compare the number of total slots of test protocols. The slot comparison In thisare simulation, we compare the number total slots of test generates protocols.fewer The slot results given in Figure 11. Figure 11 showsofthat each protocol totalcomparison slots in sequential distribution than due each to theprotocol same reason given fewer in thetotal previous results are given in Figure 11.uniform Figure distribution 11 shows that generates slots in subsection. Figure 11 also shows that the EPDQT protocols H2QT, there sequential distribution than uniform distribution due tosignificantly the same outperform reason given in since the previous are much fewer query cycles in EPDQT than in H2QT. However, PDBQT performs a little better than EPDQT. This is because PDBQT generates much fewer collisions than EPDQT protocols, which costs fewer total slots.

J. Sens. Actuator Netw. 2018, 7, 13

15 of 18

subsection. Figure 11 also shows that the EPDQT protocols significantly outperform H2 QT, since there are much fewer query cycles in EPDQT than in H2QT. However, PDBQT performs a little better than EPDQT. This is because PDBQT generates much fewer collisions than EPDQT protocols, which costs fewer total slots.Netw. 2018, 7, x FOR PEER REVIEW J. Sens. Actuator 15 of 18

Number of Slots Number of Slots

J. Sens. Actuator Netw. 2018, 7, x FOR PEER REVIEW

8000 7000 8000 6000 7000 5000 6000 4000 5000 3000 4000 2000 3000 1000 2000 0 1000 0

15 of 18

H2QT PDBQT H2QT EPDQT-2 PDBQT EPDQT-3 EPDQT-2 EPDQT-4 EPDQT-3 EPDQT-4 Number of Tags

Number of Tags Figure 11. Number of slots generated by each protocol in sequential distribution.

Figure 11. Number of slots generated by each protocol in sequential distribution. Figure 11. Number of slots generated by each protocol in sequential distribution.

4.2.3. Delay Time vs. Number of Tags

4.2.3. Delay Time vs. Number of Tags

compares the time needed to complete tag identification in sequential 4.2.3.This Delaysimulation Time vs. Number of Tags This simulation compares the time needed to complete in sequential distribution distribution for test protocols. The time comparison results tag are identification shown in Figure 12. Figure 12 shows This simulation compares the time needed to complete tag identification in sequential for test Thecosts timeless comparison results are shown inFigure Figure shows that each that protocols. each protocol time than uniform distribution. 1212. alsoFigure shows 12 that the EPDQT distribution for test protocols. The time comparison results are shown in Figure 12. Figure 12 shows 2QT and PDBQT protocols. protocols significantly outperform the H protocol costs less time than uniform distribution. Figure 12 also shows that the EPDQT protocols that each protocol costs less 2time than uniform distribution. Figure 12 also shows that the EPDQT significantly H QT and protocols. protocols outperform significantly the outperform the PDBQT H2QT and PDBQT protocols. 10

DelayDelay TimeTime (s) (s)

10 8 8 6

H2QT PDBQT H2QT

6 4

EPDQT-2 PDBQT

4 2

EPDQT-3 EPDQT-2 EPDQT-4 EPDQT-3

2 0 0

EPDQT-4 100 500 1000 1500 2000 2500 3000 3500 4000 Number of 2500 Tags 3000 3500 4000 100 500 1000 1500 2000 Number of Tags

Figure 12. Time required to complete tag identification in sequential distribution. Figure 12. Time required to complete tag identification in sequential distribution.

4.2.4. System Efficiency vs.required Numbertoofcomplete Tags Figure 12. Time tag identification in sequential distribution. comparison results for system efficiency in terms of slots and time for test protocols are 4.2.4.The System Efficiency vs. Number of Tags

4.2.4.given System Efficiency in Figures 13 vs. andNumber 14. EachofofTags the compared approaches experiences similar slot system

The comparison results for system efficiency in terms of slots and time for test protocols are efficiency as the number of tags increases, as shown in Figure 13. Figure 13 also shows that each The comparison results in terms of slots and time for test protocols are given given in Figures 13 and for 14. system Each ofefficiency the compared approaches experiences similar slot system protocol achieves better performance under sequential distribution than uniform distribution. This in Figures 13 as and Each of of tags the compared experiences similar slotshows system efficiency the14. number increases, asapproaches shown in Figure 13. Figure 13 also thatefficiency each is because of the large amount of tag identifications in the query cycles of each protocol. Specifically, protocol achieves better performance underin sequential distribution than uniform This as the number of tags increases, as shown Figure 13. Figure 13 also showsdistribution. that each protocol the EPDQT protocols achieve very high slot system efficiency (around 85.4% to 98.0%). This is is because of the large amount of tag identifications in the query cycles of each protocol. Specifically, achieves better under sequential distribution than uniform distribution. This is than because because the performance EPDQT protocols generate much fewer collisions under sequential distribution thelarge EPDQT protocols achieve very high slot query systemcycles efficiency (around 85.4% to 98.0%). the This is of the amount of tag identifications in the of each protocol. Specifically, EPDQT uniform distribution. However, time system efficiency of the EPDQT protocols is much worse than because the EPDQT protocols generate much fewer collisions under sequential distribution than protocols very high slot system efficiency (around 85.4% 98.0%). is because the EPDQT H2QT achieve and PDBQT. The rationale behind this result is also clear.toSince the This EPDQT protocols cost a uniform distribution. However, time system efficiency of the EPDQT protocols is much worse than protocols generate much fewer collisions under sequential distribution than uniform distribution. few collisions in sequential distribution, the time spent in tag identification is much less than the H2QT and PDBQT. The rationale behind this result is also clear. Since the EPDQT protocols cost a communication overhead for reader query commands. As a result, time system efficiency is low few collisions in sequential distribution, the time spent in tag identification is much less than the compared to H2QT and PDBQT protocols. communication overhead for reader query commands. As a result, time system efficiency is low compared to H2QT and PDBQT protocols.

J. Sens. Actuator Netw. 2018, 7, 13

16 of 18

However, time system efficiency of the EPDQT protocols is much worse than H2 QT and PDBQT. The rationale behind this result is also clear. Since the EPDQT protocols cost a few collisions in sequential distribution, the time spent in tag identification is much less than the communication overhead for reader query commands. As a result, time system efficiency is low compared to H2 QT and PDBQT protocols. J. Sens. Actuator Netw. 2018, 7, x FOR PEER REVIEW 16 of 18

SlotSlot System Efficiency System Efficiency

J. Sens. Actuator Netw. 2018, 7, x FOR PEER REVIEW

1.0000 1.0000 0.8000 0.8000 0.6000 0.6000 0.4000 0.4000 0.2000 0.2000 0.0000 0.0000

16 of 18

H2QT H2QT PDBQT PDBQT EPDQT-2 EPDQT-2 EPDQT-3 EPDQT-3 EPDQT-4 EPDQT-4 100 100

500 1000 1500 2000 2500 3000 3500 4000 500 1000 1500 2000 2500 3000 3500 4000 Number of Tags Number of Tags

Time Systen Efficiency Time Systen Efficiency

Figure 13. Slot system efficiency of compared protocols in sequential distribution. Figure 13. Slot system efficiency of compared protocols in sequential distribution. Figure 13. Slot system efficiency of compared protocols in sequential distribution. 0.6000 0.6000 0.5000 0.5000 0.4000 0.4000 0.3000 0.3000 0.2000 0.2000 0.1000 0.1000 0.0000 0.0000

H2QT H2QT PDBQT PDBQT EPDQT-2 EPDQT-2 EPDQT-3 EPDQT-3 EPDQT-4 EPDQT-4 100 500 1000 1500 2000 2500 3000 3500 4000 100 500 1000 1500 2000 Number of 2500 Tags 3000 3500 4000 Number of Tags

Figure 14. Time system efficiency of compared protocols in sequential distribution. Figure 14. Time system efficiency of compared protocols in sequential distribution. Figure 14. Time system efficiency of compared protocols in sequential distribution.

5. Conclusions 5. Conclusions Developing a highly efficient tag identification process in a large-scale RFID system is a crucial 5. Conclusions Developing a highly tag identification process in athe large-scale RFID system is a crucial and very challenging task.efficient Many collisions may occur during tag identification process due to Developing a highly efficient tag identification process in a large-scale RFID system is due a since crucial and very challenging task. Many collisions may occur during the tag identification process to the nature of large-scale RFID systems. On the other hand, many idle cycles may also occur, and very challenging task. Many collisions may occur during the tag identification process due the large-scale RFID systems. thesome othercommon hand, many idle cycles may also occur, since tag nature IDs in, of say, a big shopping mall mayOn have prefix (e.g., common product code or to tag the nature of large-scale RFID systems. On the other hand, many idle cycles may also occur, 2QT can IDs in, a big shopping mall may common (e.g., common product or vendor ID).say, Identification protocols suchhave as Hsome reduceprefix idle cycles, but there are stillcode many since tag IDs in, say, a collision big shopping mallbecomes may have some common prefix (e.g., common product vendor ID). Identification protocols such as H2QT reduce idle cycles, but there are still In many collisions. Therefore, resolution acan major issue in improving performance. this 2 QT can reduce idle cycles, but there are still code or vendor ID). Identification protocols such asa H collisions. collision becomes major issuealgorithm in improving performance. In and this paper, we Therefore, proposed a nearly resolution collision-free tag identification to reduce collisions paper, we proposed a nearly collision-free tag identification algorithm to reduce collisions and many collisions. Therefore, collision substantially. resolution becomes major issue in improving performance. improve identification performance We useda the predetection technique to detect all identification substantially. the predetection technique to detect all In improve this cycles paper, we proposed a nearly collision-free tag identification algorithm reduce collisions idle and many performance possible collided inquiries.We As used a result, we were able totonot only reduce idle cycles identification and manyinquiries, possible collided inquiries.idle As We a result, we were able not only reduce unnecessary collided but also substantially. eliminate time slots.the Therefore, theto performance ofdetect tag and improve performance used predetection technique to collided inquiries, also eliminate idleAs time slots. Therefore, performance tag identification canmany be significantly improved. To evaluate the efficiency our the proposed protocol, we allunnecessary idle cycles and possiblebut collided inquiries. a result, we of were able to not onlyofreduce 2 identification can be significantly improved. To evaluate the efficiency of our proposed protocol, we implemented our proposed EPDQT protocol along with previous H QT andthe PDBQT protocolsofintag unnecessary collided inquiries, but also eliminate idle time slots. Therefore, performance implemented ourbeproposed EPDQT protocol along with previous H2QT and PDBQT protocols in two tag ID distributions: uniform distribution sequential distribution. simulation results identification can significantly improved. Toand evaluate the efficiency of The our proposed protocol, tag IDour distributions: uniform distribution sequential distribution. The simulation results show that proposed protocol can provide and considerable improvement terms of number of in wetwo implemented our proposed EPDQT protocol along with previous H2 QT in and PDBQT protocols show that our proposed can provide considerable terms of number of queries, number of total protocol slots, system efficiency, and total improvement time requiredinfor tag identification. queries, number of also total show slots, system efficiency, andEPDQT total time required tag identification. Simulation results that the proposed protocol can for provide substantial Simulation results also show that the proposed EPDQT protocol can provide substantial improvement in identification time for a large-scale RFID system. improvement in identification time for a large-scale RFID system. Author Contributions: Yu-Hsiung Lin and Chiu-Kuo Liang conceived and designed the experiments; Author Contributions: Lin and Chiu-Kuo conceived andanalyzed designed experiments; Yu-Hsiung Lin performedYu-Hsiung the experiments; Yu-Hsiung Lin Liang and Chiu-Kuo Liang thethe data; Yu-Hsiung

J. Sens. Actuator Netw. 2018, 7, 13

17 of 18

two tag ID distributions: uniform distribution and sequential distribution. The simulation results show that our proposed protocol can provide considerable improvement in terms of number of queries, number of total slots, system efficiency, and total time required for tag identification. Simulation results also show that the proposed EPDQT protocol can provide substantial improvement in identification time for a large-scale RFID system. Author Contributions: Yu-Hsiung Lin and Chiu-Kuo Liang conceived and designed the experiments; Yu-Hsiung Lin performed the experiments; Yu-Hsiung Lin and Chiu-Kuo Liang analyzed the data; Yu-Hsiung Lin contributed reagents/materials/analysis tools; Chiu-Kuo Liang wrote the paper. Conflicts of Interest: The authors declare no conflict of interest.

References 1. 2.

3. 4.

5. 6. 7.

8. 9. 10.

11. 12.

13.

14.

15. 16.

Vogt, H. Efficient Object Identification with Passive RFID Tags. Lect. Notes Comput. Sci. 2002, 2414, 98–113. Li, Y.; Ding, X. Protecting RFID communications in supply chains. In Proceedings of the 2nd ACM Symposium on Information, Computer and Communications Security, Singapore, 20–22 March 2007; ACM: New York, NY, USA, 2007; pp. 234–241. Shirehjini, A.; Yassine, A.; Shirmohammadi, S. Equipment location in hospitals using RFID-based positioning system. IEEE Trans. Inf. Technol. Biomed. 2012, 16, 1058–1069. [CrossRef] [PubMed] Lee, S.R.; Joo, S.D.; Lee, C.W. An enhanced dynamic framed slotted ALOHA algorithm for RFID tag identification. In Proceedings of the Second Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services, San Diego, CA, USA, 17–21 July 2005; pp. 166–172. Dardari, D.; Decarli, N.; Guerra, A.; Guidi, F. The future of ultra-wideband localization in RFID. In Proceedings of the 2016 IEEE International Conference on RFID (RFID), Orlando, FL, USA, 3–5 May 2016. Qiu, L.; Huang, Z.; Wirström, N.; Voigt, T. 3DinSAR: Object 3D localization for indoor RFID applications. In Proceedings of the 2016 IEEE International Conference on RFID (RFID), Orlando, FL, USA, 3–5 May 2016. Naderiparizi, S.; Parks, A.N.; Kapetanovic, Z.; Ransford, B.; Smith, J.R. WISPCam: A battery-free RFID camera. In Proceedings of the 2015 IEEE International Conference on RFID (RFID), San Diego, CA, USA, 15–17 April 2015; pp. 166–173. Philipose, M.; Smith, J.R.; Jiang, B.; Mamishev, A.; Roy, S.; Sundara-Rajan, K. Battery-free wireless identification and sensing. IEEE Pervasive Comput. 2005, 4, 37–45. [CrossRef] Park, J.; Chung, M.; Lee, T.J. Identification of RFID Tags in Framed-Slotted ALOHA with Robust Estimation and Binary Selection. IEEE Commun. Lett. 2007, 11, 452–454. [CrossRef] Klair, D.K.; Chin, K.W.; Raad, R. An investigation into the energy efficiency of pure and slotted aloha based RFID anticollision protocols. In Proceedings of the IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks (WoWMoM), Espoo, Finland, 18–21 June 2007; pp. 1–4. Zhen, B.; Kobayashi, M.; Shimizui, M. Framed aloha for multiple RFID objects Identification. IEICE Trans. Commun. 2005, E88-B, 991–999. [CrossRef] Law, C.; Lee, K.; Siu, K.Y. Efficient Memoryless Protocol for Tag Identification. In Proceedings of the 4th International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications, Boston, MA, USA, 11 August 2000. Myung, J.; Lee, W. An adaptive memoryless tag anticollision protocol for RFID networks. In Proceedings of the 24th Annual IEEE Conference on Computer Communications (INFOCOM’05), Poster Session, Miami, FL, USA, 13–15 March 2005. Choi, H.S.; Cha, J.R.; Kim, J.H. Improved Bit-by-bit Binary Tree Algorithm in Ubiquitous ID System. In Proceedings of the 5th Pacific Rim Conference on Multimedia, Tokyo, Japan, 30 November–3 December 2004; pp. 696–703. Myung, J.; Lee, W.; Srivastava, J. Adaptive binary splitting for efficient RFID tag anti-collision. IEEE Commun. Lett. 2006, 10, 144–146. [CrossRef] Capetanakis, J.I. Tree algorithms for packet broadcast channels. IEEE Trans. Inf. Theory 1979, 25, 505–515. [CrossRef]

J. Sens. Actuator Netw. 2018, 7, 13

17.

18. 19.

20.

21.

22.

23.

24. 25. 26. 27.

28.

18 of 18

Feng, B.; Tao, L.J.; Bo, G.J.; Hua, D.Z. ID-Binary tree stack anti-collision algorithm for RFID. In Proceedings of the 11th IEEE Symposium on Computers and Communications (ISCC’06), Cagliari, Italy, 26–29 June 2006; pp. 207–212. Sahoo, A.; Iyer, S.; Bhandari, N. Improving RFID System to Read Tags Efficiently; KRSIT Technical Report; IIT Bombay: Mumbai, India, June 2006. Zhou, Z.; Gupta, H.; Das, S.R.; Zhu, X. Slotted Scheduled Tag Access in Multi-Reader RFID Systems. In Proceedings of the IEEE International Conference on Networks Protocols (ICNP), Beijing, China, 16–19 October 2007; pp. 61–70. Ryu, J.; Lee, H.; Seok, Y.; Kwon, T.; Choi, Y. A Hybrid Query Tree Protocol for Tag Collision Arbitration in RFID systems. In Proceedings of the IEEE International Conference on Communications (ICC-07), Glasgow, UK, 24–28 June 2007; pp. 5981–5986. Kim, T.H.; Lee, S.J. A Hybrid Hyper Tag Anti-Collision Algorithm in RFID System. In Proceedings of the 11th International Conference on Advanced Communication Technology (ICACT 2009), Phoenix Park, Korea, 15–18 February 2009; Volume 2, pp. 1276–1281. Liang, C.K.; Chien, Y.C.; Tsai, C.H. A Pre-Detection Query Tree Tag Anti-Collision Scheme in RFID Systems. In Proceedings of the Seventh International Conference on Sensor Technologies and Applications (SENSORCOMM’13), Barcelona, Spain, 26–29 August 2013; pp. 51–56. Zhou, F.; Jin, D.; Huang, C.; Hao, M. Optimize the Power Consumption of Passive Electronic Tags for Anti-collision Schemes. In Proceedings of the 5th International Conference on ASIC, Beijing, China, 21–24 October 2003; Volume 2, pp. 1213–1217. Jia, X.; Feng, Q.; Yu, L. Stability analysis of an efficient anti-collision protocol for RFID tag identification. IEEE Trans. Commun. 2012, 60, 2285–2294. [CrossRef] Lai, Y.C.; Hsiao, L.Y.; Lin, B.S. Optimal slot assignment for binary tracking tree protocol in RFID tag identification. IEEE/ACM Trans. Netw. 2015, 23, 255–268. [CrossRef] Yan, Y.N.; Xiong, J. An Efficient Tag Identification Algorithm Based on Improved Collision Detection. IEICE Trans. Commun. 2016, E99-B, 465–470. Landaluce, H.; Perallos, A.; Onieva, E.; Arjona, L.; Bengtsson, L. An Energy and Identificaion Time Decreasing Procedure for Memoryless RFID Tag Anticollision Protocols. IEEE Trans. Wirel. Commun. 2016, 15, 4234–4247. [CrossRef] EPCglobal. EPC Radio-Frequency Identity Protocols Generation-2 UHF RFID. November 2013. Available online: http://www.gs1.org/sites/default/files/docs/epc/uhfc1g2_2_0_0_standard_20131101.pdf (accessed on 12 December 2017). © 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).