Title: The WatchMe Project
1The WatchMe Project
- Presented by
- Elad Weiss
- Nir Maoz
- Supervised by
- Edward Bortnikov
2Problem Description
3 Location Awareness
You Are Here
Until today
?
4 Location Awareness
You Are Here
Until today
The WatchMe way
And Going Home
?
5Project Goals
1. A Server-Client Application
2. Static Location Recognition
3. Dynamic Location Recognition
4. Implementation Over SIP
6Implementation
- Algorithms System Operation
7Location Pinpointing
- Figuring out your location
- Get the strengths of the access points signals.
- Calculate the distance to each access point.
- Use the triangulation technique to find your
true location using as many access points as
possible.
8Location Pinpointing cont.
- A plot of real signal strengths and their
corresponding distances from the access point.
9Location Pinpointing cont.
- A plot of real signal strengths and their
corresponding distances from the access point. - We used the equation from another project, and
changed the constant multiplying the exponent, to
a function of the signal strength (determined by
many tests measurements). - This was later realized to be very much like a
polynomial curve fit, as shown above.
10Path Recognition
0
20
40
60
Path Completion Percentage
50
Path Required Activation Percentage
Path X is now active. Your status is X.
11And for your friends
12Communication
Server Communication Handler
Client Communication Handler
RTC
SIP
13Communication cont.
SIP messages content ? in XML!
ltxmlgt ltlocation x5 y4 z3
mapfloor3.jpg /gt lt/xmlgt
ltxmlgt ltheadergtREMOVE_STATUSlt/headergt ltstatus
nameX /gt lt/xmlgt
ltxmlgt ltheadergtADD_STATUSlt/headergt ltstatus
nameX /gt ltpointgt ltsignal ap00-02-2D-08-02
str-50 /gt ltsignal ap00-02-2D-08-61
str-70 /gt ltsignal ap00-02-2D-08-AA
str-60 /gt lt/pointgt ltpointgt ltsignal
ap00-02-2D- ltsignal ap
14Server structure
Server Communication Handler
Server Data
SQL
Synchronized
Database
15Call Flow
Thread Assignment
Work Queue
Request 1 SIP method WatchMe header
Server Communication Handler
Request 1
Request 2
Request 3
SIP Request
Request n
Server Application Xrunning on theassigned
thread
16The Development Process
17Difficulties
- The RTC client implements the SIMPLE protocol,
which has not been officially published yet. - Documentation is poor.
- There is no standard for the specifications.
- Some examples
- Offline (SIMPLE) Away (RTC)
- RTC sends SIP MESSAGE requests through a
session.In SIMPLE, these SIP requests are not
bound to a session. - Some headers are critical for RTC to work, but
RTC seems to forget sending them himself. - Solution
- Trial Error.
- Some more Trial Error.
18Difficulties cont.
- The RTC Client doesnt run on an iPAQ.
- Solution
- Switching to a laptop.
19Difficulties cont.
- Wireless signal detection
- Packages only available for Windows CE and Java.
- There exists a Win32 C package that uses a
method, which wont be supported in the future. - Solution
- Writing our own package (WirelessNet.dll).
- We used WMI for accessing the driver.
- Microsoft encourages the use of WMI over other
methods such as device IOCTL (which we had
tried).
20The Development Process
- Conclusions Acknowledgements
21Accomplishments
- What weve learned
- Dealing with new environmentsiPAQs / Laptops
with wireless adapters. - Programming close to the driver level (this was
not planned). - New communication protocols
- SIP, SIMPLE (RTC).
- New MIME formats
- XML, SDP, PIDF.
- Programming in various environments and
languages - .NET Framework.
- Java
- C
- SQL
- Working with several packages
- JAIN-SIP, RTC, OpenNetCF (though we did not use
it eventually).
22Remaining Problems
- The use of signal amplitudes (a.k.a. RSSI) for
distance determination is highly inaccurate. - Some interfering factors are
- Background noise.
- Obstacles (such as walls, doors etc).
- Angle confronting the AP.
- Each NIC has its own accuracy.
23Proposals for the Future
- AM is known to be more prone to interference and
distortion. - Possible solutions
- Arranging the APs in such a way, as to get a
better signal from as many APs as possible. - A GPS guided laptop, would make the program much
more realistic, improving the accuracy of
location path recognition to a great degree. - Adding a third dimension could help improve
location determination by a small factor.
24Proposals for the Future cont.
- iPAQ issues
- WinXP ? WinCE will require the client program to
use a different GUI, since the one already
employed, uses a lot of WinXP features, not to be
found in WinCE. - The benefit, of course, will be the increased
mobility. - Signal detection should be easy to convert since
WinCE allows you to use OpenNETCFs wireless
interface.
25Software We Used
- Microsoft Visual Studio.NET 2003
- Eclipse
- Microsoft Office Visio 2003
- Microsoft PowerPoint 2003
- Microsoft Word 2003
- Adobe Photoshop 7.0
- Notepad
26Related Links
- http//msdn.microsoft.com/ - RTC
- https//jain-sip.dev.java.net/ - JAIN SIP
- http//www.ietf.org/ - RFCs, documents
- http//www.faqs.org/rfcs/rfc3261.html - The SIP
Protocol - http//www.microsoft.com/whdc/devtools/ddk/default
.mspx - DDK - http//www.google.com/ - Google
27Acknowledgements
- We would like to thank
- Victor Kulikov
- Yoram Yihyie, Hai Vortman
- Yoel Davidson
- Orit Shteif
- Palram Industries