wlan tracker (a.k.a. wbigbrother)
DESCRIPTION
WLAN Tracker (a.k.a. WBigBrother). Can Komar Computer Engineering Department Bogazici University [email protected]. Introduction. WLAN Tracker is a server-client system that is implemented in a combination of Java and C - PowerPoint PPT PresentationTRANSCRIPT
WLAN Tracker(a.k.a. WBigBrother)
Can Komar
Computer Engineering Department
Bogazici University
Introduction
WLAN Tracker is a server-client system that is implemented in a combination of Java and C
It is designed to track the users in different physical areas in a multithreaded manner and provide location based services (messages etc.) to them
WLAN Tracker
Implemented in software, no extra hardware is used Components of the system
– Server: Collects and evaluates data
– Client: Sniffs the wireless medium and informs the server
– WAP: IEEE 802.11 compliant access points Basic Idea
– Every point on a surface has a different combination of signal levels received from different WAPs. Using this information a radio map of a surface can be prepared.
Server is implemented in pure Java thus platform independent. Client is implemented in C and Java due to driver dependency.
Phases
Off-Tracking: In this phase, the radio map is prepared. (Data Collection phase.)
On-Tracking: In this phase, the clients transmit information to the server and the server tries to estimate their location and show on a map.
Flowchart – Data Collection
Start
User ClicksCurrent Postion
on the Map
Probe PCMCIAdriver(C)
Write Data toText File
(C)
Read DataFrom File
(Java)
Store Read Data(Java)
ReachedSample Limit
Sleep forsome period
(Java)
Compute MeanValues of Data
(Java)
Write Coordinates,Access Point MACand Power Signalto RadioMap File
(Java)
NO YES
Flowchart – Client
Probe PCMCIADriver ( C )
Write Data toText File
Levels.TXT(Parametric)
Read DataFrom File( Java )
Send Dataover Sockets
(Java)
Receive LBS Dataover Sockets with
Timeout(Java)
Driver Layer(OS Specific)
DriverAbstraction
Layer
Client Layer(OS Independent)
Start
Start
Flowchart – Server
Listen Socketand Receive Data
Analyze Data andEstimate Location
Show Locationon the Map
Analyze LBSAvailability
Send LBSNotification
Start
Data Collection
The key point in WLAN Tracker. Has to be performed carefully in order to increase accuracy.
Records the WAP signal levels and WAP MAC with location information. The records are kept in a text file in form of <MAC, x, y, signal power>.
Off-the-tracking phase If the number of data points are increased,
the accuracy increases.
Client
Runs a Java process in the background.
Reads the configuration from a text file.– Server IP/port, magic key, retransmission
period etc. Uses UDP datagrams. Transmits
<MAC, signal power> to server.
Server – Tracking
Uses the data collected in the previous phase. Tries to estimate the location according to the data
sent by the client. Data is sent via UDP datagrams. Centralized server structure, the server displays all
available maps and manages them in separate threads.
The configuration and precollected radiomap data are read from text files.
Clients are tracked according to IP address. If configured, the clients that have static IP can be configured to have distinct labels.
Objective
Input
– { MACijk, Powerijk
, xi, yi }
– { MACm, Powerm }
Objective– Find xi, yi such that
• Minimize DistFunc({Powerijk, Powerm}) where
MACijk = MACm
Algorithm – 1/2
Find commonWAP# of the received data and the map’s WAP list. If commonWAP# > 0 reduce data, else discard data & wait next packet.
If enabled, apply minimum signal number filter. (at least that number of measurements are required)
Reduce the number of measurements according to their distance with current measurement.
Algorithm – 2/2
If enabled, apply history filter to the remaining measurement group.
If enabled, apply signal filter to the remaining measurement group.
If the size of remaining group, x :– x = 0, location cannot be found on this map– x = 1, update the position of the client on the map– x > 1, choose the one with the minimum distance
value, update the position of the client.
Testbed
ETA 1st, 2nd and 3rd floors 4 WAPs. At most 3 WAPs at a time. 30 equally separated measurement
points per floor.
Execution
Each tab is managed by a separate thread
Inactive clients are removed after timeout.
Client IPs are displayed as tool tip text.
Low CPU and memory consumption.
Experiments – Factors
The following factors are defined for experiments– Distance algorithm used (Manhattan or
Euclidian)– History filter on or off– Signal filter on or off– Number of signals received
Experiments – Current Results
An average of ~3m error in estimation Multiple floor problem generally can be
solved with signal power filter Effects of history filter and number of
WAPs are being studied.
Similar Studies & Products
RADAR (Microsoft Research)– Possible integration with Windows XP
PhD (CMU)– Integrated with Andrew system
ROVER (Maryland University) Ekahau Positioning Engine
– SW Industry Award 2002– Commercially available for $595
ROVER (MIND* Laboratory)
*Maryland Information and Network Dynamics
Aims specialized hardware that willBe able to perform many tasks includingGuidance, m-video, m-shopping etc.
Future Work
Improvement of location based services– Support for audio and video streaming– Location based messaging & chat– Buddy list notification
Integration with SIP protocol Porting to Windows CE / JME
environment Improvement of GUI
Possible Future Architecture
SIP
WLAN Tracker &SIP Client
WLAN TrackerServer SIP
Server
AuC StreamingServer
IM and/or Streaming
Thanks,
Comments & Questions ???