The NearMe Wireless Proximity Server John Krumm and Ken Hinckley Microsoft Research Redmond, WA, USA
What is NearMe A server, algorithms, APIs Requirement: –Clients equipped with Functionality: –Discover what is already nearby E.g. people, places –Estimate how far away they are
The basic idea Wi-Fi access point NearMe Proximity Server
Client: Wi- Fi Signature NearMe Proximity Server Client functions: 1.GUID register(); 2. Report Wi-Fi signature {GUID, (m1, s1), (m2, s2)} 3. Query for nearby people and place.
Server: Access Point Layout A B C E D - AP topology in server DB - Recomputed every hour CEBA D
Two types of proximity Short Range Proximity Long Range Proximity
Distance function for Short Range Proximity Distance features: –n ∩ : number of access points in common –ρs : Spearman rank coefficient of access points in common –ssd ∩ = sum of squared differences of rssi in common –n u = number of access points not in common 4 features + polynomials to 3rd degree = 45 different test functions –d (n ∩,ρ s ) = -2.53∙n ∩ – 2.90∙ρ s Heuristic sort function on server: D = n ∩ + ρ s
Hops, Travel time for Long Range Proximity Hops = Distance Estimate Travel time –Compute from the timestamp on the Wi-Fi signature every hour. –Minimum observed client travel time between access points
Applications Send to people nearby Stitching Look up URLs of nearby people
Summary Works on existing Wi-Fi devices Minimal setup –No calibration –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
The End Reference: