Programming Outdoor Distributed Embedded Systems

Download Report

Transcript Programming Outdoor Distributed Embedded Systems

The MobiSoC Middleware for
Mobile Social Computing
Cristian Borcea, Ankur Gupta, Achir
Kalra, Quentin Jones, Liviu Iftode*
Department of Computer Science
New Jersey Institute of Technology
*Rutgers University
Social Computing in the Internet
Myspace

Facebook
LinkedIn
Social networking applications that improve
social connectivity on-line
– Stay in touch with friends
– Make new friends
– Find out information about events and places
2
Shift from Physical Communities to
Virtual Communities

Leads to missed social opportunities
– People not aware of their neighborhoods
– Example: don’t know neighbors with common interests or
nearby events

Inter-personal affinities can be leveraged in
stronger social ties in physical communities
– People who share common places can easily meet and talk

Is there any way to get the best of both worlds?

Merge the benefits of social computing and physical
communities?
3
Mobile Social Computing



Social computing anytime, anywhere
New applications will benefit from real-time
location and place information
Smart phones are the ideal devices
– Always with us
– Internet-enabled
– Locatable (GPS or other systems)
•
•
•
•
•
•
200-400 MHz processors
64-128 MB RAM
GSM, WiFi, Bluetooth
Camera, keyboard
Symbian, Windows Mobile, Linux
Java, C++, C#
4
Are People Willing to Share their
Location?


Yes, if they benefit from that
Study with 500+ people in Manhattan over 3 weeks
– 84% willing to share location to compute place crowding
– 77% willing to share their location data with others in
public or semi-public places
– 57% would like to know information about other people
5
Mobile Social Computing Applications
(MSCA)

People-centric
– Are any of my friends in the cafeteria now?
– Is there anybody nearby with a common background
who would like to play tennis?

Place-centric
– How crowded is the cafeteria now?
– Which are the places where CS students hang out?

How to program MSCA?

Challenges: capturing the dynamic relations between
people and places, location systems, privacy, power
6
Outline

Motivation

MobiSoC Middleware

Applications
– Clarissa: people-centric MSCA
– Tranzact: place-centric MSCA

Implementation & experimental results

Conclusions
7
MobiSoC Middleware


Common platform for capturing, managing, and
sharing the social state of a physical community
Discovers emergent geo-social patterns and uses
them to augment the social state
8
MobiSoC Architecture
9
Learning Emergent Geo-Social
Patterns Example: GPI

GPI – algorithm that identifies previously unknown
social groups and their associated places
– Fits into the people-place affinity learning module

Clusters user mobility traces across time and space

Its results can
– Enhance user profiles and social networks using newly
discovered group memberships
– Enhance place semantics using group meeting times and
profiles of group members
10
Location System

Hardware-based location systems not feasible
– GPS doesn’t work indoors
– Deploying RF-receivers to measure the signals of
mobiles is expensive and not practical for large places


The user has no control over her location data!
Software-based location systems that run on
mobile devices preferable
– Use signal strength and known location of WiFi access
points or cellular towers
– Allow users to decide when to share their location
11
Mobile Distributed System Architecture


MSCA split between thin clients running on mobiles and
services running on servers
MSCA clients communicate synchronously with the services
and receive asynchronous events from MobiSoC

Advantages
 Faster execution
 Energy efficiency
 Improved trust
12
Clarissa: Location-enhanced mobile
social matching
Match Alert
Match
Alert
MatchType=Hangout
Time: 1-3PM
Co-Location: required
MatchType=Hangout
Time: 2-4PM
Co-Location: required
13
Tranzact: Place-based ad hoc social
collaboration
Hungry
Cafeteria
14
MobiSoC Implementation

Runs on trusted servers

Service oriented architecture over Apache Tomcat
– Core services written in JAVA
– API is exposed to MSCA services using KSOAP


KSOAP is J2ME compatible, hence can be used to communicate
with clients
Client applications developed using J2ME on WiFienabled Windows-based smart phones
– Clarissa: http://apps.facebook.com/matching/

Location engine: modified version of Intel’s Placelab
– At least 3 WiFi access points visible in most NJIT places
– Accuracy 10-15 meters
15
Location Engine Power Consumption

Trade-off between frequent location updates for
synchronous awareness and rare updates to save
power
16
GPI Results
Experimental results

– Mobility traces from 20 users carrying smart phones over one
month period
– Identified all groups and places (place accuracy < 10 meters)
Simulations for larger scale

– Identified over 96% of members, when meeting attendance
frequency at least 50%
– Less than 1% false positives
TGM=50, NGMF=0.1
GMF=0.3
100%
GMF=0.5
90%
GMF=0.7
80%
GMF=0.9
70%
60%
50%
40%
30%
20%
10%
0%
0.1
0.2
0.3
RCP - Required degree of co-presence between X and Y w.r.t. TGM
Average percentage of non-group members identified
Average percentage of group members identified
TGM=50, NGMF=0.1
GMF=0.3
100%
GMF=0.5
90%
GMF=0.7
80%
GMF=0.9
70%
60%
50%
40%
30%
20%
10%
0%
0.1
0.2
0.3
RCP - Required degree of co-presence between X and Y w.r.t. TGM
17
Conclusions


Mobile social computing applications can be
deployed in real-life today
MobiSoC manages community social state
– Discovers emergent patterns from social interactions

Improves people and place profiles using these patterns
– Provides support for rapid application development


Distributed system architecture based on MobiSoC
addresses efficiency, power, and trust issues
SmartCampus: large scale mobile social computing
test-bed at NJIT
– Test mobile social computing applications with 200+ users
carrying smart phones across the campus this spring
18
Thank you!
Work sponsored by the NSF grants CNS0454081, IIS-0534520, CNS-0520033, and
CNS-0520123
http://www.cs.njit.edu/~borcea/
19