p2p systems meet mobile computing a community-oriented software infrastructure for mobile social...

15
P2P Systems Meet Mobile P2P Systems Meet Mobile Computing Computing A Community-Oriented Software A Community-Oriented Software Infrastructure for Mobile Social Infrastructure for Mobile Social Applications Applications Cristian Borcea Cristian Borcea * * , Adriana , Adriana Iamnitchi Iamnitchi + + * New Jersey Institute of Technology New Jersey Institute of Technology + University of South Florida University of South Florida

Upload: ralf-parrish

Post on 25-Dec-2015

219 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

P2P Systems Meet Mobile P2P Systems Meet Mobile Computing Computing

A Community-Oriented Software A Community-Oriented Software Infrastructure for Mobile Social Infrastructure for Mobile Social

Applications Applications

Cristian BorceaCristian Borcea**, Adriana , Adriana IamnitchiIamnitchi++

**New Jersey Institute of TechnologyNew Jersey Institute of Technology++University of South FloridaUniversity of South Florida

Page 2: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

22

Social Computing in the InternetSocial Computing in the Internet

Social networking applications improve social Social networking applications improve social

connectivity connectivity

– Share news, photos, etcShare news, photos, etc

– Find out information about events and placesFind out information about events and places

– Create and/or maintain communitiesCreate and/or maintain communities

LinkedInLinkedInMyspaceMyspace FacebookFacebook

Page 3: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

• 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#

33

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)

Page 4: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

44

Application ExamplesApplication Examples People-centricPeople-centric

– Are any of my friends in the cafeteria now?Are any of my friends in the cafeteria now?

– Recommend interesting groups based on common geo-social Recommend interesting groups based on common geo-social patternspatterns

Place-centricPlace-centric– Which are the places where CS students hang out?Which are the places where CS students hang out?

– Geo-tagged multimedia content associated to nearby placesGeo-tagged multimedia content associated to nearby places

System-centricSystem-centric– Smart phones understand social context and silence Smart phones understand social context and silence

themselves during important meetingsthemselves during important meetings

– Safely and automatically exchange data among mobile Safely and automatically exchange data among mobile devices by inferring trust from social relationsdevices by inferring trust from social relations

What software infrastructure is required to support What software infrastructure is required to support such applications?such applications?

Page 5: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

55

Desired Infrastructure FeaturesDesired Infrastructure Features

Capture, manage, and share community geo-social Capture, manage, and share community geo-social data and state data and state

– History of social relationsHistory of social relations

– Associations between people and placesAssociations between people and places

– Emergent community patternsEmergent community patterns

– Real-time community informationReal-time community information

– Sharing done according to user-specified privacy constraintsSharing done according to user-specified privacy constraints

Scale to very large user populations and amounts of Scale to very large user populations and amounts of datadata

Provide high service and data availabilityProvide high service and data availability

Adapt to application/user dynamicsAdapt to application/user dynamics

Save battery power on mobile devicesSave battery power on mobile devices

Page 6: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

66

Existing SolutionsExisting Solutions Mobile devices interact via one-hop spontaneous ad hoc Mobile devices interact via one-hop spontaneous ad hoc

communicationcommunication– Limited functionalityLimited functionality

– Lack of trustLack of trust

Mobile devices interact with centralized servicesMobile devices interact with centralized services

– Not scalableNot scalable

– Lack of flexibility in service provisioningLack of flexibility in service provisioning

– Big brother scenariosBig brother scenarios

How about a potential scenario where mobile devices How about a potential scenario where mobile devices interact directly over the Internet?interact directly over the Internet?– Difficult to provide persistent services due to limited Difficult to provide persistent services due to limited

resources (especially battery power, but also CPU and resources (especially battery power, but also CPU and bandwidth)bandwidth)

Page 7: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

77

MobiusMobius

Decentralized 2-tier infrastructureDecentralized 2-tier infrastructure– Users put together their PCs and mobile devices to create a Users put together their PCs and mobile devices to create a

community infrastructurecommunity infrastructure

P2P tier: provides support for mobile applicationsP2P tier: provides support for mobile applications– Offer persistent services (core or user-deployed) Offer persistent services (core or user-deployed)

– Manage social state and dataManage social state and data

– Adapt to geo-social context to improve performance and Adapt to geo-social context to improve performance and enable energy efficiency in the Mobile tierenable energy efficiency in the Mobile tier

Mobile tier: runs mobile applicationsMobile tier: runs mobile applications– Interact with services provided by the P2P tierInteract with services provided by the P2P tier

– Collect geo-social information using ad hoc communication Collect geo-social information using ad hoc communication and share it with the P2P tierand share it with the P2P tier

77

Page 8: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

88

Application Scenario: Application Scenario: Community Multimedia Sharing Community Multimedia Sharing

(1)(1)

Alice

Bob’s service

Mobile tier

P2P tier

Registerservice

Jane

Mike

Download mobileapplication for Bob’s service

Service discovery service

Alice, Mike &Jane friends

Bob’s service enable mobile Bob’s service enable mobile users to upload & share users to upload & share multimedia contentmultimedia content

Sharing community is Sharing community is specified according to type specified according to type and strength of social tiesand strength of social ties

Page 9: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

99

Application Scenario: Application Scenario: Community Multimedia Sharing Community Multimedia Sharing

(2)(2)

Alice

Bob’s service

Mobile tier

StorePhoto

P2P tier

Upload Photo

Jane

Jane’s PC

Event notificationservice

Mike

Ad Hoc Collection of Jane’s Social Context Data

Notify Alice’sFriends

EventNotification

DownloadPhoto

Service discovery service

Servicediscovery

Page 10: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

1010

P2P Tier ArchitectureP2P Tier Architecture

Service 1Service 1 Service 2Service 2 Service nService n

Service APIService API

EventEventManagerManager

OffloadingOffloadingAdmissionAdmission

ServiceServiceDiscoveryDiscovery

NetworkNetwork

Privacy/Security Policy EnforcementPrivacy/Security Policy Enforcement

Core Services for Mobile TierCore Services for Mobile Tier

DataDataEmergent Emergent Geo-Social Geo-Social

Pattern Pattern LearningLearning

ServiceService

Geo-Social P2P ServicesGeo-Social P2P Services

Social Social StateState

Geo-Socially Aware P2P ManagementGeo-Socially Aware P2P Management

Geo-Geo-Social Social DataData

Collection Collection

OverlaOverlayy

ContextContextProviderProvider

Page 11: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

Geo-socially Aware P2P AdaptabilityGeo-socially Aware P2P Adaptability

Storing and replicating (when necessary) user generated Storing and replicating (when necessary) user generated contentcontent– Examples: Store my data only on my friends’ PCs. Replicate Examples: Store my data only on my friends’ PCs. Replicate

content “closer” to the community that accesses itcontent “closer” to the community that accesses it

Creating and terminating service instancesCreating and terminating service instances– Example: Dynamically replicate overloaded community services Example: Dynamically replicate overloaded community services

on other community PCson other community PCs

Offloading applications from mobile tier to P2P tierOffloading applications from mobile tier to P2P tier– Example: To save energy on my smart phone, run a Example: To save energy on my smart phone, run a

computationally intensive application either on my PC or on my computationally intensive application either on my PC or on my friends’ PCsfriends’ PCs

Decisions based on individual, community, or system-Decisions based on individual, community, or system-wide policies (e.g., privacy, security, performance wide policies (e.g., privacy, security, performance optimizations)optimizations)

1111

Page 12: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

1212

Mobile Node ArchitectureMobile Node Architecture

1212

Application Application 11

Application Application 22

Application Application nn

Mobile APIMobile API

EventEventDispatcheDispatche

rr

ResourceResourceMonitorMonitor

Ad HocAd HocSocial ContextSocial Context

OffloadingOffloadingManagerManager

LocationLocationEngineEngine

Operating SystemOperating System

Why ad hoc social context?Why ad hoc social context?– Could be more reliable than user-declared social contextCould be more reliable than user-declared social context– No need for user’s explicit context sharingNo need for user’s explicit context sharing– Merged with on-line social context for better results Merged with on-line social context for better results

Page 13: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

Social State vs. Privacy/TrustSocial State vs. Privacy/Trust

Centralized alternativeCentralized alternative

– Social state maintained centralized, easy to infer emergent Social state maintained centralized, easy to infer emergent patterns across all userspatterns across all users

– ““Big brother” issueBig brother” issue

Mobius alternativesMobius alternatives

– Share everything – same with centralized for inferring patterns Share everything – same with centralized for inferring patterns (but slower) & worse for privacy(but slower) & worse for privacy

– Don’t share anything (social data stored only on user’s PC) - Don’t share anything (social data stored only on user’s PC) - identify individual patterns & best privacyidentify individual patterns & best privacy

– Share within community – identify patterns for community & Share within community – identify patterns for community & could be better than centralized for privacycould be better than centralized for privacy

1313

Page 14: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

1414

ConclusionsConclusions

Mobile social computing applications can be deployed Mobile social computing applications can be deployed in real-life todayin real-life today

Mobius provides a flexible, scalable, and efficient Mobius provides a flexible, scalable, and efficient approach to program such applicationsapproach to program such applications

Main noveltyMain novelty

– P2P infrastructure for a new class of applications P2P infrastructure for a new class of applications (mobile social computing)(mobile social computing)

– Geo-social knowledge used in P2P infrastructure for Geo-social knowledge used in P2P infrastructure for self-adaptive management techniquesself-adaptive management techniques

Page 15: P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *

1515

Thank you!Thank you!

http://www.cs.njit.edu/~borceahttp://www.cs.njit.edu/~borcea

Acknowledgment: Work sponsored by NSF Acknowledgment: Work sponsored by NSF grants grants CNS-0831753, CNS-0454081CNS-0454081