260 likes | 459 Views
The NearMe Wireless Proximity Server. John Krumm and Ken Hinckley Microsoft Research Redmond, WA, USA. The Basic Idea. 802.11 Wi-Fi access point. NearMe Proximity Server. d 12 = g( s 1 , s 2 ). Location vs. Proximity. x 1 = (x,y) location. x 2 = (x,y) location.
E N D
The NearMe Wireless Proximity Server John Krumm and Ken Hinckley Microsoft Research Redmond, WA, USA Download from http://research.microsoft.com/~jckrumm/NearMe.htm
The Basic Idea 802.11 Wi-Fi access point NearMe Proximity Server Download from http://research.microsoft.com/~jckrumm/NearMe.htm
d12 = g(s1, s2) Location vs. Proximity x1 = (x,y) location x2 = (x,y) location d12 = f(x1, x2) s1 = measured signals s2 = measured signals Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Who Cares? Schilit, Adams, & Want, “Context-Aware Computing Applications”, 1994. • Which of my friends, colleagues, relatives, or enemies are nearby? • Who are these strangers with me? • What are the names of nearby printers? • What conference rooms are nearby? • How far away is the nearest receptionist desk? Other elements of context: velocity, mode of transportation, task, goal, mood … Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Other Proximity Methods • Location from • Active badges • Cameras • Wi-Fi • GPS • Cell Phones • … • Conference Devices • SpotMe • nTAGTM • IntelliBadgeTM - NCSA • Conference Assistant – Georgia Tech • Proxy Lady – Viktoria Institute • Digital Assistant – ATR • Synchronous Context • Synchronous Gestures – Microsoft • “Are You With Me?” – U. Washington • SyncTap – Sony • Stitching – Microsoft • Smart-Its Friends – Disappearing Computer Initiative SpotMe nTAGTM • Services • Trepia • iChat – Apple • Short Range Networking • Infrared • Bluetooth Download from http://research.microsoft.com/~jckrumm/NearMe.htm
NearMe Client PocketPC 2003 Windows XP • Requirements: • Windows XP • WWW access • Microsoft .NET Framework Download from http://research.microsoft.com/~jckrumm/NearMe.htm
NearMe Client – Test Connections Download from http://research.microsoft.com/~jckrumm/NearMe.htm
NearMe Client – Register • Register with: • Name • Email (optional) • URL (optional) • Expiration interval Download from http://research.microsoft.com/~jckrumm/NearMe.htm
NearMe Client – Report Wi-Fi • List of detectable Wi-Fi access points • Access points used only as beacons • Periodic reports for mobility Download from http://research.microsoft.com/~jckrumm/NearMe.htm
NearMe Client -- Query Adjustable “Look back” time to filter outdated reports Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Register as thing Report signal strengths Query for things NearMe Client – Nearby Things Download from http://research.microsoft.com/~jckrumm/NearMe.htm
NearMe Server Clients .NET Web Service SQL Server Download from http://research.microsoft.com/~jckrumm/NearMe.htm
NearMe Server Data Expiration deletes source of Wi-Fi data, but not Wi-Fi data itself Download from http://research.microsoft.com/~jckrumm/NearMe.htm
D E B C B E A D C • Access point topology in database • Recomputed every hour F Access Point Layout 1 2 A F 3 Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Hops = Distance Estimate Extends proximity range beyond radio range Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Access Point Travel Times Minimum observed client travel time between access points • Recomputed every hour • Could be computed from other “wardriving” data, e.g. • Intel Research Place Lab • NetStumbler • To Do • Path plan, e.g. A→C = A→B + B→C • Cluster times, e.g. times for walk, bike, drive Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Travel Times = Distance Estimate Observed lower bound on travel time Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Distance Estimation How to estimate distance between things? Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Distance Functions Wi-Fi Signature = s = { (mac1, rssi1), (mac2, rssi2), … , {(macn, rssin) } sb sa d = f(sa,sb) • Candidate Distance Features: • n∩ = number of access points in common • ssd∩ = sum of squared differences of rssi in common • nu = number of access points not in common • ρs = Spearman rank coefficient of access points in common Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Compare Ranked Signal Strengths mac2 mac3 mac3 mac1 mac2 mac3 -1 <= ρs <= 1 Spearman rank = ρs “RightSPOT”, UbiComp 2003 Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Distance Functions d = f(sa,sb) d = f(n∩, ssd∩, nu, ρs) Example: d = a∙n∩2 + b∙ssd∩ + c∙nu3 + d∙ρs 4 features + polynomials to 3rd degree = 45 different test functions Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Test Data • Wi-Fi Cards • Dell built-in laptop • Microsoft Wireless USB • ORiNOCO PC Card • Actiontec USB • Cisco Aironet PC Card • Linksys USB Office Building: 1,441,739 pairs Cafeteria: 572,027 pairs Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Simple Distance Function d = -2.53∙n∩ – 2.90∙ρs - 22.31 rms error = 14.04 meters ρs = 0.39 Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Applications Stitching Look up URLs of nearby people Send email to people nearby Download from http://research.microsoft.com/~jckrumm/NearMe.htm
What Makes NearMe Different? • Works on existing Wi-Fi devices • Minimal setup • “Out of the box” for nearby people • Capability grows with use • Short range proximity • Accounts for different Wi-Fi hardware • Sorted by distance • Long range proximity • Hop distances via adjacency analysis • Travel times via timestamp analysis Download from http://research.microsoft.com/~jckrumm/NearMe.htm
Demo Download from http://research.microsoft.com/~jckrumm/NearMe.htm