If you can't read please download the document
Upload
paniz
View
22
Download
1
Tags:
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