240 likes | 394 Views
A hybrid randomized protocol for RFID tag identification. Aleksandar Micic Amiya Nayak David Simplot-Ryl Ivan Stojmenovic. RFID. R adio F reqency ID entification Technology for tracking objects Reader device sends probes to a set of RFID tags
E N D
A hybrid randomized protocol for RFID tag identification Aleksandar Micic Amiya Nayak David Simplot-Ryl Ivan Stojmenovic
RFID • Radio FreqencyIDentification • Technology for tracking objects • Reader device sends probes to a set of RFID tags • Only reader has signal/collision detection capability • A tag is recognized only when it is the only one to respond (status=single) • If none of tags responds then status=silence • If two or more tags respond then status=collision
Tag Identification Problem • Minimize the number of probes necessary for reading all the tags • Assuming that the number of tags is known in advance (to simplify) • Assuming single channel for all communication • Time divided, slots divided in two sub-slots: probes from reader and responses by tags • Reader informs about the outcome: silence, collision or unique message at the beginning of the next slot as part of new probe
Related work • Hybrid randomized protocols for batch conflict resolution and estimation n of the number of stations • Cidon, Sidi (1988): 2.43n for small n to 2.13n for large n, • Greenberg and Ladner (1987) • Popovski, Fitzek, Prasad (2004): 2.35n to 2.07n. • Our protocol is similar in flavor but details are different; it is simpler due to assumptions of known n and we provide elegant proof for the bound
Optimizing probability • Suppose that there are m tags, and each responds with probability p. • What is the expected number of tags to respond? • What value of p will optimize the probability that a single response is received?
Identification by optimizing probability Assign IDs to stations or read tags: Protocol n-partitionHayashi, Nakano, Olariu 1999 form ndownto 1 do { repeat station broadcasts on the channel with probability 1/m until the status on the channel is single broadcast the tag that has broadcast is read and stops competing for ID } Approximately en competing steps, e=2.71..
{a,b,c,d,e} {a,c,d} {b,e} {a,d} {e} {c} {b} {a} {d} Partitioning for initialization HNO’99 repeat • each tag selects 0 or 1 with probability 1/2; • all the tags that selected 1 broadcast; • let Status1 be the resulting status; • all the tags that selected 0 broadcast; • let Status0 be the resulting status; • until Status1 <> silence and Status0 <> silence; Successful partitions
Partitioning algorithm HNO’99 L= # of sets to identify tags from P(1),…,P(L)= sets of tags to identify Tag in P(k) participates in identification if k=L, otherwise it waits Drawbacks: If status1=silence then status0 known without probe Calculating |P(L)| does not need extra step not correct for 1 tag 2-partition L n 1; while L >= 1 do { if |P(L)| = 1 then { n-th tag read; n n + 1; L L – 1 } else { partition P(L) into P(L), P(L+1); L L + 1; };};
Our modifications • If status1=silence then status0 not asked (if the first part is empty then there must be something in the second part) • Very first transmission not necessary since set of tags is known not to be empty • Introduced one extra time slots after any unique transmission, which will ask all competing tags to transmit • Goal: improve performance for small n=2,3,4, worsen performance for large n • It will be used in hybrid algorithm only for small n
Protocol 2-partition-1 k L NextId 1; station active; Repeattag with k < L just listens and updates NextId and L; repeat tag selects 0 or 1 with probability 1/2; active tag that selected 1 broadcasts Status1 until Status1 <> silence; if Status1=single then { NextIdNextId + 1 }; active tag that selected 0 broadcasts Status0; if Status0 = single then { NextIdNextId + 1}; if Status1 collision and Status0 collision then { L L - 1}; if Status1 = collision and Status0 = collision then { L L + 1; station in partition1: k L } until L=0;
Performance • How this works if there are no tags? • How this works if there is only one tag? How many probes? • Suppose that there are two tags. • F(2)= expected number of probes with 2 tags; • Possible outcomes in the internal ‘repeat’ loop are: • 00 (status1=silence), 01 (status1=single), 10 (status1=single), 11 (status1=collision). • probability of non-silence is p=3/4.
Two tags • If probability of an event is p, the the expected number of attempts for event to happen is 1/p. • It takes 4/3 attempts to exit internal ‘repeat’ loop • At exit, there are three options: 10, 10, 11 • Probability of single is 2/3, and in one more probe the other tag is read • Probability of collision is 1/3, and it leads to the external ‘repeat’ loop, and F(2) probes • F(2)=4/3+2/3*1+1/3*F(2) -> 2/3*F(2)=2 • F(2)=3 probes
Three tags F(3) probes • Outcomes external ‘repeat’: 000, 001, 010, 100, 110, 101, 011, 111 • Probability non-silence is 7/8, with 8/7 attempts av. • Status1=single for 001, 010, 100, 3/7 prob., will read collision of two other tags in the next probe, and will go back to external ‘repeat’ loop with F(2) probes; 3/7*[1+F(2)] • Status1=collision for 111, 1/7 prob., will probe status0 for silence and to external ‘repeat’: 1/7*[1+F(3)] • Status1=collision for 011, 101, 110; 3/7 prob., will read single with the next probe, and go back to the external ‘repeat’ loop with F(2) probes; 3/7*[1+F(2) • F(3)=8/7+3/7*[1+F(2)]+1/7*[1+F(3)]+3/7*[1+F(2)]; F(2)=3. • 6F(3)=8+12+1+12=33; F(3)=5.5
Four tags • 0000: 16/15 attempts not to get it • 0001, 0010, 0100, 1000: 4/15*[1+F(3)] • 0011, 0101, 0110, 1001, 1010, 1100: 6/15*[1+2F(2)] • 1110, 1101, 1011, 0111: 4/15*[1+F(3)] • 1111: 1/15*(1+F(4)) • F(4)= 16/15+4/15*[1+F(3)]+6/15*[1+2F(2)]+4/15*[1+F(3)]+1/15*[1+F(4)] • 15F(4)=16+4*6.5+6*7+4*6.5+1 • F(4)=111/15=7.4
Performance of 2-partition-1 • Two tags: expected 3 slots per tag: improved from expected 5 slots • Three tags: expected 5.5 slots • Four tags: 7.4 slots • For large n it is (e+1) per tag
Hybrid initialization protocol • Binary partition for large n is normally successful • Use k-ary partitioning instead of 2-partition k=? • Repeat each active tag transmits with probability k/n {perform k-partitioning k=p/n p=?} casesilence: do nothing unique transmission: read tag, reduce n (# of tags) collision: call 2-partition-1 for collided tags; update n Endcase until all tags are read - binary (=2-ary) partition p=n/2 - p1 simple n-partition protocol • n dynamically updated if unknown
Performance • Theorem 1. • The expected number of time slots in hybrid(n) protocol for reading of n tags is <2.20n. • Experiments: • 2.15n
Conclusion • An extension for unknown number of stations described in master thesis by the first author • Tags have no memory capacity: (Kalinowski, Latteux, Simplot 2001) • Minimize radiation (# of bits sent by reader)? (Hush, Wood 1998; two patents in 1996)
Unknown tag detection Liu, Qi, Li, Stojmenovic, Shen, Liu, Qu, 2014
BF-UTD protocol • Filter length f and # of hash functions k to choose so that probability of detecting unknown tag existence is at least a • Identify verification: • hash N known tags, • broadcast filter F • Unknown tag reporting: • compare with F to decide if unknown, • if so send 1 bit; • if at least one bit sent, unknown tag presence (one or more) detected
Enhanced algorithm • Sampling probability p for (known and unknown) tags to participate • Run same algorithm only for sampled tags • Optimal p and k depend on tolerance m (when m or more unknown tags are present), N, f, a