Title: Infrastructure for Context Driven Pervasive Computing Applications
1Almost two thirds (63) of Americans say it is
annoying to hear ringing cell phones or cell
phone chatter in public places. Ringing of cell
phones is a big complaint and many times a cause
of embarrassment in classrooms and meeting rooms
How about making the environment smart so that it
takes care of silencing the cell phones even if
the users forget! Will save some embarrassment
for sure, isnt it?
2Infrastructure for Context Driven Pervasive
Computing Applications
- Presented by
- Vishakha Gupta
- Advisor Prof. Peter Steenkiste
- Reader Prof. Raj Rajkumar
3Agenda
- Goals
- Scenarios
- Requirements
- Concept
- Thesis Statement
- Motivation
- Related Work
- Architecture
- Evaluation
- History Information
- Conclusion
- Limitations
- Future Work
4Goals
- In usual applications and services user has to
initiate some action in order to use the results - Smart environment for a better user experience
- Focus on area based user tracking in in-building
environments - Less attention has been paid to the fundamental
and challenging problem of providing capability
to an application in defining physical areas - Determine with high probability when the user is
in the area of interest to the application
5Scenarios
- When a person enters a secure building, devices
monitor his motion and warn him if he goes in a
prohibited area, through a warning message passed
to his cell phone - In an auditorium, where a show or some program is
going to begin, everyones cell phone is expected
to be turned off or to be in silent mode - When people are seated in the airplane, as the
plane is about to take off, the cell phones and
other electronic devices (if possible) could
receive an interrupt indicating they should turn
themselves off. - At places such as a meeting hall, a classroom, a
hospital, cell phone rings may cause disturbance.
At the same time, people may want to attend their
calls. So the devices should be signaled to
change over to the silent mode
6Requirements
- A method to define the regions of interest to the
application - An infrastructure to enable area based tracking
for the client devices in an establishment - Need for downloading of software on a handheld or
including the APIs necessary for communication in
the handheld by the device manufacturers - Authenticity of the code getting downloaded and
the source of the messages - No effect on the normal communication or device
use - Interoperability and other challenges associated
with a distributed system - Generic APIs to help accommodate new applications
that are developed
7Concept
8Thesis Statement
- Present an infrastructure for context-driven
applications enabling them to specify area-based
user tracking requirements - Ability to determine with high probability when
the user is in the area of interest to the
application
9Motivation
- Minimal change in the infrastructure.
- Easy testing and deployment
- No requirement to formulate a coordinate system
- Flexibility to an application in defining the
attributes of an area as needed - No restriction in terms of the shape of an area
to be defined by the application
10Related Work
- Area aware computing - relatively new concept
- Research work that comes really close to the
concept presented in this thesis - Area based triggers by Hermann et. Al.
- Fingerprinting using access points as in PlaceLab
project by Intel
11Related Work 2
- Other related projects
- RADAR project for in-building user tracking by
Microsoft Research - AURA hybrid space model by CMU
- CRICKET project by MIT
12Terminology
- Zone A physical area defined by an application
for its use. For example, the area where cell
phones must be turned to silent mode like in an
auditorium - Region Any area in a building which could be a
zone - Signature Tuple consisting of ltAccess Point
MAC, RSSI_min, RSSI_max, Weightgt used by the
application to define zones in WiFi signal space - Client Signature - Tuple consisting of ltAccess
Point MAC, SSID, RSSI heardgt read by a client
device from its wireless interface - Region Definition or Rule A tuple of the form
ltRegion ID, Signaturegt used in defining zones
13Terminology 2
- Location A tuple of the form ltX, Y, Height,
Descriptiongt defined keeping in mind a
requirement of having actual Euclidean
coordinates if needed anytime by the system.
Currently we use the description member to make
the location more meaningful wherever it is used.
- Percentage Match Its the probability with
which the client signature matches a zone
definition using the algorithms described later - Message Its a string used as an attribute for
the zone, defined by the application if it wants
to convey something to the user when he is mapped
to a certain zone - Action The action that the application expects
users to perform when they are in a certain zone
14Architecture
15Architecture Offline Zone Definition
- Repository
- Stores access point, zone and rule information
- Repository Manager
- Interface for application to provide requisite
information
16Architecture Offline Zone Definition 2
17Architecture Server
- Listener Listens for client requests consisting
of client signature - Rule Manager
- Uses rule and zone information from the
Repository - Uses algorithm to find a matching zone for the
current client signature - Sender Sends the zone information to client
with message and action
18Architecture Client
- Wireless Device Reader reads wireless card
information and forms client signature - Sender sends client signature to the server for
zone matching - Listener receives zone information from server
- UI Component interacts with the user if
required by the application
19Algorithms
- begin procedure find-match
- Let A be the best heard access point by the
client - Let L denote the client signature
- Let M denote the list of zones with signatures
consisting of A - loop for all the zones Z in M
-
- store best zone(s) found
- end loop
- return best heard zone(s)
- end procedure
find-percent-match(Z, L)
20Algorithms Exact Match
- begin procedure find-percent-match
- count number of access points in signature S
used in definition of Z - loop for all access points B used in S
- if (B exists in L and RSSI heard for it is
within RSSI_MINA and RSSI_MAXA) - increment match
- end loop
- percent match /count 100
- return percent
- end procedure
21Algorithms Deviated Match
- begin procedure find-percent-match
- count number of access points in signature S
used in definition of Z - drop_per_deviation 0.2
- loop for all access points B used in S
- if (B exists in L and RSSI heard for it is
within RSSI_MINA and RSSI_MAXA) - increment match
- else
- dMatch (1 (deviation in RSSI from
MIN or MAX) drop_per_deviation) - if dMatch gt 0 then match dMatch
- end loop
- percent match /count 100
- return percent
- end procedure
22Algorithms Weighted Match
- begin procedure find-percent-match
- count number of access points in signature S
used in definition of Z - loop for all access points B used in S
- if (B exists in L and RSSI heard for it is
within RSSI_MINA and RSSI_MAXA) - match WeightA
- end loop
- percent match /count 100
- return percent
- end procedure
23Algorithms Weighted Deviation Match
- begin procedure find-percent-match
- loop for all access points B used in S
- if (B exists in L and RSSI heard for it is
within RSSI_MINA and RSSI_MAXA) - match WeightA
- else
- dMatch (1 (deviation in RSSI)
drop_per_deviation) - if dMatch gt 0 then match (dMatch
WeightA) - else if (dMatch lt 0) then
- dMatch exp (-WeightA
deviation in RSSI / 100) match dMatch - end loop
- percent match /count 100
- return percent
- end procedure
24Evaluation Define Zones
25Evaluation RSSI Measurement
26Evaluation Entering Information
- Room 105 (Area 44.6 sq.m) can be defined as
- lt00022D04683B,-80,-70,1.5gt
lt00601D23C5B5,-80,-70,1.0gt
lt00022D51A90A,-80,-70,1.5gt - Reception (Area 38.64 sq.m) can be defined as
- lt00022D04683B,-80,-70,1.0gt
lt00601D23C5B5,-80,-70,1.25gt
lt00022D51A90A,-65,-55,2.0gt - Room 127 (Area 8.18 sq.m) can be defined as
- lt00022D04683B,-60,-50,2.0gt
lt00601D23C5B5,-75,-65,1.0gt
lt00022D51A90A,-80,-70,1.0gt
27Evaluation Comparison of Algorithms
28Evaluation Comparison of Algorithms 2
29Evaluation Comparison of Algorithms 3
30Evaluation - Conclusion
- Deviated Match algorithm better than remaining
with number of access points(N) gt 3 - The number of access points determined by the
zone under consideration - The Weighted Deviation Match algorithm shows more
consistency in accuracy - Reduces spurious results acquired due to the
exponential degradation - Example on next slide
31Evaluation Conclusion 2
Client signature at 1 lt00022D51A90A, -76gt
lt00022D04683B, -43gt lt00141B5A2290,
-89gt Zone definition for Room 127
lt00022D04683B,-60,-50,2.0gt
lt00601D23C5B5,-75,-65,1.0gt
lt00022D51A90A,-80,-70,1.0gt Zone definition
for Room 105 lt00022D04683B,-80,-70,1.5gt
lt00601D23C5B5,-80,-70,1.0gt
lt00022D51A90A,-80,-70,1.5gt
- At one point, Room 105 matched at Position 1 by
Exact Match, Deviation Match and Weighted Match - The Weighted Deviation Match algorithm showed
Room 127
32Evaluation - Limitations
- Only defined zone is Reception
- But Rooms 101, 103 and Lobby also show a match
for Reception using any of the four algorithms
presented
33Evaluation Limitations 2
- Only defined zone is Room 127
- But the shaded portion on the floor plan also
shows a match for Room 127 using any of the four
algorithms presented
34History Information
- Use past area information to conclude strongly
about the present position - Use bluetooth devices to conclude strongly about
the present position - New term Space - An area that is not defined by
the application but which could be of consequence
in defining zones - E.g. A corridor in the building which might be
leading to a zone - Clients modified to report any nearby bluetooth
devices as well as the previous area matched with
a timestamp
35History Using Space Information
- Consider two applications
- One has defined Zone Y
- The other has defined Zone Z
- At time t, the system knows that a device is in
Space X (maybe by using one of the signature
matching algorithms mentioned earlier) - At time t 1, the client signature says Space X
with timestamp t - Higher probability that user must be in Zone Y
for application 1 while in Zone Z for application
2 - Example follows
36History Using Space Information 2
37History - Bluetooth
38History New Algorithm
- begin procedure find-percent-match
- Let bDevice represent a bluetooth device
- if timestamp of client signature and server do
not differ by MARGIN - if bDevice heard by client and bDevice
identifies Z - return complete match
-
- if Space S heard by client before this iteration
and S leads to Z - perform signature based match
- percent (weight1 space match percent
weight2 signature match percent) / 2 - return percent
- perform match as in previous signature based
cases - return percent match
- end procedure
39Conclusions
- Solution for area aware computing using existing
infrastructure - Implemented and analyzed four algorithms for WiFi
signal space matching of zones - Weighted Deviation Match algorithm works best in
general - Improvement in identifying zones using history
information
40Limitations
- Zone definitions in WiFi signal space
- Configuration of access points
- Performance at different times of day
- Varying signal strength
- Bluetooth
- Chances of having Bluetooth devices installed
41Future Work
- Experimental evaluation of history information
- Study the scalability of the system by
introducing multiple clients - Account for network usage and computation
requirements on the client - Implement an end to end system involving
- Download and verification of software on multiple
devices - Study the variation pattern in RSSI to define a
model - Define a variable signature depending on time of
day etc. constituting an intelligent zone
definition
42(No Transcript)
43Thank You
44Implementation - Server
45Implementation - Client