analytical evaluation of rfid identification...
Post on 09-Jul-2020
8 Views
Preview:
TRANSCRIPT
ANALYTICAL EVALUATION OF RFID IDENTIFICATION
PROTOCOLS Gaia Maselli
maselli@di.uniroma1.it
RFID Technology
Ø The shopping today Ø Goods are read one at a time
Ø The shopping tomorrow Ø You can check out without
emptying your cart, having the account in seconds
Ø RFID - Radio Frequency Identification Technology enabling automatic object identification
No need for line of sight as in the case of barcodes
2
What is an RFID system?
RF Tags Interrogators and Antennas
Server & Data repositories
The reader queries tags to get their IDs
A server handles the data received by the reader and process it based on the application requeirements.
Radio frequency labels store a unique identifier (ex. 96 bits) and consist of an antenna integrated on a microchip. They are attached to object to be identified
3
Passive tags Ø Small, cheap, long lasting Ø No power source (battery) Ø Transmission through back-scattering: Ø Active tags: powered by batteries, che
offrono una maggiore portata al segnale radio e una maggiore distanza di lettura Ø Much more expensive!
4
Applications Ø Inventory and logistics Ø Acces controll object tracking
Ø Libraries Ø Airport luggages
Ø Domotics e Assisted Living Ø Intelligent appliances Ø Daily assistance to people with disabilities
5
An RFID system is a network Ø Single reader system with passive tags Ø Communication
Ø The reader queries tags Ø Tags reply by sending their IDs
Key aspects Ø The tags answering together cause collisions Ø Tags cannot perform collision detection Ø Channel access must be arbitrated by the reader
Effective and efficient identification of labeled objects
6
Ø An identification protocol has to Ø Identify tags so as to optimize single tag responses (identifications) Ø Minimize concurrent responses (or collisions that prevents identifications)
Ø Identification protocol ⇒ anti-collision or medium access protocol (MAC)
Tag identification
7
• Two approaches (sequential) • Tree based protocols
• Query – response • Deterministic (actually one of them is randomic)
• Aloha based protocols • Time is slotted • Randomic
Anti-collision protocols
8
Tree-based protocols
Prestazioni dei sistemi di rete 9
Seguono una struttura ad albero binario per la ricerca degli identificativi univoci dei Tag (EPC)
Nodo radice , insieme dei Tag da identificare Nodi intermedi, gruppi di Tag che generano collisione Nodi foglia, Tag identificati
Protocolli di anticollisione: tree-based
Insieme dai tag da identificare
tag singolo
tag singolo tag singolo
tag singolo tag singolo
Sottoinsieme di tagLa suddivisione in sottoinsiemi avviene in base a meccanismi diversi
9
• To search unique tag ID (EPC) they follow a binary tree structure • Root node: Initial set of tags (to be identified) • Intermediate nodes: groups of colliding tags • Leaf nodes: identified tags
Tree based protocols
10
Set of tags to identify
Subsets of colliding tags
Single tag Single tag
Single tag Single tag
Single tag
Subsets depends on different mecanisms
Tree-based: Binary splitting (BS) I tag vengono suddivisi in
sottoinsiemi in base alla generazione di un numero random interna al tag
I tag hanno un contatore inizializzato a 0
I tag trasmettono il loro ID quando il contatore è nullo
Il reader informa i tag sull’esito della query (identificazione, collisione, nessuna risposta)
I tag aggiornano il contatore in base all’esito della query: Collisione: i tag che non hanno trasmesso
incrementano di uno il contatore mentre quelli che hanno trasmesso generano un numero random (0,1) e lo sommano al contatore
Non collisione (identificazione o nulla): tutti i tag decrementano di uno il contatore
10
• Tags are grouped based on the generation (inside tags) of a random binary number
Tree based: Binary splitting (BS)
11
} Tags have a counter initialized to 0 } Tags transmit when their counter is 0 } The reader notified the tags about
the query outcome (identification, collision, no answer)
} Tags update their counter based on the query outcome } Collision: silent tags increase their counter
by 1 while transmitting tags generate a random binary number (0,1) and sum it to the counter
} No collision (identification or empty): every tags decrease the counter by 1
Tree-based: Query Tree (QT) I tag vengono suddivisi in
sottoinsiemi in base alla struttura binaria del loro ID
Il reader invia una query che contiene una stringa di bit
I tag che hanno i primi bit (prefisso) uguale alla stringa nella query rispondono inviano il loro ID
Se c’è una collisione sulla stringaq1q2...qx (qi {0,1}, 1 ≤ x < b, and b è il numero di bit nell’ID, il reader aggiunge un bit (0 e 1) alla stringa e invia due nuove query contenenti le stringhe: q1q2...qx0 e q1q2...qx1
L’insieme dei tag che hanno collisoviene quindi suddiviso in due sottoinsiemi
11
Tree based: Query Tree (QT)
12
• Tags are grouped (and queried) according to the generation of a random binary number
} The reader sends a query containing a binary string
} The tags that match the string with a prefix ID reply with their ID
} If there is a collision on the string q1q2…qx (qi ε{0,1}), 1≤x<b, and b is the number of bits in the ID, the reader append one bit (0 and 1) at the string and send two new queries q1q2…qx0 and q1q2…qx1
} Colliding tags are then split into two subset
• Identification trees are similar • The generation of random numbers inside a BS tags reflect
the generation of random bits on QT queries
Binary Splitting vs Query Tree
13
Gli alberi di identificazione erano simili La generazione del numero random interna al tag nel BS rispecchia la
generazione random dei bit nell’ID su cui si basano le interrogazioni nel QT
Binary Splitting vs Query Tree
12
Binary Splitting (BS) Query Tree (QT)
• Optimization of the number of queries, avoiding obvious queries
• Example: • Query with prefix “p” causes collision • Query with prefix “p0” causes no answer • Query with prefix “p1” is skipped because it will cause a collision, and
“p10” and “p11” are queried next
Query Tree Improved (QTI)
14
Effect of ID distribution on QT
• Worst ID distribution: the idea is to maximize the number of collisions (longest common prefix) • In the case of two tags: if they differ for the least significant bit:
• < 00000 > • < 00001 >
• The inventory will result in as many collisions as the common bits in the IDs
27/04/2009 VTC 2009
• Best ID distribution: the idea is to minimize the number of collisions (shortest common prefix). • In the case of two tags: if their IDs differ for the most significant bit
• < 00000 > • < 10000 >
• the inventory will result in only one collision (which is the minimum number of collisions to identify two tags).
Effect of ID distribution on QT (cont)
Optimal distribution Worst distribution • Is it unique? • Is it unique?
16 Effetto della distribuzione degli ID sul QT (2/3) Distribuzione ottima
È unica? Distribuzione pessima
È unica?
15
Effetto della distribuzione degli ID sul QT (2/3) Distribuzione ottima
È unica? Distribuzione pessima
È unica?
15
Aloha-based protocols
Prestazioni dei sistemi di rete 17
Ø Slotted Aloha (random selection of slots) Framed Slotted Aloha
Ø 6 slots: 3 collisions + 3 identifications Ø Protocol efficiency = # identifications / #slots = 50% Ø In general
Ø 37% of identifications Ø The remaining 63% is wasted in collisions and idle queries
18
19
Tree Slotted Aloha (TSA)
X X 1 0 X ... X 1 0
1 X X X
1 1 X 1 1 1
1 1
1st frame 2nd frame Ith frame
} A new child frame is issued for each collision slot: only tags replying to the same slot participate
collision identification idle
TSA
} Child frames should be sized properly according to the number of colliding tags
Estimating tag population to properly tune frame sizes
20
Main Issue
• How to set the initial frame size (the number of tags is
unknown) • How to estimate the number of tags that collide in the
same slot and properly tune the following frames • True in any aloha protocol
Tas estimation issues
21
• The number of tags to be identified is not known • The initial frame size is set to a predefined value (i.e., 128) • The size of the following frames is estimated • The total number of tags is estimated according to the outcome of the
previous frame (based on Chebyshev’s inequality)
Estimating tag population
22
} Given N and a possible value of n, the expected number of slots with r tags is estimated as
( )⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
−⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
=
knN
k
nN
nN
nk
ccc
aaa
cccN 1
0
,
,1
,0
10 min,,,ε
} N: size of completed frame } <c0,c1,ck> triple of observed values } <a0,a1,ak> triple of estimated
values
rnrnN
r NNrn
Na−
⎟⎠
⎞⎜⎝
⎛ −⎟⎠
⎞⎜⎝
⎛⎟⎟⎠
⎞⎜⎜⎝
⎛×=
111,
( ) ( )slotscollision
tagsidentified tagsof num totalestimatedslot collision per tags −=
Performance evaluation: analytical technique
Prestazioni dei sistemi di rete 23
Metrics
• Latency: protocol execution time defined as the time (in seconds) for identifying all tags.
• System efficiency: the fraction of slots or time spent by the
various protocols identifying tags. • In terms of slots SEr = 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 SEt=Tid/Ttot where Tid is the time spent in identifying tags, and Ttot is the total protocol execution time.
24
How can we analytically estimate these metrics?
Counting the number of slots! (singleton, idle, collision)
Prestazioni dei sistemi di rete 25
Considering the temporal duration of each type of slot
and
Transmission time model • Derived from EPCglobal Specification Class 1 Gen 2
26
} R1: tag reaction time, R2: reader reaction time, RX_threshold: time at which the reader should receive the first bit of tag transmission
} β is the ratio of the size of an idle slot to that of a non-idle slot
Time system efficiency System efficiency is the ratio of identification slots over all executed slots Time system efficiency (TSE) considers different duration of idle and identification/collision slots • If idle slots last a ß fraction of identification and collision slots
Prestazioni dei sistemi di rete 27
TSE = nX(n)−Y (n)+β ⋅Y (n)
X(n)= Total number of slots in the TSA tree
Y(n)= Number of idle slots in the TSA tree
Analytical model • Each tag randomly selects a slot
Prestazioni dei sistemi di rete 28
Balls and bins model
N slots
n tags
Analytical model (cont)
Prestazioni dei sistemi di rete 29
s(r) = N × nr
"
#$
%
&'1N"
#$
%
&'r
1− 1N
"
#$
%
&'n−r
• In Framed Slotted Aloha protocols in which n tags randomly select the slot to answer among N slots • the probability that r tags answer in the same slot is given by
the binomial distribution • The number of slots with exactly r tags is given by
The probability of r out of n tags transmit in one of the N slots
Analytical model (cont)
Prestazioni dei sistemi di rete 30
s(1) = n 1− 1N
"
#$
%
&'n−1
• We can count the number of idle, identification and collision slots in a frame of N slots
s(0) = N 1− 1N
"
#$
%
&'n
s(2 ≤ r ≤ n) = N × nr
#
$%
&
'(1N#
$%
&
'(r
1− 1N
#
$%
&
'(n−r
r=2
n
∑ collision
idle
singleton
p(N,n, r)
TSA analysis • Let the number of slots in the tree of frames to recognize n tags be X(n)
• Let the root frame consist of s(n) slots • For collision of k≥2 tags, TSA is recursively invoked • The number of slots in a TSA tree is thus given by the
number of slots in the root frame plus the number of slots in children frames of collision slots
Prestazioni dei sistemi di rete 31
X(n) =1 if n =1
s(n)+ s(n) ⋅ p(s(n),n,k) ⋅X(k)k=2
n
∑ if n >1
#
$%%
&%%
TSA analysis (cont) • Similarly, the number of idle slots in a TSA tree is
Prestazioni dei sistemi di rete 32
Y (n) =s(n)−1 if n =1
p(s(n),n, 0) ⋅ s(n)+ s(n) ⋅ p(s(n),n,k)×Y (k)k=2
n
∑ if n >1
%
&''
(''
Evaluating metrics • Latency • TSE
• Tools: we can use Matlab or Mathematica to evaluate
recursive formulas (X(n) and Y(n))
Prestazioni dei sistemi di rete 33
TSE = nX(n)−Y (n)+β ⋅Y (n)
Latency = (X(n)−Y (n)) ⋅ tid /coll +Y (n) ⋅ tidle
top related