WLAN Tracker - boun.edu.tr

Download Report

Transcript WLAN Tracker - boun.edu.tr

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
 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 Clicks
Current Postion
on the Map
Probe PCMCIA
driver
(C)
Write Data to
Text File
(C)
Read Data
From File
(Java)
Store Read Data
(Java)
Sleep for
some period
(Java)
NO
Reached
Sample Limit
YES
Compute Mean
Values of Data
(Java)
Write Coordinates,
Access Point MAC
and Power Signal
to RadioMap File
(Java)
Flowchart – Client
Start
Write Data to
Text File
Levels.TXT
(Parametric)
Send Data
over Sockets
(Java)
Probe PCMCIA
Driver ( C )
Receive LBS Data
over Sockets with
Timeout
(Java)
Start
Driver Layer
(OS Specific)
Read Data
From File
( Java )
Driver
Abstraction
Layer
Client Layer
(OS Independent)
Flowchart – Server
Start
Analyze Data and
Estimate Location
Show Location
on the Map
Send LBS
Notification
Analyze LBS
Availability
Listen Socket
and Receive Data
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)
Aims specialized hardware that will
Be able to perform many tasks including
Guidance, m-video, m-shopping etc.
*Maryland Information and Network Dynamics
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
Streaming
Server
AuC
WLAN Tracker
Server
WLAN Tracker &
SIP Client
SIP
Server
IM and/or Streaming
Thanks,
Comments & Questions ???