1
Collaborative Data Gathering Using Context-aware Mobile Devices
Tejas LagvankarMaster’s Thesis Defense
Advisor : Tim Finin20th July 2010
2
Agenda
• Motivation• Related Work• Context• Framework Details• Results• Future Work• Conclusion
Motivation Related Work Context Framework Details Results Future Work Conclusion
3
Motivation (Previous Work)
• SPIRE gathers data from citizen scientists who report observations about biological species.
• Spotter is the web-based tool to report observations.
• We developed SAM (Spotter App on Mobile) so that observations can be reported on the fly.
Motivation Related Work Context Framework Details Results Future Work Conclusion
4
How can we improveField survey
Mechanisms?
Ease of Useand Correctness
- Get more volunteers-Dynamic Requirements
Semantic Data Generation
Motivation Related Work Context Framework Details Results Future Work Conclusion
8
How can we improveField survey
Mechanisms?
Ease of Useand Correctness
- Get more volunteers-Dynamic Requirements
Semantic Data Generation
Motivation Related Work Context Framework Details Results Future Work Conclusion
9
How can we improveField survey
Mechanisms?
Ease of Useand Correctness
- Get more volunteers-Dynamic Requirements
Semantic Data Generation
Motivation Related Work Context Framework Details Results Future Work Conclusion
10
Getting more volunteers
• More volunteers– More data– Diverse data– More opinions– More confidence
• Why getting volunteers is a problem?– Volunteers are required to visit the site
‘intentionally’– Survey is about a specific region
Motivation Related Work Context Framework Details Results Future Work Conclusion
11
Handling dynamic requirements
• Information to be gathered as well as area from which information is needed may keep on changing.
• Make use of millions of mobile devices, that have spatial coverage.
• How to select appropriate users ? i.e. Users who are at the right place, right time and in a right state.
Motivation Related Work Context Framework Details Results Future Work Conclusion
12
The Question
What is the condition of the
bridge near Hilltop after
today’s snow ?
Where ?
NOW !
What ?
Internet
Motivation Related Work Context Framework Details Results Future Work Conclusion
13
More Questions
• What is the current parking situation at the Commons parking lot ?
• Urgent ! Is there a surgeon nearby ?
• Can anyone spot the Red balloons put up by DARPA ?
Motivation Related Work Context Framework Details Results Future Work Conclusion
14
Properties of Queries
Answers may not be already available on the internet
Need to ask actual people
Very Specific Need the response in a short period of time
Have to reach users on their mobile devices
Time Bound
Motivation Related Work Context Framework Details Results Future Work Conclusion
15
Use of Social Networking
• Ask queries on Facebook, Twitter etc… where many people are online !
• However:– Unnecessary Flooding of queries to uninterested
people– Still, possibility of people being in the right
situation is very less
Motivation Related Work Context Framework Details Results Future Work Conclusion
16
What do we need
• We need a system that– Is mobile based and can reach people at their
presence.– Is able to select appropriate people who can
answer any such queries
Motivation Related Work Context Framework Details Results Future Work Conclusion
17
Thesis statement
Develop a mobile based framework to discover user context and facilitate forwarding of specific data requests to appropriate people based on this derived context and personal preferences.
18
Related Work• Roy Want and Veronica Falcao and Jon Gibbons: The Active
Badge Location System. ACM -Transactions on Information Systems. 10., 91–102 (1992)
• Gregory D. Abowd and Christopher G. Atkeson and Jason Hong and Sue Long and Rob Kooper and Mike Pinkerton and Usability Centre: Cyberguide: A Mobile Context-Aware Tour Guide. (1997)
• Keith Cheverst and Nigel Davies and Keith Mitchell and Adrian Friday and Christos Efstratiou: Developing a Context-aware Electronic Tourist Guide: Some Issues and Experiences. 17–24, (2000)
Motivation Related Work Context Framework Details Results Future Work Conclusion
19
Related Work
• Location and mobility in a Sensor Network of Mobile Phones [Kansal and Zhao, 2007]
Motivation Related Work Context Framework Details Results Future Work Conclusion
20
Related Work
• A three tier system consisting of physical sensors, virtual sensors and the application tier.
• Mobile devices act as physical sensors over which a layer of virtual sensors is overlaid.
• Virtual sensors are static which may be points of interest for the applications.
• Any devices that come under these virtual sensors are contacted.
Motivation Related Work Context Framework Details Results Future Work Conclusion
21
Related Work• Micro - blog [Gaonkar, S.; Li, J.; Choudhury, R. R.; Cox, L.; and
Schmidt, A. 2008]
Motivation Related Work Context Framework Details Results Future Work Conclusion
22
Related Work
• People can upload pictures and videos of the locations around – called as Micro-blogs.
• When a query for a particular region arrives, it is looked for in the micro-blog database.
• If not found, it is forwarded to the phones in the location of interest.
Motivation Related Work Context Framework Details Results Future Work Conclusion
23
Related Work
• The participatory applications discussed consider location alone as the deciding factor.
• Dealing with mobile phones, the context the user is in determines user participation and willingness.
• Our framework reasons about the user context before notifying the user.
Motivation Related Work Context Framework Details Results Future Work Conclusion
24
Context
• Context is a set of environmental parameters relevant to an application.
• We define it in terms of mapping the users’ position to place.
• Position is the geo-spatial information captured in terms of lat-lon.
• Place is the conceptual information associated with the position depending on user surroundings and activities.
Motivation Related Work Context Framework Details Results Future Work Conclusion
25
Context (examples)
• Position : 39.255984,-76.711714• Direct Mapping : UMBC• Place : In a meeting, at the coffee shop,
delivering a talk, in a class
• One position can map to multiple places.• One place can map to multiple positions.
Motivation Related Work Context Framework Details Results Future Work Conclusion
26
Framework Goals
• Select appropriate users depending on their context
• Derive conceptual place information about the user
Motivation Related Work Context Framework Details Results Future Work Conclusion
27
Framework : High Level Components
• Device– Mobile Agent
• Server– Data Collector– Request Collector– Notification Engine– Sensor / Context Database– Reasoning Engine
Motivation Related Work Context Framework Details Results Future Work Conclusion
28
Users of the Framework
• Applications using the framework will have 2 primary roles:– Mobile User : End user of the system registered to
the framework– Administrator : Manager Users, Manage System
Rules, decide on data format and ways to collect data.
Motivation Related Work Context Framework Details Results Future Work Conclusion
29
The Mobile Agent
• A piece of software that sits on the mobile device.• Senses the environment using the device sensors.• Sends three types messages:
– INIT : Initial set up sent on first run– DATA : sends sensor data– ALIVE : check for notification
• Developed an agent using Google Android platform.• Any other mobile agent following this pattern can
talk to the server.
Motivation Related Work Context Framework Details Results Future Work Conclusion
30
The Mobile Agent
Motivation Related Work Context Framework Details Results Future Work Conclusion
31
ContactsAnd
Calendar
EmailsSocial N/W Information
Internet
LightTemperature
GPS, Network Location
Motion, Magnetic
Field Sensors
Motivation Related Work Context Framework Details Results Future Work Conclusion
32
Sensors
• Light• Temperature• Proximity• WiFi Status• WiFi IDs• GPS Coordinates
Motivation Related Work Context Framework Details Results Future Work Conclusion
• Battery• User Present• Motion• Headset plugged• Power chord Status• Bluetooth
33
The Server
• Divided into several components:– The Sensor data collector– The Request collector– The Reasoning engine– The Rule subsystem– The Context Database– The Notification Engine
Motivation Related Work Context Framework Details Results Future Work Conclusion
35
Data Collector and Notification Engine
• Data Collector– Collects data using HTTP, dumps into database– Can accept data from any mobile agents following
the data format• Notification Engine– Queues notifications for devices– Dispatches on ALIVE message
Motivation Related Work Context Framework Details Results Future Work Conclusion
36
Request Collector
• Accepts requests as HTTP requests and puts them into the queue.
• Parameters required:– GPS location– Request String
Motivation Related Work Context Framework Details Results Future Work Conclusion
37
Submitting a request
Motivation Related Work Context Framework Details Results Future Work Conclusion
38
The Reasoning Engine• Pre-reasoning:
– Data extracted as RDF triples in N3 format at pre-defined intervals.– E.g.
cs:29 cs:hasTimestamp "2010-06-13 01:54:43.0"; cs:sensedLight "225";cs:hasBattery "60".
• Reasoning:– Forward chaining reasoner works upon the triples.– Applies rules to these triples.– New triples are generated which constitute the context information for
the user.
Motivation Related Work Context Framework Details Results Future Work Conclusion
39
The Reasoning Engine
• The framework provides CWM reasoner.• However, any reasoner which can deal with
N3 RDF can be used by the application.
Motivation Related Work Context Framework Details Results Future Work Conclusion
40
System and User Rules
• System Rules:– provide a level of abstraction over the raw sensor data and
maps it to human readable terms.– are generic for all the users.– E.g.
• if sensed light < 225, phone is in DARK environment.• If timestamp < 12, its MORNING etc..
– The framework provides basic system rules for certain sensors like ambient light, timestamps and proximity.
– Administrators can override and add to the system rules.– Provides ways of enforcing policies / group level rules.
Motivation Related Work Context Framework Details Results Future Work Conclusion
41
System and User Rules
• User Rules– allow mobile users to define conditions that
constitute specific context information– E.g. the user may define conditions under which
he can be considered as busy.– The user can set reminders depending on location,
time, people around etc…
Motivation Related Work Context Framework Details Results Future Work Conclusion
42
The Reasoning Process
• Dr. Mark is advisor of Bob.• Dr. Mark has the following triples:
:Markgeo:lat "39.2546";geo:lon "-76.7120";cs:hasBluetooth 00:0A:D9:EB:66:C7.
• Bob has the following triples::Bobgeo:lat "39.2321";geo:lon "-76.7012";cs:hasBluetooth 00:0C:F3:2G:23:56;cs:hasNeighbour 00:0A:D9:EB:66:C7.
Motivation Related Work Context Framework Details Results Future Work Conclusion
43
The Reasoning Process• Bob has the following rules:{?A cs:hasNeighbour ?B. ?C cs:hasBluetooth ?B.}
=> {?A cs:isNearBy ?C}.{?A cs:hasBluetooth "00:0A:D9:EB:66:C7”}
=> {?A cs:hasIdentity "Dr. Mark"}.
{?A cs:isNearby ?B. ?B cs:hasIdentity "Dr. Mark".}
=> {?A cs:isBusy "True"}.
• Bob has the following triples::Bobgeo:lat "39.2546";geo:lon "-76.7120";cs:hasLocation "ABC University";cs:hasBluetooth 00:0C:F3:2G:23:56;cs:hasNeighbour 00:0A:D9:EB:66:C7;cs:isNearby "Dr. Mark";cs:isBusy "True".
Motivation Related Work Context Framework Details Results Future Work Conclusion
44
Guidelines for application
• Implement mobile agent, provide sensor information to the server.
• Choose the desired reasoning engine ( we provide results for CWM).
• Implement an interface for the request collector.• Set up data repository and data reporting methods.• Define system rules and provide default user rules.• User Management (Login, UIs for rules etc…)
Motivation Related Work Context Framework Details Results Future Work Conclusion
45
Guidelines (example for SPIRE)
• Android mobile agent• SAM used as reporting tool, SPIRE DB for data
collection.• Rules defined for finding is user is busy or not.• Request Collector and Notification Engine
used as default.
Motivation Related Work Context Framework Details Results Future Work Conclusion
46
Context Discovery
• Broader goals is to find conceptual place information such as “in a cafeteria”, or “at a meeting”.
• Currently, we ask users to tag certain sensed information.
• System maintains list of seen WiFi IDs.• Asks user to tag these with conceptual
information.
Motivation Related Work Context Framework Details Results Future Work Conclusion
47
Context Discovery
Motivation Related Work Context Framework Details Results Future Work Conclusion
48
Context Discovery
• Eventually, the system can have multiple tags for same WiFi ID.
• The most popular once can be used as suggestions.• Will simplify understanding places and writing rules.– E.g. If a WiFi ID say “Simon” is tagged as “Food Court”
and some time interval is tagged as “Lunch Time” the user could say:
{?D cs:hasWiFi ?W. ?W cs:hasTag "Food Court".?D cs:hasTime ?T. ?T cs:hasConcept "Lunch Time".}
=> {?D cs:notifyFoodLocation "True"}.
Motivation Related Work Context Framework Details Results Future Work Conclusion
49
Context Discovery
• Similarly, seen bluetooth IDs can be tagged to form groups of people identifying a conceptual place.
• E.g. People in the class, people at the gym, people in the train.
Motivation Related Work Context Framework Details Results Future Work Conclusion
50
Evaluation Criteria
• The framework was built for developing applications for the SPIRE project and will be using SAM as the data reporting tool.
• Evaluation majorly includes a feature comparison, battery usage and reasoning times.
Motivation Related Work Context Framework Details Results Future Work Conclusion
51
Evaluation Criteria
• Feature ComparisonFeature \ Apps FaceBook MobSense Micro-Blog Ebiquity CAS
Social Querying Yes Yes Yes Yes
Real time No No Yes Yes
Context Aware No No No Yes
People selection / Broadcast
Broadcast Broadcast Select Select
System/User level policies No No No Yes
Motivation Related Work Context Framework Details Results Future Work Conclusion
52
Evaluation Criteria
• Battery LifeSamples % Usage for
5 hours with Agent
Sample 1 6 %
Sample 2 7 %
Sample 3 7 %
* Samples taken for a Google Nexus one with all sensors on and for a regular phone usage
Motivation Related Work Context Framework Details Results Future Work Conclusion
53
Evaluation Criteria
• Reasoning times with CWM
Motivation Related Work Context Framework Details Results Future Work Conclusion
# Triples Time Sample 1 Time Sample 2 Time Sample3
100 2.719 s 2.523 s 2.707 s
200 10.162 s 10.061 s 9.903 s
500 10.876 s 10.768 s 10.982 s
1000 6 m 7.904 s 6 m 7.710 s 6 m 7.543 s
54
Future Work
• Supervised learning for context discovery.– Train classifiers based on sensor values and apply
label present in calendar.– E.g. For a certain calendar activity, record sensor
values.– The classifier is then downloaded on the phone.– Now, using sensor values, can determine un-
annotated calendar events.
Motivation Related Work Context Framework Details Results Future Work Conclusion
55
Future Work
• Inter-device communication– Currently, all devices communicate with the server
alone.– Context discovery can be faster if place
information is shared with neighboring devices as well as stationary network elements like WiFi routers, Cell towers etc…
Motivation Related Work Context Framework Details Results Future Work Conclusion
56
Future Work
• Use of Google message push for more accurately timed notifications.– Reasoning takes time.– Currently, mobile agent communicates with server
two times:• To report sensor data• To check for notifications
– Using message push, we can eliminate the later.
Motivation Related Work Context Framework Details Results Future Work Conclusion
57
Conclusion
• We have developed a framework that takes a context-driven approach for social mobile applications requiring collaborative data gathering.
• We provide and suggest techniques for mapping position information to place information.
Motivation Related Work Context Framework Details Results Future Work Conclusion
58
References• Kansal, A., Zhao, F.: Location and Mobility in a Sensor Network of Mobile Phones. ACM
SIGMM 17th International workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV), (2007)
• UMBC Ebiquity: http://spire.umbc.edu. UMBC Ebiquity, (2007)
• UMBC Ebiquity: http://spire.umbc.edu/spotter. UMBC Ebiquity, (2007)
• W3C: CWM (http://www.w3.org/2000/10/swap/doc/cwm.html, (2007)
• Google: Aardvark (http://www.vark.com). (2010)
• Cory Cornelius and Apu Kapadia and David Kotz and Dan Peebles and Minho Shin and Nikos Triandopoulos: AnonySense: Privacy-Aware People-Centric Sensing. Proceedings of the 2008 International Conference on Mobile Systems, Applications, and Services (MobiSys), 211–224 (2008)
59
References• Gaonkar, Shravan and Li, Jack and Choudhury, Romit Roy and Cox, Landon and Schmidt,
Al: Micro-Blog: sharing and querying content through mobile phones and social participation. MobiSys ’08: Proceeding of the 6th international conference on Mobile systems, applications, and services, 174–186 (2008)
• Roy Want and Veronica Falcao and Jon Gibbons: The Active Badge Location System. ACM Transactions on Information Systems. 10., 91–102 (1992)
• Guanling Chen and David Kotz: A Survey of Context-Aware Mobile Computing Research.(2000)
• Gregory D. Abowd and Christopher G. Atkeson and Jason Hong and Sue Long and Rob• Kooper and Mike Pinkerton and Usability Centre: Cyberguide: A Mobile Context-Aware
Tour Guide. (1997)
• W3C: RDF Primer (http://www.w3.org/TR/rdf-primer/), (2004)