RFID Ecosystem

  • Upload
    paniz

  • View
    20

  • Download
    1

Embed Size (px)

DESCRIPTION

RFID Ecosystem. Robert Spies In collaboration with Magda Balazinska, Gaetano Borriello, Travis Kriplean, Evan Welbourne Garret Cole, Patricia Lee, Caitlin Lustig, Jordan Walke. Overview. Description of RFID Research Project Overview System Design System Deployment Conclusion/Questions. - PowerPoint PPT Presentation

Citation preview

  • RFID EcosystemRobert Spies

    In collaboration withMagda Balazinska, Gaetano Borriello, Travis Kriplean, Evan Welbourne Garret Cole, Patricia Lee, Caitlin Lustig, Jordan Walke

  • OverviewDescription of RFIDResearch Project OverviewSystem DesignSystem DeploymentConclusion/Questions

  • What is RFID?Radio Frequency IdentificationRFID systems comprise tags and readersTags are placed on objectsReaders interrogate tag through RFDoes not require line-of-sightTags are Small and cheap (~$.25/tag)Tag IDs able to uniquely identify every object in the world (Current tags use 64 to 128 bits)Can include other information besides ID Current StateLocationHistory

  • RFID BasicsTags can be active or passiveActive tags: battery, expanded capability, longer rangePassive tag: receives power from RF field, limited capability

    What is means to not have battery table?Active TagPassive Tag

  • Why does RFID Matter? "The value of RFID is not within the physicsthe real value depends on how you create intelligence from all the data you capture.

    - Richard Wirt, Intel Senior Fellow

  • Barcode vs. RFIDRFID tags are expected to replace the UPC barcodeUnlike barcode scanners, RFID readers do not require a line of sightTags are less susceptible to damageRFID readers can both read and write dataLeads to many advantages in supply chain automationThere are Privacy concernsMore on those later

    Scan many rfid tags at once, rfid tags id object, not class of obj

  • Application Area: the Supply ChainRFID is expected to replace the UPC bar-code in the supply chain at the case levelFocus on distribution channelsGoal is item-level taggingAbility to track inventoryAutomated checkoutsRecallsAbility to write information directly onto product~100 Wal-Mart suppliers use RFID tagsBest Buy, Target, and DoD are also issuing RFID-related mandates

    Collapse into one slide, with multiple examples

  • Application Area: PassportsUS passports now issued with RFID tags.Chip contains the same informationas the printed document (name, photo, etc)

    Goal is to allow easy scanning of the passport and cross-referencing of security database

    Worries from privacy advocates about amount of information available to identity thieves, terrorist, etc.Data is encryptedSecurity firm was able to crack the encryption on Dutch RFID passportsCase Provides an RF ShieldImage source: http://www.msnbc.msn.com/id/11748876/

  • Areas of Exploration

    Question: What are the implications for technology, business and societyof having a number on everything?What issues do we have to address to enable RFID-based consumer applicationsPrivacy is a major issueDeployments, utility, ease-of-use, etc.Design a system with a centralized database to explore the tradeoffs between user privacy and system utility

    Try to scale back verbosity

  • What we are BuildingWe are building a privacy-centric distributed system for RFID-based applications

  • Populating the Allen Center with Readers: Initial Deployment

    33 readers, 132 antennas

    Placed on floors 2-6

    Good start, but still inadequate; key areas are not coveredFloor 1, elevators, etc.Focused on occupants of upper floors

    KeyAntennaReader

  • System Design GoalsUser Privacy Paramount Ease of UseAPI presented to user facilitates application developmentCustomizationEvent updates and definitionsRobustnessScalability

  • Privacy ModelBasic working model known as Physical Access Control (PAC)

    A user is only allowed access to Tag Read Events (TREs) that they could have observedSystem determines line of sight interactionsSpecial person tag determines users locationRestricts user from even seeing TREs for tags they ownif they are not near themGives user Perfect Memory

    Database contains per user TRE tablesEach user has their own TRE table. The user can view the TREs from that table and that table alone

    Replace with animation, explore trade offs, then intro pac

  • Privacy Model Cont.Tag Ids hashed before being stored in the systemMakes it more difficult for an adversary to infer meaning from database tables if database is compromised

    Users can label tags as public or private, PAC respects this

    Users can purge tag data at any time through a provided API

    All TREs from unregistered tags are discarded

    CSE kerberos authentication required to access data

    Instead of one big table, many little tables, advantages in implementain, own table v views.

  • PAC example

  • Ease of UseBeyond raw tag reads, the RFID Ecosystem will provide higher-level inferences about tag data.For applications, we provide an xml based API accessible over both a socket and web connection For users, a tag programming application is provided that allows users add tags to the system and alter metadata about their tagsWhether its private, the description, etc.

    Two sections, ease of use for the programer, ease of use for users gui

  • Robustness and Scalability All servers in the system actively work to re-establish lost connections.

    If work load is too large, each process in the system can be replication on another machine to reduce the work done on a single computer

    All input servers are determined at runtime from a database. Additional servers can be added on the fly.

  • Interface Servers Compute higher level events Store higher level event history to local DB Support API Stream higher level events to application Respond to application queriesCluster Servers Implementation of PAC Stores TREs in database Stores system metadata in database

    Node Servers Control reader hardware Collects TREs and forwards to cluster servers Data cleansing

    Slide of whatg this came from

  • Reason for 3-tiered ArchitectureNode server layerUsed to control reader hardwareEnables low level data cleansingCluster server layerNeed to combine streams of TREs to determine collocation essential to PACInterface server layerIsolates computational resourcesIsolates API queries and allows resource replication if necessary

    scalability

  • Node ServerControl reader hardware

    Collects TREs and forwards a tuple of the form {tagid, antenna_id, timestamp} to Cluster Servers

    Future Goals: Include low level stream cleaningUnreliable, summarizartionHow much data, introduce earlier

  • Cluster ServerThe database server(s)

    Database contains table of TREs for each PAC user

    Metadata tables as well Information about the objects tags are onReader and antenna informationetc.

  • Cluster Server (Cont.)Receives each TRE from Node Server and propagates through Access Control Switch (ACS)

    ACS contains implementation of PAC

    Determines which user can see which TRE, and stores TREs in appropriate PAC user tables.

    For each User-TRE pair, Cluster server forwards {user, tre} tuple to Interface Servers{-43254323532, 77, 11745617000}Cluster ServerInterface Server{wilford, {-43254323532, 77, 11745617000}}{evan, {-43254323532, 77, 11745617000}}{gbc3, {-43254323532, 77, 11745617000}}

  • Interface ServerCompute higher-level events based on raw TRE stream from cluster serversMaintain connections with applicationsSupports a push and pull based APIEvents are pushed to the Applications when computedApplications can query data from the Ecosystem

  • Interface Server: Push APIEvents Computed by Interface Server pushed to user

    The lowest level event computed is TagAtLocationPer antenna, sends the application an alert when a tag is first seen at an antenna, and then when it has left the antenna

    Essential due to the high amount of TREs generatedMost user do not care about every TRE generated, but do care about entrance and exit events How to computer end eventTalk about how this was most of my work that I did or in summary slideStart Event

    start 5436234543 88 117123879229

    End Event

    end 5436234543 88 1171239700000

  • Interface Server: Event HierarchyFrom low level events, we can infer more complex interactions

    Provides a hierarchical event structureProcesses (what we anticipate will be) common use cases

    TagAtLocationPersonAtLocationPersonContactPersonAssociation

  • Interface Server: BorealisBorealis [MIT, Brandeis, Brown] stream processing engine For real-time processing of sensor data.

    Allows users to define their own events over the TREs, and then deploy this to Borealis via the Interface Servers APIAllows users to customize eventsBorealis Event Definitions are xml formatted files, specified by Borealis own public API

  • Interface Server: Event StreamsEach event is computed per userInterface Server receives {user, tre} tuple for each user that is allowed to see a treResults in a logical event stream for each user

    This is because PAC dictates when each user can see a TRE

    Duplicate events will be computed for different user

  • Interface Server: Event Streams

    Blue User holding blue_tag, Yellow User holding yellow_tag

    Users meet at Antenna 88 at time t1

    PAC detects this, begins streaming tuples of the form: {blue_user ,{blue_tag, 88, t1}}{blue_user ,{yellow_tag, 88, t1}}

    {yellow_user ,{blue_tag, 88, t1}}{yellow_user ,{yellow_tag, 88, t1}}

    This starts TagAtLocation events for each user

    Blue UserYellow UserTag LocationTag Locationblue_tag 88 blue_tag 88Yellow_tag 88 yellow_tag 88

  • Interface Server: Event Streams

    Sometime later at time t later Yellow user has moved to antenna 87 while Blue User remains at 88

    PAC detects that there is no longer line of sight between Yellow User and Blue User, stops sending tuples of the form {blue_user ,{yellow_tag, 88, t }}{yellow_user ,{blue_tag, 88, t }}

    But Blue Users TagAtLocation for blue_tag still persists. And Yellow User now has a TagAtLocation event for yellow_tag at location 87.

    To respect the privacy model, Blue User and Yellow User must not know of each others TagAtLocation events

    Blue UserYellow UserTag LocationTag Locationblue_tag 88 yellow_tag 87

  • Interface Server API: Pull basedAPI also allows pull based model. Users can query the ecosystem for historical data.

    Access to data such as TREs (per user), antenna and reader metadata, object metadata

    Also allows updates on this information:Delete all tag reads from last Tuesday to todayChange an objects descriptionChange the object a tag is placed on

  • Interface Server API: Canned QueriesPredefined queries for ease of useSpecially formatted query stringInterface Server responsible for parsing the parametersInterface Server converts query string into SQL and runs query over databaseReturns xml formatted String

    Get Object Metadata (per user)Ex. query=GET_OBJECT_METADATA

    Get Raw TREsTake parameters that can specify start time, end time, antenna id, and tag idEx. query=GET_RAW_TAG_DATA&ant_id=88&start=17087676Ex. query=GET_RAW_TAG_DATA&distinct&tag_id=11233212332 &ant_id&start=17087676

    Get Reader and Antenna MetadataEx. query=GET_OBJEC T_METADATA

  • Interface Server: Custom QueriesCanned queries inadequate to cover queries a users interested in

    API allows user to write their own SQL queries over the database

    Database schema made public, but names changedAllows us to alter underlying schema without breaking users queriesAlso enables us to protect tables and data that the users should not see about the ecosystem or each other (more on that in a bit)

  • Interface Server: DB Schemaobject_metadata( object_idint, type_idint, ownervarchar(20), personalboolean, descriptionvarchar(160), ) Actual SchemaAPI Schemaobjects ( object_idint, type_idint, uservarchar(20), personalboolean, description varchar(160), ) pac_wilford( tag_idbigint, ant_idint, timestampbigint, rssi Int ) tag_reads( tag_idbigint, ant_idint, timestampbigint, rssi Int )

  • Interface Server: Custom QueriesWhen a custom query is received:

    Checks if the query contains any actual names of meaning in the database: if it does, throws out query

    Then maps symbolic API names to actual database table namesCan be simple mapping:objects -> object_metadataSpecial cases: tag_reads -> pac_wilford (requires determining who the identity of the user)

    Parse the query and add necessary constraints Ex. User should only be able to see object metadata about objects they own.object_metadata is a common tableParse the query and add necessary constraints wherever object_metadata is accessedNeed to deal with complex cases such as subqueries, inner joins, aliases, etc.

    Run the query and return the results as an xml formatted stringEx:put on other slide english version of queryQuery Sent to Interface Server:Select x.description from objects as x where x.id in (select obj.id from objects as obj)

    After Transformation:Select x.description from object_metadata as x where x.id in (select obj.id from object_metadata as obj where obj.owner=wilford) and x.owner=wilford

  • Interface Server: ConnectionsInterface Server handles both secure socket and http connectionsTomcat Apache used for web frontHost info and port numbers publicly available

    Authenticates users with CSE Kerberos

    For event streaming on the web front, utilizes a relatively new technology to do server pushClient and browser maintain persistent http connectionOnly available on select browsers: We only support Mozilla 1.5 and greater at this timeNot Available for IE yetASK GARRET ABOUT THIS

  • User Case: Visual Object Tracking< LIVE DEMO! >

  • User Case: Visual Object TrackingIntroduce map and what everything means before running demo

  • User Case: Visual Object Tracking

    (Sorry, had to do it)

  • Application: Tag Info Editor

  • Use Case: Social HistoryQuery Personal HistoryPaths Walked, Objects Seen, People Seen WithWhere was my bag last seen at?

  • User Case: Support ApplicationSupport interested in an application that helps with inventory management Includes tagging every object of value owned by the CS department

    Inventory tracking extremely easyWhere is Laptop X, and/or where has it been?

    Allows a level of security and asset protectionDetect movement eventsIs an asset on the move? Ensure that with an authorized personSecurity Alerts: Why is this computer leaving the building? Alert the security guard appropriately.

  • The FutureExplore low level data aggregationA tag sitting under a reading will generate ~50 TREs a second, ~300 TREs a minute, ~180000 an hourFix your mathGenerates a large amount of relatively uninteresting information. Explore expanding window solutions: A TRE per second, then per two seconds, etc.But essential to catch when the tag is no longer under the reader!

  • The Near FutureContinue Populate Allen Center with readersAchieve better coverage

    Full scale test of system over the summerInclude participants not in the Research group Explore the benefits and limitations of PAC

    Open the RFID Ecosystem for applications

  • Questions?

  • Talk about numbers of reads per second. Take out implementation of pacChange diagram for pac demo. Annimated map demo. Have people pop up on map. Change discussion of why pac. talk about discussions of extremes.

    Shorten custom queries section

    Maintains ssl connections on node server, authentication

    Bring up main point of each slide or slides, bring up outline and how this relates to the bigger picture.

    Summary slide

    Look at slide crowding remove a lot of text

    Show base level architecture, and then how is grows with our implementation and how what we do expands this

    Introduce yourself and quickly mention the people who are involved in the project.Tell the audience how the presentation this evening will be organized.Introduce RFID to possible audience members who have not heard of itGet the audience thinking about our research directionGenerate interest in this technologyGive evidence that RFID is already beginning to have a Major ImpactStart to bring the focus to our researchGive a quick preview of the designGive high-level system design goalsDetails on Ease of Use design goal. Justify the importance of ease of use.Justify the need for robustness.Give a picture of our architecture. Point to the various levels.Justify the three levels of the architecture.Node server responsibilitiesCluster server responsibilitiesInterface server responsibilitiesNow unroll the power of the Interface server, and mention how it is directly helping Lillies game.Give an outline of the IF functionality, and tie in why each function was addedAnother trivial application made possible by our frameworkWrapping everything up