220 likes | 372 Views
WLAN Tracker (a.k.a. WBigBrother). Can Komar Computer Engineering Department Bogazici University komar@cmpe.boun.edu.tr. Introduction. WLAN Tracker is a server-client system that is implemented in a combination of Java and C
E N D
WLAN Tracker(a.k.a. WBigBrother) Can Komar Computer Engineering Department Bogazici University komar@cmpe.boun.edu.tr
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.
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
Streaming Server AuC WLAN Tracker Server SIP Server Possible Future Architecture SIP IM and/or Streaming WLAN Tracker & SIP Client