tagcentric open source rfid middleware
play

TagCentric: Open Source RFID Middleware Joseph E. Hoag, Craig W. - PowerPoint PPT Presentation

TagCentric: Open Source RFID Middleware Joseph E. Hoag, Craig W. Thompson CSCE Department University of Arkansas What is TagCentric? Java application, built on Ubiquity framework. TagCentric collects event data from a heterogeneous set


  1. TagCentric: Open Source RFID Middleware Joseph E. Hoag, Craig W. Thompson CSCE Department University of Arkansas

  2. What is TagCentric? • Java application, built on Ubiquity framework. • TagCentric collects event data from a heterogeneous set of RFID readers and deposits the data into a user-specified database. • Readers supported: Alien, Symbol, ThingMagic, plus a synthetic reader. (Impinj soon?) • Databases supported: Oracle, DB2, MySQL, DRB, Postgres. • Also capable of printing/encoding tags via the Zebra tag printer.

  3. Sample TagCentric Configuration

  4. Screen Shot: Admin Panel

  5. Screen Shot: Database Panel

  6. Screen Shot: Reader Panel

  7. TagCentric Release • TagCentric released on SourceForge in mid- February, 2007. • Fairly high number (hundreds) of downloads, but no feedback as of yet. • See www.tagcentric.info

  8. TagCentric Project: Benefits to Industry • Commercial RFID middleware can cost $30K-$50K and require an army of engineers to operate and maintain it. • TagCentric lacks “bells and whistles”, but provides basic RFID functionality for small businesses, universities and testing centers. • University of Arkansas part of a consortium of open source RFID software providers.

  9. TagCentric: Future Enhancements • Work with Pramari and Impinj to develop reference implementation for Low Level Reader Protocol, a new EPC standard reader interface. • Add smart devices – cameras, robot arms • Add device languages including MBNLI • Add analytics and spatial modeling • Add EPCglobal-compliant Application Level Event (ALE) server agent. • Add database federation logic for linking multiple TagCentric installations together.

  10. Synthetic Data Generation Joseph Hoag, Craig Thompson CSCE Department University of Arkansas

  11. Why use synthetic data generation? • Regression testing . Repeatedly generate the same large data set for testing enterprise applications. • Secure application development . Develop enterprise applications using generated data that is realistic but not real. • Testing of data mining applications . Generate data sets with known characteristics to gauge whether or not data mining tools can discover those characteristics.

  12. SDDL Sample, Results <database> itemID color inventory <seed>18745913</seed> ‘red’ <pool name="colors"> 100 7 <choice name="red"/> ‘blue’ <choice name="green"/> 101 5 <choice name="blue"/> ‘green’ 102 7 </pool> <table name="items"> ‘red’ 103 4 <field name="itemID" type="int"> <iteration base="100" count="5"/> ‘green’ 104 9 </field> <field name="color" type="CHAR(5)"> <formula>colors</formula> </field> <field name="inventory" type="int"> <min>3</min> <max>10</max> </field> </table> </database>

  13. Synthetic Data Generator -- Front End • Retrieve Tables, Attributes and Foreign Key Constraints • Edit SDDL description

  14. SDG Parallelism • Parallel processes all reference the same Synthetic Data Description Language (SDDL) file. • Each parallel process generates a single text output file, containing a portion of the generated table. • Database then imports the text files as data. • Lack of inter-process dependencies gives linear speedup. Speed of SDG is only limited by number and speed of processors. • Output is identical regardless of the number of generation processes utilized.

  15. Application: Store-Item-Sales Data • Generated 10 years of store-item-sales data for a major retailer. Ran generator on grid of sixteen 1.6-GHz Itaniums. – 70 billion rows (4.5 TB) of data generated. – Peaked at over 500,000 rows/second. – Generated data set in about 2 days. – Row: Store#, Item#, Sun-Sat sales quantities, item price, total weekly sales for store/item.

  16. Application: Simple RFID Supply Chain Data • Problem: Generate synthetic Reader 1 RFID events (“arrive” and “depart”) for 10 million Reader 2 unique objects traversing 100 read points (total = 2 billion Reader 3 events) • Row: TagID, ReaderNum, . . . BizEvt, Timestamp • Total data generated: 86 GB Reader 100 (2B rows)

  17. Application: Complex RFID Supply-Chain Data • Generate complex RFID supply-chain data. SDDL file would model: – Distances between sites – Pallet and contained cases travel as single unit – DCs supply specific stores – User-specifiable read rate – Internal readers for sites

  18. Application: Legal Strings from Grammars • We constructed an SDDL file that would generate legal strings from user-defined context-free grammars. • Successfully generated: – Palindromes over {0,1}*: (i.e., “01001010010”) – Valid mathematical expressions: (i.e., “(A+(B - C))/D”) – Strings over {0,1}* ending in 00 (regular): (i.e., “101100”) – Strings over {0,1}* with an even number of 0s and an even number of 1s (regular): (i.e., “001011010110”)

  19. Application: Parallel Mailing Lists List with Errors, Mixed Formats: 936-44I-2946 Anil Khatri 802-218-1914 4761 S. Cleveland Boulevard PORT HUENEME, CA 93041 121-63-1403 Joshua X. Anderson 350-5098 870 S. McKinley Cir. PENSACOLA, Florida 32534 328-06-B372 Kato, Hiroshi (811) 366-1942 6203 East Sixth Street SHREVEPORT, La. 71107 Canonical List: 936-44-2946 Anil Khatri 802-218-1914 4761 South Cleveland Boulevard PORT HUENEME, CA 93041 121-63-1403 Joshua X. Anderson XXX-350-5098 870 South McKinley Circle PENSACOLA, FL 32534 328-06-7372 Hiroshi Kato 811-366-1942 6203 East Sixth Street SHREVEPORT, LA 71107

  20. Potential Future Work • Smart front-end that will automate the process of characterizing existing tables. • Import tool to automatically convert existing tabular data (example: census data) into SDDL pools. • Improve ability to simultaneously generate multiple tables and handle circular dependencies. • Add streaming output capability.

  21. Menu-based Natural Language Interfaces Craig Thompson and Kyle Neumeier CSCE Department University of Arkansas

  22. Problem with traditional NLIs Habitability Problem Natural Language Interface

  23. MBNLI for smart devices – Predictive menu to guide user to correct sentence – Solves Habitability Problem

  24. Menu Based Natural Language Interfaces • LingoLogic – Architecture – Grammars – Translations Front End • Applications of MBNLI – Database querying – Agent control Predictive Target Grammar Parser System

  25. USF Business Plan Competition • MBA Entrepreneurship Class • Industry – Tyson – Arkansas Best Corporation • Placed in top 10 of over 100 • Arkansas Governor's Cup

  26. MBNLI Spatial Queries • Project with Center for Advanced Spatial Technology (CAST) • Queries to Oracle Spatial – Map the intersection of roads and railroads in Fayetteville • Spatial functions are like theta joins in relational algebra. Have successfully shown that it is possible to generate SQL to Oracle Spatial • Exploring automating output of query to display using Google Maps.

  27. GRINDEX Grid Indexing Service Craig Thompson, Reid Phillips, Evan Kirkconnell, Lisa Harrison, Matt Baker CSCE Department University of Arkansas

  28. Problem • Acxiom customers supply Acxiom files – widely varying sizes and layouts: • Millions of small (KB) files • Thousands of medium (MB) files • Hundreds of large (TB) files – Files and fields are typed and fixed width – Attributes may be raised to the file name – Only key attributes are permitted in queries • Customers want to query for subsets of files

  29. Synthetic Data Generator • Our initial test case is 130 KB • Records contain these fields – ABCDE composite key – Attribute A - ~2000 values – Attribute B - ~2500 values – Attribute C - ~ 2 values – Attribute D - ~ 150 values – Attribute E - ~ 100 values – RestOfRecord • Files – File name format: A/A_B_C.txt – 9,125,000 files = 2000 directories (one arrives every day) each containing 5000 – File contains ~150 records of 100 bytes each • Using SDG, we generated data on 4-node ACE grid in ~4 hours

  30. Original Design Concepts • This problem could be handled by a Relational DBMS – CREATE table1 ON customerdata; – INDEX table1 ON { attributes }; – INPUT fileNames USING (attributes); – SELECT table1 WHERE expression ; • Except – The data volume is huge and stored in files – Licensing costs for RDBMS are an issue – Only a subset of relational capability is needed – The Acxiom grid offers opportunities for parallelism

  31. Relational DBMS Architecture Query Layer Query Tree consists of relational algebra operators like join, translated to project, select but also stored procedure calls optimized Query i Query Execution results in tables Indexing Layer HASH i TREE j … … … … Disk-based Storage Layer …

  32. Workflow Grid Architecture + Indexing Layer Workflow Layer automated Workflow i scheduled Workflow Execution results in data sources Indexing Layer HASH j … TREE k … … … Grid-node-based Storage Layer …

Recommend


More recommend