Is Your Car Talking with My Is Your Car Talking with My Smart Phone?Smart Phone?
ororDistributed Sensing and Computing Distributed Sensing and Computing
in Mobile Networks in Mobile Networks
Cristian BorceaCristian BorceaDepartment of Computer Science, NJITDepartment of Computer Science, NJIT
22
Wireless Computing/Sensing SystemsWireless Computing/Sensing Systems
>3.3B cell phones vs. 600M Internet-connected PC’s in >3.3B cell phones vs. 600M Internet-connected PC’s in
20072007
>600M cell phones with Internet capability, rising rapidly>600M cell phones with Internet capability, rising rapidly
New cars come equipped with GPS, navigation systems, New cars come equipped with GPS, navigation systems,
and lots of sensorsand lots of sensors
Sensor deployment just starting, but some estimates Sensor deployment just starting, but some estimates
~5-10B units by 2015 ~5-10B units by 2015
Ubiquitous Computing VisionUbiquitous Computing Vision
Computing, communication, and Computing, communication, and
sensing anytime, anywheresensing anytime, anywhere
Wireless systems cooperate to Wireless systems cooperate to
achieve global tasksachieve global tasks
33
How close are we from this How close are we from this
vision?vision?
44
So Far … Not Very CloseSo Far … Not Very Close
Nomadic computingNomadic computing
– Devices: laptopsDevices: laptops
– Internet: intermittent connectivityInternet: intermittent connectivity
– Work: typical desktop applicationsWork: typical desktop applications
Mobile communicationMobile communication
– Devices: PDAs, mobile phones, BlackberriesDevices: PDAs, mobile phones, Blackberries
– Internet: continuous connectivityInternet: continuous connectivity
– Work: email and webWork: email and web
Experimental sensor networksExperimental sensor networks
– Devices: Berkeley/Crossbow motesDevices: Berkeley/Crossbow motes
– Internet: possible through base stationInternet: possible through base station
– Work: monitor environment, wildlifeWork: monitor environment, wildlife
Why?Why?
Hard to program distributed applications over Hard to program distributed applications over collections of wireless systemscollections of wireless systems
– SystemsSystems Distributed across physical spaceDistributed across physical space
MobileMobile
Heterogeneous: both hardware and softwareHeterogeneous: both hardware and software
Resource-constrained: battery, bandwidth, memoryResource-constrained: battery, bandwidth, memory
– NetworksNetworks Large scaleLarge scale
Volatile: ad hoc topologies, dynamic resourcesVolatile: ad hoc topologies, dynamic resources
Less secure than wired networksLess secure than wired networks
55
66
Our ResearchOur Research
Tornadoapproaching!
Highway
Parking Area
Shopping mall
Traffic jam!
Local fog patches!
Free parking spot!
50% discount!
What programming models, system architectures, What programming models, system architectures, and protocols do we need when everything connects?and protocols do we need when everything connects?
77
OutlineOutline
MotivationMotivation
MobiSoC: A middleware for mobile social computingMobiSoC: A middleware for mobile social computing
Migratory Services: A context-aware service model Migratory Services: A context-aware service model for mobile ad hoc networksfor mobile ad hoc networks
RBVT: Road-based routing using real-time traffic RBVT: Road-based routing using real-time traffic information in vehicular networksinformation in vehicular networks
ConclusionsConclusions
New projectsNew projects
– Mobius: A socially-aware peer-to-peer network infrastructureMobius: A socially-aware peer-to-peer network infrastructure
– Traffic safety using vehicular networks and sensor networksTraffic safety using vehicular networks and sensor networks
88
Social Computing in the InternetSocial Computing in the Internet
Social networking applications improve social Social networking applications improve social
connectivity on-lineconnectivity on-line
– Stay in touch with friendsStay in touch with friends
– Make new friendsMake new friends
– Find out information about events and placesFind out information about events and places
LinkedInLinkedInMyspaceMyspace FacebookFacebook
• 200-400 MHz processors200-400 MHz processors• 64-128 MB RAM64-128 MB RAM• GSM, WiFi, BluetoothGSM, WiFi, Bluetooth• Camera, keyboardCamera, keyboard• Symbian, Windows Mobile, LinuxSymbian, Windows Mobile, Linux• Java, C++, C#Java, C++, C#
99
Mobile Social ComputingMobile Social Computing
More than just social computing anytime, anywhereMore than just social computing anytime, anywhere New applications will benefit from New applications will benefit from real-time location real-time location
and place informationand place information Smart phones are the ideal devicesSmart phones are the ideal devices
– Always with usAlways with us
– Internet-enabledInternet-enabled
– Locatable (GPS or other systems)Locatable (GPS or other systems)
1010
Mobile Social Computing Applications Mobile Social Computing Applications (MSCA)(MSCA)
People-centricPeople-centric
– Are any of my friends in the cafeteria now?Are any of my friends in the cafeteria now?
– Is there anybody nearby with a common background who Is there anybody nearby with a common background who would like to play tennis?would like to play tennis?
Place-centricPlace-centric
– How crowded is the cafeteria now?How crowded is the cafeteria now?
– Which are the places where CS students hang out?Which are the places where CS students hang out?
How to program MSCA?How to program MSCA? Challenges: capturing the dynamic relations between people Challenges: capturing the dynamic relations between people
and places, location systems, privacy, battery power and places, location systems, privacy, battery power
1111
MobiSoC MiddlewareMobiSoC Middleware Common platform for capturing, managing, and Common platform for capturing, managing, and
sharing the sharing the social state of a physical communitysocial state of a physical community Discovers emergent geo-social patterns and uses them Discovers emergent geo-social patterns and uses them
to augment the social stateto augment the social state
1212
MobiSoC ArchitectureMobiSoC Architecture
Learning Emergent Geo-Social Learning Emergent Geo-Social Patterns Example: GPI AlgorithmPatterns Example: GPI Algorithm
GPI identifies previously unknown social groups and GPI identifies previously unknown social groups and their associated placestheir associated places
– Fits into the people-place affinity learning moduleFits into the people-place affinity learning module
Clusters user mobility traces across time and spaceClusters user mobility traces across time and space
Its results canIts results can
– Enhance user profiles and social networks using newly Enhance user profiles and social networks using newly discovered group membershipsdiscovered group memberships
– Enhance place semantics using group meeting times and Enhance place semantics using group meeting times and profiles of group membersprofiles of group members
1313
1414
Location SystemLocation System
Hardware-based location systems not feasible Hardware-based location systems not feasible
– GPS doesn’t work indoorsGPS doesn’t work indoors
– Deploying RF-receivers to measure the signals of mobiles is Deploying RF-receivers to measure the signals of mobiles is expensive and not practical for large placesexpensive and not practical for large places
The user has no control over her location data!The user has no control over her location data!
Software-based Software-based location systems that run on mobile location systems that run on mobile devices preferabledevices preferable
– Use signal strength and known location of WiFi access points Use signal strength and known location of WiFi access points or cellular towersor cellular towers
– Allow users to decide when to share their locationAllow users to decide when to share their location
1515
Mobile Distributed System Mobile Distributed System ArchitectureArchitecture
MSCA split between thin clients running on mobiles MSCA split between thin clients running on mobiles and services running on serversand services running on servers
MSCA clients communicate synchronously with the MSCA clients communicate synchronously with the services and receive asynchronous events from services and receive asynchronous events from MobiSoCMobiSoC
AdvantagesAdvantages Faster executionFaster execution Energy efficiencyEnergy efficiency Improved trustImproved trust
1616
Clarissa: Location-enhanced Mobile Clarissa: Location-enhanced Mobile Social MatchingSocial Matching
Match Alert
MatchType=Hangout
Time: 1-3PMCo-Location:
required
MatchType=Hangout
Time: 2-4PMCo-Location:
required
Match Alert
1717
Tranzact: Place-based Ad Hoc Social Tranzact: Place-based Ad Hoc Social CollaborationCollaboration
What’s on th
e
menu?
Cafeteria
Chicken
teriyaki
Hungry
1818
MobiSoC ImplementationMobiSoC Implementation
Runs on trusted serversRuns on trusted servers– Beta release: https://sourceforge.net/projects/mobisoc/Beta release: https://sourceforge.net/projects/mobisoc/
Service oriented architecture over Apache TomcatService oriented architecture over Apache Tomcat– Core services written in JAVACore services written in JAVA
– API is exposed to MSCA services using KSOAPAPI is exposed to MSCA services using KSOAP
KSOAP is J2ME compatible and can be used to communicate KSOAP is J2ME compatible and can be used to communicate
with clientswith clients
Client applications developed using J2ME on WiFi-Client applications developed using J2ME on WiFi-
enabled Windows-based smart phonesenabled Windows-based smart phones– Clarissa: http://apps.facebook.com/matching/ Clarissa: http://apps.facebook.com/matching/
Location engine: modified version of Intel’s Placelab Location engine: modified version of Intel’s Placelab – Accuracy 10-15 metersAccuracy 10-15 meters
1919
OutlineOutline
MotivationMotivation
MobiSoC: A middleware for mobile social computingMobiSoC: A middleware for mobile social computing
Migratory Services: A context-aware service model Migratory Services: A context-aware service model for mobile ad hoc networksfor mobile ad hoc networks
RBVT: Road-based routing using real-time traffic RBVT: Road-based routing using real-time traffic information in vehicular networksinformation in vehicular networks
ConclusionsConclusions
New projectsNew projects
– Mobius: A socially-aware peer-to-peer network infrastructureMobius: A socially-aware peer-to-peer network infrastructure
– Traffic safety using vehicular networks and sensor networksTraffic safety using vehicular networks and sensor networks
2020
Ad Hoc Networks as Data CarriersAd Hoc Networks as Data Carriers
Traditionally, ad hoc networks used toTraditionally, ad hoc networks used to– Connect mobile systems (e.g., laptop, PDA) to the InternetConnect mobile systems (e.g., laptop, PDA) to the Internet
– Transfer files between mobile systemsTransfer files between mobile systems
InternetInternet InternetInternet
Read email, browse the webRead email, browse the web File transfersFile transfers
2121
Ad Hoc Networks as People-Ad Hoc Networks as People-Centric Mobile Sensor NetworksCentric Mobile Sensor Networks
Typical devices: smart phones and vehicular systemsTypical devices: smart phones and vehicular systems Run distributed services Run distributed services
– Acquire, process, disseminate real-time information from Acquire, process, disseminate real-time information from proximity of regions, entities, or activities of interestproximity of regions, entities, or activities of interest
– Have context-aware executionHave context-aware execution
– Often interact for longer periods of time with clientsOften interact for longer periods of time with clients
C
S
Entity Entity tracking tracking
P
CLARK ST
LAKE ST
EL
MW
OO
D A
VE
MA
PL
E A
VE
RID
GE
AV
E
DAVIS ST
COLLEGE ST
OLD TOWN
P
BURNSIDE ST
P
GROVE ST
OA
K A
V P
P
CHURCH ST
S
C
Parking Parking spot finderspot finder
S
C
Traffic jamTraffic jampredictorpredictor
2222
Problems with Traditional Client-Problems with Traditional Client-Server Model in Ad Hoc NetworksServer Model in Ad Hoc Networks
When service stops satisfying context requirements, When service stops satisfying context requirements,
client must discover new serviceclient must discover new service
– Overhead due to service discoveryOverhead due to service discovery
– State of the old service is lostState of the old service is lost
– Not always possible to find new serviceNot always possible to find new service
2323
Virtual serviceVirtual serviceend-pointend-point
Migratory Services ModelMigratory Services Model
ClienClientt
nn11
CC
nn22
nn33
Context Change! (e.g., nContext Change! (e.g., n22 moves out of the region of interest) moves out of the region of interest)MS cannot accomplish its task on nMS cannot accomplish its task on n22 any longer any longer
ServiceServiceMigrationMigration
MSMSStateState MigratoryMigratory
ServiceService
MSMSStateState
MigratoryMigratory ServiceService
2424
One-to-One Mapping between One-to-One Mapping between Clients and Migratory ServicesClients and Migratory Services
nn11
C1C1
Meta-Meta-serviceservice
nn33
MM
Create Create Migratory ServiceMigratory Service
MS1MS1StateState
nn22 nn55
MS2MS2StateState
C2C2 MS2MS2StateState
nn44
MS1MS1StateState
2525
Migratory Services FrameworkMigratory Services Framework
Context Manager
Validator Communication
Manager
Smart Messages Platform
Operating System/ Wireless Communication / Sensors
MonitoredCxt
Client Application/Service
Reliability Manager
InCxtRules
OutCxtRules
2626
TJam: Migratory Service ExampleTJam: Migratory Service Example
Predicts traffic jams in real-timePredicts traffic jams in real-time– The request specifies region of interestThe request specifies region of interest
– Service migrates to ensure it stays in this region Service migrates to ensure it stays in this region
– Uses history (service execution state) to improve predictionUses history (service execution state) to improve prediction
TJam utilizes information that every car has:TJam utilizes information that every car has:– Number of one-hop neighboring carsNumber of one-hop neighboring cars
– Speed of one-hop neighboring carsSpeed of one-hop neighboring carsInform me when there is high probability of traffic jam 10 miles
ahead
ImplementationImplementation Implemented in JavaImplemented in Java
– Java 2 Micro-Edition (J2ME) with CLDC 1.1 and MIDP 2.0Java 2 Micro-Edition (J2ME) with CLDC 1.1 and MIDP 2.0
– J2ME with CDCJ2ME with CDC
Development using HP iPAQs (running Linux), Nokia phones Development using HP iPAQs (running Linux), Nokia phones (running Symbian)(running Symbian)
SM platformsSM platforms
– Original SM on modified KVM (HP iPAQs) – migration state captured Original SM on modified KVM (HP iPAQs) – migration state captured in the VMin the VM
– Portable SM on Java VM, J2ME CDC (Nokia 9500) – migration state Portable SM on Java VM, J2ME CDC (Nokia 9500) – migration state captured using bytecode instrumentationcaptured using bytecode instrumentation
2828
OutlineOutline
MotivationMotivation
MobiSoC: A middleware for mobile social computingMobiSoC: A middleware for mobile social computing
Migratory Services: A context-aware service model Migratory Services: A context-aware service model for mobile ad hoc networksfor mobile ad hoc networks
RBVT: Road-based routing using real-time traffic RBVT: Road-based routing using real-time traffic information in vehicular networksinformation in vehicular networks
ConclusionsConclusions
New projectsNew projects
– Mobius: A socially-aware peer-to-peer network infrastructureMobius: A socially-aware peer-to-peer network infrastructure
– Traffic safety using vehicular networks and sensor networksTraffic safety using vehicular networks and sensor networks
2929
Vehicular Ad Hoc Networks (VANET)Vehicular Ad Hoc Networks (VANET)
Safer drivingSafer driving
– Quick dissemination of traffic alertsQuick dissemination of traffic alerts
More fluid trafficMore fluid traffic
– Real-time dissemination of traffic conditions, traffic Real-time dissemination of traffic conditions, traffic queries, dynamic route planningqueries, dynamic route planning
In-vehicle computing & entertainmentIn-vehicle computing & entertainment
– P2P file sharing, gaming, location-aware advertisementsP2P file sharing, gaming, location-aware advertisements
Vehicle-to-vehicle short-Vehicle-to-vehicle short-range wireless range wireless communicationcommunication
3030
EZCab: Automatic Cab Booking EZCab: Automatic Cab Booking ApplicationApplication
Need a cab
Use mobile ad hoc networks of Use mobile ad hoc networks of cabs to book a free cabcabs to book a free cab
Used HP iPaqs, GPS, WiFiUsed HP iPaqs, GPS, WiFi
3131
TrafficView: Traffic Monitoring TrafficView: Traffic Monitoring ApplicationApplication
Provides dynamic, real-time view of the traffic ahead Provides dynamic, real-time view of the traffic ahead of youof you
Initial prototypeInitial prototype
– Laptop/PDA running LinuxLaptop/PDA running Linux
– WiFi & Omni-directional antennasWiFi & Omni-directional antennas
– GPS & Tiger/Line-based digital mapsGPS & Tiger/Line-based digital maps
– Road identification softwareRoad identification software
Second generation prototype (developed Second generation prototype (developed
by Rutgers Univ) adds by Rutgers Univ) adds
– Touch screen displayTouch screen display
– 3G cards3G cards
– Possibility to connect to the OBD systemPossibility to connect to the OBD system
3232
Routing still a Big Problem for Routing still a Big Problem for VANETVANET
Topological routing (e.g., Topological routing (e.g., AODV, DSR) suffers from AODV, DSR) suffers from frequent broken pathsfrequent broken paths
S
SN1 D
N1
D
a) At time t
b) At time t+Δt
N2
S
DDead end road
N1
N2
Geographical routing (e.g., Geographical routing (e.g., GPSR) frequently routes GPSR) frequently routes packets to dead-endspackets to dead-ends
3333
RBVT RoutingRBVT Routing
I2 I3
I8E
car
Intersection j
I7
I4 I5
Ij
D
S
A
B
C
Source
Destination
Path in header: I8-I5-I4-I7-I6-I1
I1
I6
Make decisions based onMake decisions based on– Road topology Road topology – Real-time data about vehicular connectivity on the Real-time data about vehicular connectivity on the
roadsroads More stable pathsMore stable paths
– Consist of wirelessly-connected road intersectionsConsist of wirelessly-connected road intersections– Geographical forwarding used within road segmentsGeographical forwarding used within road segments
Reactive and Proactive RBVTReactive and Proactive RBVT
RBVT-R (reactive)RBVT-R (reactive)
– Creates paths on-demandCreates paths on-demand
– Route discovery floods the network to find destination and Route discovery floods the network to find destination and records pathrecords path
– Route reply returns path to sourceRoute reply returns path to source
RBVT-P (proactive)RBVT-P (proactive)
– Connectivity packet unicasted periodically to discover the Connectivity packet unicasted periodically to discover the graph of wirelessly-connected road segmentsgraph of wirelessly-connected road segments
– When complete, connectivity packet flooded in the network When complete, connectivity packet flooded in the network to update the nodes with the new graphto update the nodes with the new graph
– Nodes compute shortest paths using this graphNodes compute shortest paths using this graph
3434
Improved Geographical ForwardingImproved Geographical Forwarding
3535
Remove overhead-prone Remove overhead-prone
periodic “hello” messagesperiodic “hello” messages
Used to learn the neighborsUsed to learn the neighbors
Replace them with Replace them with
distributed receiver-based distributed receiver-based
next hop electionnext hop election
Self-election based on Self-election based on
distance to destination, distance to destination,
received power, and distance received power, and distance
to senderto sender
Messages piggybacked on Messages piggybacked on
802.11 RTS/CTS802.11 RTS/CTS
3636
EvaluationEvaluation NS-2 simulator with 250 cars moving at 20-60mphNS-2 simulator with 250 cars moving at 20-60mph
– 15 concurrent CBR flows15 concurrent CBR flows Implemented a realistic vehicular traffic generatorImplemented a realistic vehicular traffic generator Average delivery rate: RBVT-R is 71% better than Average delivery rate: RBVT-R is 71% better than
AODV and 41% better than GSR AODV and 41% better than GSR Average end-to-end delay: RBVT-P is one order of Average end-to-end delay: RBVT-P is one order of
magnitude better than AODV and GSRmagnitude better than AODV and GSR
3737
Conclusions and Lessons LearnedConclusions and Lessons Learned
Smart phones and vehicular systems create large scale Smart phones and vehicular systems create large scale real-life mobile networksreal-life mobile networks
Significant amount of system/networking research Significant amount of system/networking research necessary to build applications over these networksnecessary to build applications over these networks
Testing in real-life conditions is a mustTesting in real-life conditions is a must
– Ideally, at a decent scale as wellIdeally, at a decent scale as well
Power is the most important resource of a mobile Power is the most important resource of a mobile systemsystem
Communication failures are the norm rather than the Communication failures are the norm rather than the exceptionexception
Applications must be able to adapt to context and be Applications must be able to adapt to context and be robust to sensing errorsrobust to sensing errors
3838
OutlineOutline
MotivationMotivation
MobiSoC: A middleware for mobile social computingMobiSoC: A middleware for mobile social computing
Migratory Services: A context-aware service model Migratory Services: A context-aware service model for mobile ad hoc networksfor mobile ad hoc networks
RBVT: Road-based routing using real-time traffic RBVT: Road-based routing using real-time traffic information in vehicular networksinformation in vehicular networks
ConclusionsConclusions
New projectsNew projects
– Mobius: A socially-aware peer-to-peer network infrastructureMobius: A socially-aware peer-to-peer network infrastructure
– Traffic safety using vehicular networks and sensor networksTraffic safety using vehicular networks and sensor networks
Mobius Network InfrastructureMobius Network Infrastructure
Decentralized two-tier Decentralized two-tier infrastructure for mobile infrastructure for mobile social computingsocial computing
P2P tierP2P tier– Manages social stateManages social state
– Runs user-deployed services Runs user-deployed services in support of mobile in support of mobile applications applications
– Dynamically adapts to the Dynamically adapts to the geo-social context to enable geo-social context to enable energy-efficient, scalable, and energy-efficient, scalable, and reliable applicationsreliable applications
Mobile tierMobile tier– Runs mobile applications and Runs mobile applications and
collects geo-social information collects geo-social information using ad hoc communicationusing ad hoc communication 3939
Application scenario: CommunityMultimedia Sharing System
Traffic Safety using VANET/Sensor Traffic Safety using VANET/Sensor Networks SymbiosisNetworks Symbiosis
Add road-side sensors that communicate among Add road-side sensors that communicate among themselves as well as with vehicles passing bythemselves as well as with vehicles passing by
Improvement over VANET-only solutionsImprovement over VANET-only solutions– Better detection of dangerous eventsBetter detection of dangerous events
– Better network connectivityBetter network connectivity
– Persistent location-based storagePersistent location-based storage
ResearchResearch– Communication protocols between vehicles and sensorsCommunication protocols between vehicles and sensors
– Programming API over this heterogeneous environmentProgramming API over this heterogeneous environment4040
4141
AcknowledgmentsAcknowledgments
Work sponsored by NSF grants:Work sponsored by NSF grants:
– CNS-0831753, CNS-0454081, IIS-0534520, IIS- 0714158 (mobile CNS-0831753, CNS-0454081, IIS-0534520, IIS- 0714158 (mobile
social computing)social computing)
– CNS-0520033, CNS-0834585 (vehicular networks)CNS-0520033, CNS-0834585 (vehicular networks)
Students: Students:
– Daniel Boston, Ankur Gupta, Achir Kalra, Josiane Nzouonta, Daniel Boston, Ankur Gupta, Achir Kalra, Josiane Nzouonta,
Neeraj RajgureNeeraj Rajgure
Collaborators: Collaborators:
– Grace Wang (CS), Quentin Jones (IS), Adriana Iamnitchi (Univ. of Grace Wang (CS), Quentin Jones (IS), Adriana Iamnitchi (Univ. of
South Florida), Liviu Iftode (Rutgers), Oriana Riva (ETH Zurich)South Florida), Liviu Iftode (Rutgers), Oriana Riva (ETH Zurich)
4242
Thank you!Thank you!
http://www.cs.njit.edu/~borcea/http://www.cs.njit.edu/~borcea/