27
The WatchMe Project Presented by: Elad Weiss Nir Maoz Supervised by: Edward Bortnikov

The WatchMe Project

  • Upload
    lucian

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

The WatchMe Project. Presented by: Elad Weiss Nir Maoz Supervised by: Edward Bortnikov. Problem Description. What is "WatchMe”?. Location Awareness. You Are Here. Until today…. ?. Location Awareness. You Are Here. The WatchMe way. Until today…. And Going Home. ?. - PowerPoint PPT Presentation

Citation preview

Page 1: The WatchMe Project

The WatchMe Project

Presented by:Elad WeissNir Maoz

Supervised by:Edward Bortnikov

Page 2: The WatchMe Project

Problem Description

What is "WatchMe”?

Page 3: The WatchMe Project

Location Awareness

You Are Here Until today…

?

Page 4: The WatchMe Project

Location Awareness

You Are Here Until today…The WatchMe way

?And Going Home

Page 5: The WatchMe Project

Project Goals

1. A Server-Client Application1. A Server-Client Application

2. Static Location Recognition2. Static Location Recognition

3. Dynamic Location Recognition 3. Dynamic Location Recognition

4. Implementation Over SIP4. Implementation Over SIP

Page 6: The WatchMe Project

Implementation

Algorithms & System Operation

Page 7: The WatchMe Project

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.

Location Pinpointing

30

64

10Csignal

signaldisntance

Page 8: The WatchMe Project

Location Pinpointing cont.

Real Signals & Distances:

0

5

10

15

20

25

-100 -80 -60 -40 -20 0

Sig. [dB]

Dis

t. [

m]

All

A plot of real signal strengths and their corresponding distances from the access point.

Page 9: The WatchMe Project

Location Pinpointing cont.

Real Signals & Distances:

y = 0.0042x2 + 0.1424x + 1.0455

R2 = 0.8385

0

5

10

15

20

25

-100 -80 -60 -40 -20 0

Sig. [dB]

Dis

t. [

m]

All

Poly. (All)

Our Equation:

0.00

5.00

10.00

15.00

20.00

25.00

30.00

-100 -80 -60 -40 -20 0

Sig. [dB]

Dis

t. [

m] 71

EC

AA

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.

Page 10: The WatchMe Project

Path Recognition

0%20%40%60%Path Completion Percentage:

50%Path Required Activation Percentage:

Path X is now active.

Your status is: X.

Page 11: The WatchMe Project

And for your friends:

Page 12: The WatchMe Project

Communication

ServerCommunication

HandlerClient

CommunicationHandler

INVITE sip:[email protected] SIP/2.Via: SIP/2.0/UDP 123.12.1.5:1103Max-Forwards: 70From: "Alice W." <sip:[email protected]: "Bob G." <sip:[email protected]: [email protected]: 1 INVITEContact: <sip:123.12.1.5:11038>Content-Type: application/sdpContent-Length: 105

The server acts as a bridging unit between the RTC and SIP

protocols.

Page 13: The WatchMe Project

Communication cont.

SIP messages content in XML!

<xml><header>ADD_STATUS</header><status name=“X” /><point>

<signal ap=“00-02-2D-08-02” str=“-50” /><signal ap=“00-02-2D-08-61” str=“-70” /><signal ap=“00-02-2D-08-AA” str=“-60” />

</point><point>

<signal ap=“00-02-2D-<signal ap=“

<xml><header>REMOVE_STATUS</header><status name=“X” /></xml>

<xml><location x=“5” y=“4” z=“3”

map=“floor3.jpg” /></xml>

Page 14: The WatchMe Project

Server structure

ServerCommunication

Handler

Server Application 1

Server Application 2

Server Application n

ServerData

SIP method = “…”WatchMe header = “…”

Synchronized

Database

SQL

Page 15: The WatchMe Project

Request 1:

SIP method = “…”WatchMe header = “…”

Thread Assignment

Call Flow

ServerCommunication

HandlerSIP Request Request n

Request 3

Request 2

Request 1

Work Queue

Server Application Xrunning on the

assigned thread

Page 16: The WatchMe Project

The Development Process

Difficulties & Solutions

Page 17: The WatchMe Project

Difficulties

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.

Page 18: The WatchMe Project

Difficulties cont.

The RTC Client doesn’t run on an iPAQ. Solution:

Switching to a laptop.

Page 19: The WatchMe Project

Difficulties cont.

Wireless signal detection Packages only available for Windows CE and

Java™. There exists a Win32 C++ package that uses

a method, which won’t 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).

Page 20: The WatchMe Project

The Development Process

Conclusions & Acknowledgements

Page 21: The WatchMe Project

Accomplishments

What we’ve learned: Dealing with new environments:

iPAQs / 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).

Page 22: The WatchMe Project

Remaining 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.

Page 23: The WatchMe Project

Proposals for the Future

AM is known to be more prone to interference and distortion.

Possible solutions:I. Arranging the APs in such a way, as to get a

better signal from as many APs as possible.II. A GPS guided laptop, would make the

program much more realistic, improving the accuracy of location & path recognition to a great degree.

III. Adding a third dimension could help improve location determination by a small factor.

Page 24: The WatchMe Project

Proposals 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 OpenNETCF’s wireless interface.

Page 25: The WatchMe Project

Software We Used

Microsoft Visual Studio.NET 2003 Eclipse Microsoft Office Visio 2003 Microsoft PowerPoint 2003 Microsoft Word 2003 Adobe Photoshop 7.0 Notepad …

Page 26: The WatchMe Project

Related Links

http://msdn.microsoft.com/ - RTC https://jain-sip.dev.java.net/ - JAIN SIP http://www.ietf.org/ - RFC’s, 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

Page 27: The WatchMe Project

Acknowledgements

We would like to thank:

Victor Kulikov Yoram Yihyie, Hai

Vortman

Yoel Davidson Orit Shteif Palram Industries