310 likes | 399 Views
UC Berkeley NEST Retreat June 3, 2004 Kenneth R. Traub CTO, ConnecTerra, Inc. Agenda. Introduction to EPC & RFID RFID “Middleware” Data Language for EPC/RFID: Application Level Events (ALE). The Aware Enterprise. … epc:38000.171.234 epc:38000.1571.3987 epc:38000.171.2392
E N D
UC Berkeley NEST RetreatJune 3, 2004Kenneth R. TraubCTO, ConnecTerra, Inc.
Agenda • Introduction to EPC & RFID • RFID “Middleware” • Data Language for EPC/RFID: Application Level Events (ALE)
The Aware Enterprise … epc:38000.171.234 epc:38000.1571.3987 epc:38000.171.2392 epc:38000.171.1342 … RFID Suppliers & Customers … 1500rpm 1501rpm 1600rpm 1540rpm … Sensors … PoS #1345 Store 7, Aisle 6 Scans: 3,495 Transactions: 286 Print lines: 5,987 … Smart Devices Internal Business Process and Applications Use real-time data from autonomous devices to gain visibility, and thereby improve business processes and results
ConnecTerra • Mission: Infrastructure software for the Aware Enterprise • Focus on real-time data gathering from smart devices • Technologies which enable custom Device Computing solutions • RFTagAware: EPC/RFID infrastructure software
Two Innovations: EPC & RFID • The Electronic Product Code (EPC) • Gives a unique identity to individual physical objects: items, cases, pallets, locations, loads, assets, etc • Radio Frequency Identification (RFID) • Cheap sensing of object EPC codes • The Yin and the Yang • EPC enables new, value-creating business processes • RFID will make those processes practical RFID EPC
Electronic Product Code • Every item has distinct serial number • Capacity for 200 billion serial numbers per item (on 96-bit tag) • New business processes based on tracking individual things + 1732050807 = EPC Company Code Product Code Unique Serial Number
Applications: Drug Anti-Counterfeit • Give every vial of drugs a “pedigree” by: • Assigning unique EPC at point of manufacture • Record sighting of EPC at each point in supply chain • Suspect any vial lacking a proper pedigree: • Invalid EPC • Duplicate of previously seen • Inconsistent/inexplicable trail of sightings Supplier InventoryHub DistributionCenter Manufacturing Pharmacy
Radio-Frequency Identification • Each tag carries unique EPC code (64 or 96 bits) • Cheaper to read than bar codes: • Can read many at once • Direct line of sight and orientation not required • Makes practical those business processes requiring many EPC sightings Tags Reader’sAntenna Reader
Applications: Retail Out-of-Stock RFID tag on each item • Give each clothing article an RFID tag • Track with readers throughout store • Notify stock clerk when: • a given size is out of stock • inventory not in proper place RFID antenna near each rack Inventory system and stock clerk display
Applications: Retail Promotions • Give unique EPC to each case of promotion-packaged item, on RFID tag • Equip facilities with RFID readers: loading dock doors, trucks, retail back-room door, dumpster • Can now measure & drive promotion: • Timeliness: is promotional packaging reaching consumer in time? • Effectiveness: is promotional item selling better? Mfr’s DistributionCenter Retailer’sDistributionCenter Manufacturing Retail Store
Agenda • Introduction to EPC & RFID • RFID “Middleware” • Data Language for EPC/RFID: Application Level Events (ALE)
3G Cellular Firewall VPN Internet Large Scale RFID Deployment R R Enterprise Site (1 or more) Warehouse Exchange with Trading Partners S Enterprise Apps:- Track & Trace- Promotions- Factory Efficiency- Ship & Receiveetc. Firewall R R R 1,000’s Distribution Ctr S Firewall R R R Management/ControlApplications Satellite Stores R = RF tag Reader R 10,000’s S = Local compute server
Multiple Applications, Evolving Technology Track & Trace Out-of-stock Promotions Ship & Receive Data Path ConnecTerra RFTagAware™ Control Path - Real-time data collection & distribution - Monitoring & management of infrastructure Tags, Readers, etc.
RFTagAware - Manageability RFTagAware Edge Server • Manages reader configuration, setup, reboot • Handles individual quirks of each reader model • Monitors reader health • “No tag reads: am I not receiving any goods, or is my reader broken?” • Provides real-time monitoring of health of radio (RF) environment • Helps answer the question “Is this data any good?” RFID Reader RFID Reader DataEngine RFID Printer RFTagAware Control Server Mgmt Agent External Triggers
RFTagAware – Data Collection & Distribution Track & Trace ALE API RFTagAware Edge Server RFID Reader Promotions RFID Reader DataEngine Out-of-stock RFID Printer External Triggers Ship & Receive Individual tag reads Several times / secondfor every tag that is in range • “Please give me: • a report every 60 seconds • from the readers at loading dock #5 • only Acme products, no item-level tags • only what’s changed” • Multiple applications sharing data from same/different readers • On-demand or autonomously
Agenda • Introduction to EPC & RFID • RFID “Middleware” • Data Language for EPC/RFID: Application Level Events (ALE)
ALE Basics EPC1 EPC1 EPC2 EPC2 EPC3 EPC3 EPC3 EPC3 EPC3 EPC3 EPC4 EPC4 EPC5 EPC5 EPC5 EPC5 EPC5 Read Cycle 1 Read Cycle 2 Read Cycle 3 Read Cycle 4 Read Cycle 5 Read Cycle 6 Read Cycle 7 App 1 Event Cycle 1 App 3 Event Cycle 1 App 2 Event Cycle 1 App 2 Event Cycle 1 Report Report Report Report Report Report
Event Cycle Specification (ECSpec) • What locations (logical readers) • Time boundaries: • Start: One of: continuous, repeat interval, or start trigger • Stop: Any of: duration, stable field interval, stop trigger • One or more report specifications: • What EPCs: current, additions, deletions • What filters to apply: include patterns, exclude patterns • Whether to group by a pattern • What to output: list or count (per group)
Formal Model • Rr,I = EPCs read by r in read cycle i • E = U { Rr,i | r is reader named in ECSpec, i is read cycle within boundaries } • S (“report set”) = one of • E (current) • E – Eprev (additions) • Eprev – E (deletions) • F(S) = filtered report set • Output = one of • F(S) (list) • |F(S)| (count)
Formal Model (groups) • Group operator G(epc) maps epc to group name • Group list report = • { (g, { epc | G(epc) = g }) | all non-empty g } • Group count report = • { (g, |{ epc | G(epc) = g }|) | all non-empty g }
Operational Modes • “Immediate” (synchronous) • Application presents ECSpec • ALE implementation returns reports (“do it now”) • “Poll” (synchronous) • Application defined named ECSpec “A” • Application requests one event cycle from “A” • ALE implementation returns reports • “Subscribe” (asynchronous) • Application defines named ECSpec “A” • Application subscribes to “A”, giving destination “D” • ALE implementation sends reports to “D” each time an event cycle completes
“Immediate” Mode Client ALE Reader(s) Immediate(ECSpec) read cycle read cycle ECReports
“Poll” Mode (synchronous) Client ALE Reader(s) define(name, ECSpec) poll(name) read cycle read cycle ECReports
“Subscribe” Mode (asynchronous) Client ALE Reader(s) Destination define(name, ECSpec) subscribe(name, dest) start read cycle read cycle ECReports start read cycle …
Async Operation – Notes • Start conditions: • Continuous (next event cycle begins when previous ends) • Repeat period (next event cycle begins N msec after previous begins) • Start trigger • Behavior for empty report: • Report (output includes empty report) • Omit (output includes other reports) • Suppress (no output at all, even if other report specs are non-empty)
Other Notes • Reader control: • Deactivate reader if no event cycles active that use it. • Readers may have on-board filtering, to • improve RF protocol efficiency • save network bandwidth In such cases, push common filter down to reader
Implementation • RFTagAware 1.1 • Pluggable reader drivers (5), notification delivery drivers (6) • 80,000 reads/sec throughput (on 350MHz laptop) • 16Mb footprint (Java, includes JVM) • ALE-style extensions for tag writing