cristian borcea department of computer science njit · users put together their pcs and mobile...

42
Lecture 3: Mobile Social Computing Cristian Borcea Department of Computer Science NJIT

Upload: others

Post on 08-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Lecture 3: Mobile Social Computing Cristian Borcea

Department of Computer Science

NJIT

Page 2: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

2

Improve social connectivity on-line

Stay in touch with friends

Make new friends

Find out information about events and places

Mobile versions: on-line social networking anytime,

anywhere

Page 3: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

More than just social networking anytime,

anywhere

New applications benefit from real-time location

and place information

In the near future, they will benefit from other types of

sensing/context information

Smart phones are the ideal devices

Always with us

Internet-enabled

Locatable (GPS or other systems) 3

Page 4: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

People-centric Are any of my friends in the cafeteria now?

Recommend interesting groups based on common geo-social patterns

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

Geo-tagged multimedia content associated to nearby places

System-centric Smart phones understand social context and silence themselves

during important meetings

Safely and automatically exchange data among mobile devices by

inferring trust from social relations

What software infrastructure is required to support such

applications? 4

Page 5: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Introduction

MobiSoC middleware

Mobius P2P middleware

Prometheus service for social data management

Social group identification

GPI

GDC

5

Page 6: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Common centralized 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

6

Page 7: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

7

Manages

History of social relations

Associations between people

and places

Emergent community

patterns

Real-time community

information

API for app development

Sharing done according to

user-specified privacy

constraints

(Mobile Social Computing Applications)

Page 8: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

8

Apps split between thin clients running on mobiles and services running on servers

App clients communicate synchronously with the services and receive asynchronous events from MobiSoC

Advantages Faster execution

Energy efficiency

Improved trust

Page 9: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

App services register privacy

statements on behalf of the users

Access control objects: conditions under

which a statement applies

Information objects: restricted information

Action objects: action to be taken in case

secondary entity tries to access information

defined by information object

MobiSoC verifies statements when

necessary

9

Page 10: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

10

Match Alert

MatchType=Hangout Time: 1-3PM

Co-Location: required

MatchType=Hangout Time: 2-4PM

Co-Location: required

Match Alert

Page 11: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

11

Cafeteria

Hungry

Page 12: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

12

contactMatches getSocialContacts(requester)

potentialTargets getPeopleAtPlace(“Cafeteria”)

For each user in contactMatches ∩ potentialTargets

pAction checkPrivacyConstraints(user, requester, “TzEvents”)

If pAction == AllowTzEvents

tzEvent.setTimeConstraints(now)

tzEvent.setLocationConstraints(“Cafeteria”)

tzEvent.setTargetUser(user)

tzEvent.setDescription(“Tranzact” + request + requester)

registerEvent (tzEvent)

Use Event Manager to register matches for delivery

Use People Profiling and People-Place Affinity modules to identify social contacts at the Cafeteria

Use Privacy module to check privacy constraints for users

Page 13: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

13

Page 14: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Runs on trusted servers

Service oriented architecture over Apache Tomcat

Core services written in JAVA

API is exposed to app services using KSOAP

▪ KSOAP is J2ME compatible and can be used to communicate with

clients

Client applications developed using J2ME on WiFi-enabled

Windows-based smart phones

Location engine: modified version of Intel’s Placelab

Works indoors and outdoors (WiFi fingerprinting)

Accuracy 10-15 meters

14

Page 15: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Introduction

MobiSoC middleware

Mobius P2P middleware

Prometheus service for social data management

Social group identification

GPI

GDC

15

Page 16: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Mobile devices interact with centralized services Not scalable

Lack of flexibility in service provisioning

Big brother scenarios

Mobile devices interact via ad hoc communication Limited functionality due to network partitioning

Lack of trust

Mobile devices interact directly over the Internet Difficult to provide persistent services due to limited resources

(especially battery power, but also CPU and bandwidth)

16

Page 17: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Decentralized 2-tier middleware Users put together their PCs and mobile devices to create a

community infrastructure

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

Manage social state and data

Adapt to geo-social context to improve performance and enable

energy efficiency in the Mobile tier

P2P advantage over cloud: free & could provide better privacy

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

Collect geo-social information using ad hoc communication and share

it with the P2P tier 17

Page 18: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Centralized alternative Global view of social state, easy to infer emergent patterns across all

users

“Big brother” issue

Mobius alternatives Share everything – same with centralized for inferring patterns (but

slower) & worse for privacy

Don’t share anything (social data stored only on user’s devices) -

identify individual patterns & best privacy

Share within community – identify patterns for community & could be

better than centralized for privacy

18

Page 19: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Application specific Need to input data for each new application

Cannot benefit from information aggregation across

applications

Typically, data are owned by applications: users

don't have control over their data

Hidden incentives to have many "friends": social

information not accurate

19

Page 20: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

P2P social data management service

Receives data from social sensors that collect application-specific

social information

Represents social data as decentralized social graph

Exposes API to share social information with applications according

to user access control policies

SOCIAL

SENSORSSOCIALLY-

AWARE APPS

CallCensor

Foursquare`

`` `

`

`

`

PROMETHEUS

Loopt

20

Page 21: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Social sensors report edge information to Prometheus:

<ego, alter, activity, weight>

Applications installed by user on personal devices

Aggregate & analyze history of user's interactions with other users

Two types of social ties

Object-centric: use of similar resources

▪ Examples: tagging communities on Delicious, repeatedly being

parts of the same BitTorrent swarms

People-centric: pair-wise or group relationships

▪ Examples: friends on Facebook, same company name on LinkedIn,

co-location from mobile phones

21

Page 22: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Multi-edged, directed, weighted, labeled graph Each edge → a reported social activity

Weight → interaction intensity

Directionality reflects reality ▪ Allows for fine-grain privacy

▪ Prevents social data manipulation

22

Page 23: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Each user has a set of trusted peers in the P2P network

Peers it owns & peers owned by trusted users

Each user’s sub-graph stored on all its trusted peers

Improved availability in face of P2P churn

P2P multicast used to synchronize information among trusted peers

User ID

Owns Peer

Trust Peer

A --- 1,2

B 1 1,2

C 2 1,2,3

D 3 2,3,4,5

E 4 3,4

F 5 3,5

ALL PEERS

A

C F

EB

D

<music,0.15>

<music,0.25>

<football,0.3>

<music,0.1>

<foot

ball,0.

2>

<mus

ic,0

.1>

<hiking

,0.2

5>

<foot

ball,0.

3>

<mus

ic,0

.3>

<fo

otb

all,

0.3

>

<m

usic

,0.2

>

<foot

ball,0.

3>

<mus

ic,0

.25>

<hiking,0.3>

<football,0.3>

<music,0.1>

<hiking,

0.2>

PEER 1

A

C

B

D

<music,0.15>

<music,0.25>

<football, 0.3>

<music, 0.1>

<foot

ball, 0

.2>

<mus

ic, 0

.1>

<hiking,0.25><football,0

.3><music,0.3>

<football,0.2>

<fo

otb

all,

0.3

>

<m

usic

,0.2

>

<football,0.2>

<football,0.1>

E

23

Page 24: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

24

Sensor data stored encrypted in P2P network Improves availability and protects privacy

Sensors encrypt data with trusted group public key & sign with user

private key

Trusted peers retrieve user data, decrypt it & create graph

Group

Public Key

Private Key

User

Public Key

Private Key

Page 25: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Five social inference functions:

Boolean relation_test (ego, alter, ɑ, w)

User-List top_relations (ego, ɑ, k)

User-List neighborhood (ego, ɑ, w, radius)

User-List proximity (ego, ɑ, w, radius, distance)

Double social_strength (ego, alter)

▪ Ego & alter don’t have to be directly connected

▪ Normalized result: consider ego’s overall activity

▪ Search all 2-hop paths

25

Page 26: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Socially-aware incoming call filtering Ring/vibrate/silence phone based on current social context and

relationship with caller

Invokes proximity() to determine current social context

social_strength() to determine relationship with caller 26

Page 27: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

27

1st hop

2nd hop 1st hop

1. Application sends request to a peer 2. Peer forwards request to trusted peer 3. Trusted peer enforces ACPs 4. Trusted peer sends secondary requests 5. Trusted peers enforce ACPs & reply 6. Primary peer combines results 7. Primary peer replies to application through

contacted peer with final result

Page 28: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

User specifies ACPs upon registration ACPs stored on user’s trusted peer group

Update them at any time

▪ Changes propagated through multicast mechanism

Applied for each inference request

Control relations, labels, weights & locations Example: Alice’s ACPs

relations: hops-2

hiking-label: lbl-hiking

work-label: lbl-work

general-label: ---

weights: ---

location: hops-1

blacklist: user-Eve 28

Page 29: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

FreePastry Java implementation

with support for

DHT (Pastry)

P2P storage (Past)

Multicast (Scribe)

Social graph management

implemented in Python

29

Page 30: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Introduction

MobiSoC middleware

Mobius P2P middleware

Prometheus service for social data management

Social group identification

GPI

GDC

30

Page 31: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Informally: groups of people who meet face to face

Formal definition: Homans’ sociology book “The Human

Group”

Groups can be used in social or socially-aware

applications

Data forwarding in delay-tolerant ad hoc networks

Recommender systems: recommend concerts to people who go to concerts together

Enhance place semantics for group meeting places using group member profiles (if known)

How to detect groups automatically? 31

Page 32: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Group attendance is variable

People may be merely passing near a group, not

remaining part of it

Group members spend different lengths of time

with the group

Sampling frequency and user mobility can affect

data completeness

32

Page 33: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Identifies previously unknown social groups and their

associated places

Clusters user mobility traces across time and space

Relies on repeated user co-presence at the same place to determine

group members and meeting places

Intuition: group members have a much higher degree of co-presence than non-group members

Experimental results

Mobility traces from 20 users carrying smart phones over one month

period

Identified all groups and places (place accuracy < 10 meters)

33

Page 34: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

0.1 0.2 0.3

Ave

rag

e p

erc

en

tag

e o

f g

rou

p m

em

be

rs id

en

tifie

d

RCP - Required degree of co-presence between X and Y w.r.t. TGM

TGM=50, NGMF=0.1

GMF=0.3

GMF=0.5

GMF=0.7

GMF=0.9

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

0.1 0.2 0.3

Avera

ge p

erc

enta

ge o

f non

-gro

up m

em

bers

identifie

d

RCP - Required degree of co-presence between X and Y w.r.t. TGM

TGM=50, NGMF=0.1

GMF=0.3

GMF=0.5

GMF=0.7

GMF=0.9

Identified over 96% of members, when meeting attendance frequency at least 50%

Less than 1% false positives 34

Page 35: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Advantages

Improved location privacy

Low power consumption

Practicality due to Bluetooth ubiquity in mobile phones

Accuracy due to Bluetooth transmission range

User Seen Time

A B 1:00

B A 1:05

INTERNET

A B 1:07

A B

C

B C 1:05

A C 1:07

35

Page 36: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

1. Transform raw Bluetooth records into meeting records between pairs of users

2. Discover and record all combinations of users appearing at the same meeting (user clusters)

3. Resolve differences in user perspectives on shared clusters

4. Select all significant clusters and output as user groups

36

Page 37: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Compare GDC and K-Clique

K-Clique uses a time threshold to select graph edges

Experiments

Collected data from mobile phones carried by 100+

volunteer students on campus for one month

Run GDC and K-Clique on collected data

▪ Also tested on Reality Mining data from MIT [Ref 6]

Ask users to rank groups using Likert Scale

▪ 1 to 5; 5 is best

37

Page 38: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

GDC groups rated 30% better than K-Clique’s GDC groups are guaranteed to meet

Not all K-Clique groups meet

Some GDC groups are rated poorly because members don’t know their names

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Very Bad Bad OK Good Very Good

Percenta

ge o

f Tota

l R

ati

ng

s

Rating Category

K-Clique GDC

38

Page 39: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Executed on the phones without server support Phones decide when and what data to exchange

▪ Exchange over Internet or ad hoc

Benefits Better privacy

▪ Avoid “Big Brother” scenario

▪ Ability to control message exchange on a per-case basis

Resiliency: no bottleneck & no single point of failure

Flexibility: each user controls how often to run

D-GDC

Used as social sensor in Prometheus

39

Page 40: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

Select next hop based on social group knowledge Membership in the same group(s) with destination

Higher degree (i.e., more socially connected)

▪ Global

▪ Local 40

Page 42: Cristian Borcea Department of Computer Science NJIT · Users put together their PCs and mobile devices to create a community infrastructure P2P tier: provides support for mobile applications

1. Two decades of mobile computing

2. Infrastructure support for mobility

3. Mobile social computing

4. People-centric sensing

Smart phone sensing

Activity recognition on smart phones

Vehicle sensing

5. Programming mobile ad hoc networks

6. Vehicular computing and networking

7. Privacy and security in mobile computing

42