rfid data aggregation dritan bleco, yannis kotidis department of informatics athens university of...
TRANSCRIPT
RFID Data Aggregation
Dritan Bleco, Yannis KotidisDepartment of Informatics
Athens University of Economics and Business
Yannis Kotidis
Outline
Introduction Temporal Aggregation
Basic Temporal Aggregation - BTA Lossy Temporal Aggregation - LTA
Spatial Aggregation Evaluation Conclusions
Yannis Kotidis
Radio Frequency Identification (RFID) Use radio-frequency waves to transfer data
between a reader and a movable item to identify, categorize, track...
Does not require physical sight or contact between reader/scanner and the tagged item
Yannis Kotidis
Variations
Active/Passive Tags Memory Size (16bits- KBs) Memory Type
Read Only, WORM, Read/Write Frequency
125KHz - 5.8 GHz Physical Dimensions
Thumbnail to Brick sizes Price (few cents-hundred euros)
Yannis Kotidis
Existing Applications
Animal/livestock tracking Postal services (routing and
sorting) Libraries Toll collection Warehousing Supply chain management …
Yannis Kotidis
RFID System Architecture
RFID Reader
tag
RFID ReaderRFID Reader
tagtag
tag tagtagtag
tag
Edgeware (on-site)filtering, cleaning, aggregation
Raw RFID Data Stream
Aggregated RFID Data Stream
Middleware (remote)
IT Applications
tagLevel-0
Level-1
Level-2
Level-3
EPC Code (tag)
Time (reader)
Location (reader)
Yannis Kotidis
Simple RFID data stream model
Assume streaming records with schema EPC code: EPCi
(Discrete) Time: ti
Location: loci
Yannis Kotidis
Basic Temporal Aggregation (BTA)
Collate consecutive reports of the same tag
Reader(EPCi,loci,tstart)
(EPCi,loci,tstart+1)
(EPCi,loci,tstart+2)
…
(EPCi,loci,tend)
tstart tend
Raw stream
(EPCi,loci,tstart,tend)
Aggregated stream
EPCi
loci
Yannis Kotidis
Problems with BTA
RFID readers often drop observations e.g. due to collisions Up to 30% loss is not uncommon [Jeffery2006]
Objects are often moved within the facility Multiple BTA records
Reduction depends on data characteristics Need an application-controllable reduction
framework OLAP analysis does not require precise
knowledge!
Yannis Kotidis
Lossy Temporal Aggregation (LTA)
LTA record format: (EPC,loc,tstart,tend,p) Tag may be partially present during the
interval Value denotes the fraction of times that the
tag was observed during the interval BTA: p=1 (implied) LTA: 0<p≤1
Allow us to control the size of the aggregated stream or the level of accuracy
Yannis Kotidis
Types of Error in LTA
tstart tend
X=epochs when tag was reported in [tstart,tend]
Y=epochs when tag was not reported in [tstart,tend]
p = X / (X+Y)
Tag spotted but not reported
Tag spotted but reported with
probability p instead of 1
Tag not spotted but nevertheless
reported with probability p
selected LTA interval
Yannis Kotidis
Problem Formulation
Compute best B-tuple LTA representation such that cumulative error (including both false negative and false positive error types) is minimized Cumulative Error = 2*X*Y/(X+Y)2
Other error metrics? Dual problem also interesting
Yannis Kotidis
Helpful Observations
1. Selected end-points tstart,tend must contain appearance of a tag
2. Should not break consecutive observations
Bad choice due to (1)
Bad choice due to (2)
Thus, we can first apply BTA and afterwards LTA
Yannis Kotidis
Linear Algorithm
Goal: generate B LTA records Input: n BTA records
Example: Reduce stream from 8 to B=4 records
BTA Interval
LTA Interval
Yannis Kotidis
Greedy Algorithm
Iteratively merge intervals Select best candidate at each step Stop when left with exactly B intervals
Yannis Kotidis
Optimal LTA
Dynamic Programming formulation E(i,k): error of best k LTA representation for
first i BTA intervals err(a,b): error for single LTA record encoding
intervals a, a+1, … b
k-1 LTA intervals
1 2 j j+1 i
1 LTA interval
E(i,k)=min(E(j,k-1)+err(j+1,i))j<i
BTA intervals:
Yannis Kotidis
Spatial Aggregation
Tags often move in batches Common in
supply-chain/distribution networks
Idea: create surrogate EPC codes to replace multiple tags packaged together Proposed in [Gonzales et all
ICDE 2006] Note:
Do not know in advance how items are grouped
Surrogate codes do not imply physical grouping
Yannis Kotidis
Example
G1: I1 I2
Surrogate Group codes
I1 L1 T1 T5 .78
I2 L1 T1 T5 .69
I3 L1 T2 T5 .90
I1 L2 T12 T22 .67
I2 L2 T12 T22 .62
I4 L2 T12 T22 .66
LTA stream
These items are observed at
the same interval/location
Yannis Kotidis
Example
G1L1 T1 T5 .69
I3 L1 T2 T5 .90
I1 L2 T12 T22 .67
I2 L2 T12 T22 .62
I4 L2 T12 T22 .66
LTA stream
New record replaces both entries
G1: I1 I2
G2: G1 I4
Surrogate Group codes
More tags
spotted together
Yannis Kotidis
Resulting Tables
G1L1 T1 T5 .69
I3 L1 T2 T5 .90
G2 L2 T12 T22 .62
Reduced stream
G1: I1 I2
G2: G1 I4
Surrogate Group codes
I1 L1 T1 T5 .78
I2 L1 T1 T5 .69
I3 L1 T2 T5 .90
I1 L2 T12 T22 .67
I2 L2 T12 T22 .62
I4 L2 T12 T22 .66
LTA stream
Yannis Kotidis
Experiments
Used RFID traces from 2008 Hope Conference in New York Sampled data at 30sec intervals 1.9Million records Reduced to 423K records via BTA
Yannis Kotidis
Accuracy (LTA)
Picked tag with most intervals (569) Vary number of requested LTA-tuples (B)
0
500
1000
1500
2000
0 200 400 600
Output Intervals (B)
Cu
mu
lati
ve
Err
or
OptimalDPGreedyLinear
Yannis Kotidis
Execution Times (LTA)
1
10
100
1000
10000
100000
1000000
0 200 400 600
Output Intervals (B)
Ex
ec
uti
on
Tim
e (
ms
ec
s)
OptimalDPGreedyLinear
Yannis Kotidis
Notes on Spatial Aggregation
Input: 434K BTA records Output
77K surrogate group ids 39% space reduction (accounting surrogates) 3.3secs (1.83GHz Core Duo with 1GB)
Yannis Kotidis
Different Choices
0
5
10
15
20
25
Initial Stream Basic Temp Aggr Basic Temp Aggr+Spatial Aggr Greedy Greedy+Spatial Aggr
Str
eam
Siz
e (M
B)
Lossless Lossy
3:13:1
Yannis Kotidis
Conclusions
Explored different aggregation schemes Exploit temporal and spatial correlations
Schemes reduce size of RFID stream in a user-controllable manner
All algorithms are fairly fast Greedy is orders of magnitude faster than OptimalDP
with practically identical performance More schemes possible
Ex: spatial with fuzzy groups Other error metrics, dual problem
Yannis Kotidis
Thank you,
Questions?