Content Dissemination in Mobile Social Networks Cheng-Fu Chou

Preview:

Citation preview

Content Dissemination in Mobile Social Networks

Cheng-Fu Chou

Content Dissemination in Mobile Social Networks• Users intrinsically form a mobile social network – Ubiquitous mobile devices, e.g., smart phone– Proximity-based sharing capability, e.g., WiFi, or

bluetooth

1. Opportunistically distribute content objects

2. Offload 3G/4G traffic

Delay Tolerant Networks• DTN: – No network infrastructures– intermitted network connections– Unpredictable node mobility

Unicast in DTN• Unicast routing – Constraint: buffer size, hop count, …

• Existing works– Probability-based forwarding

• Delivery probability• A. Lindgren, A. Doria, et al. "Probabilistic routing in

intermittently connected networks," In Proc. SAPIR, 2004.

– Social-based forwarding• Social properties, such as centrality and communities• E.M. Daly, M, Haahr, “Social network analysis for routing

in disconnected delay-tolerant MANETs,” In ACM MobiHoc,2007

Multicast in DTN• Multicast routing– Delivering to a set of given destinations– Goal: minimize delay, maximize delivery rate• W. Gao, Q. Li, et al. “Multicasting in Delay Tolerant

Networks, A Social Network Perspective,” In ACM MobiHoc,2009

Content Dissemination• Content Dissemination– No specific destinations • e.g., information broadcasting, content (audio/video)

publishing

– Distribute content to as many users as possible • Cellular Traffic Offloading [Bo Han et al. , CHANTS’10]

– Offload cellular traffic through opportunistic communication

– Focus on cellular communication target set selection

Ours• DIFFUSE [TVT’11]– Single content diffusion in MSNs

• Ad propagation or audio/video content dissemination

– Different from related work• No specific destinations• Forward to as many users as possible• Transmission time is non-neglected

– Unicast

• PrefCast [Infocom’12]– Multi-content disseminations in a MSN – Satisfying all users’ preference as much as possible– Focusing on the content broadcasting strategy

DIFFUSE

9

Motivation

those users who have high contact frequency may belong to the same community

User contribution: The number of useful contacts that the user can encounter after it becomes a forwarder

10

Idea• Due to the limitation of the transmission time,

nodes should take both contact time and contribution into account

• Challenge: – Contribution– Contact duration

Alice

Bob

CarolDaniel

Carol

Contribution 1.3

Duration 1

Bob

Contribution 0.5

Duration 2

Daniel

Contribution 1.8

Duration 2

11

Problem Definition and Assumptions

• One source disseminates a single message• Relay node that can help propagate copy to those

who have not received the message• Discrete model with the time-slot size Ttx

(transmission time)• A user can only forward the message to a single

contact at a timeGoal: Distribute the message to as many users as possible before the deadline Tmax expires

12

Motivating Example 1• Contact users with different contact duration

→ A B C

Contact duration(relay, receivers)

Relay node

Candidate receivers

A

B

CCBA

Select the receivers that have the shortest contact duration first

13

Motivating Example 2• Contact users with the same contact duration,

yet different contributions

→ A B C

Relay node

Candidate receivers

A

B

C

Contribution:

A: 1.2

B: 0.9

C: 0.5 CBA

Select the receivers that have the largest contribution first

14

Motivating Example 3• Contact users with different contact durations

and contributions

→ C B A

Relay node

Candidate receivers

A

B

C

Contribution:

A: 1.3

B: 0.9

C: 0.5

C B AA B

C X

Take both contact duration and contribution into account

15

Forwarding Scheduling Problem

• Backward induction algorithm– Run in pseudo-polynomial time O(δ|Gi|)

Subject to:

Whether user j can download the message at time t

dij

ts te

contribution = 0

j j

t

jcontribution =

Contribution of user j at time t

Backward Induction Algorithm

E A C X X B

→ E A C B

16

Relay node

Candidate receivers Contribution:A: 0.5

B: 0.2

C: 0.7

D: 0.2

E: 0.4

A

B

C

D

EBCAE

17

Estimate of contribution

• Duration between t and Tmax

• How many users that do not own object m have contacts with user B between (t,Tmax)

18

Estimate of contact duration• Motivation: Average contact duration is too rough• The duration of a contact is correlated to the event

that they join• Characterize each event g by a vector : = <b1, b2,…,bk,…>• Similarity between two events g and g’– Hamming distance between and

vg

vg 'gv

V1 = <01100>

V2 = <01001>Similarity 12 = -2

19

Estimate of contact duration• Contacts in two events are more likely to have

the same duration if these events are composed of the same subset of users

• Cluster-based estimation

New event

dij = ∑dij(g) / |C2|

Average duration between i and j in events belong to cluster C2

C2

C1

C3

History events that include i and j

Performance

21

Performance Evaluation

• Experiment Setting– Real trace from class schedule of University of

Singapore– Bluetooth with the throughput 128kbps– One randomly selected source that transmits a file

with the size 30MB• Evaluation– Accuracy of contribution and contact duration

estimation– Performance of DIFFUSE

22

Accuracy of Contribution Estimation

0 5 10 15 20 25 30 35 40 450

5

10

15

20

25

30

35

40

45

ranking of estimated contribution

rank

ing

of a

ccur

ate

cont

ributi

on

23

Accuracy of Duration Estimation• CDF of Estimation Error

31%

49%74%

84%

24

Comparison schemes• Oracle– Contribution: number of users that have not got the copy

in the system– Exact contact duration

• Epidemic– each relay node randomly selects a contact as the

receiver at each time-slot– A. Vahdat and D. Becker, “Epidemic Routing for Partially Connected Ad Hoc

Networks,” Technical Report CS-200006, Duke University, Tech. Rep., 2000.

• PROPHET– estimate the probability of contact between a relay and

the destination– A. Lindgren, A. Doria, et al. Probabilistic routing in intermittently connected networks. In

Proc. SAPIR, 2004.

25

Receive nodes vs. Deadline

0 1/7 2/7 3/7 4/7 5/7 6/7 10

200

400

600

800

1000

1200

1400

1600

1800

OracleDIFUUSEPROPHETEpidemic

deadline (day)

# re

ceiv

e no

des

improve 145%

coverage

26

Histogram of contribution of each user

1 2 3 4 5 6 7 8 9 100

0.5

1

1.5

2

2.5

3

3.5

OracleDIFUUSEPROPHETEpidemic

# contribution nodes of one source

# no

des(

log1

0)

27

Receive nodes vs. File size

101%

185%

3%25%

10 20 30 400

0.5

1

1.5

2

2.5

3

3.5

4

OracleDIFFUSEPROPHETEpidemic

file size (MB)

# re

ceiv

e n

odes

(log1

0)

It becomes more important to select receivers when transmission time becomes long because only few contacts can get the copy

28

Percentage of the groups with relay node

10 20 30 400

5

10

15

20

25

OracleDIFFUSEPROPHETEpidemic

file size (MB)

% g

roup

s with

rela

y no

de

Our scheme can disseminate the copy to more different groups

29

Conclusions• Propose a backward induction algorithm for

content diffusion in MSNs• Consider the impact of contribution and

contact duration, and provide prediction metrics

• Achieve better delivery ratio than Epidemic and PROPHET, even close to the solution with oracle information

PrefCast

Existing Dissemination ProtocolsSpeed up content dissemination

PrefCastA content dissemination protocol that

maximally satisfies user preference

without considering heterogeneous user preferences for various content objects

A Naïve Solution

• Broadcast the object that maximizes the utility of local contacts– Suboptimal: Neglect the impact of future contacts

(u1,u2)=(10,5)

(5,3)

(3,10)

(5,8)

(3,8)

A (2,10)

B

GA

GB

A

B

F

u1 u2

A 10 5

B 5 3

Total 15 8

u1 u2

A + GA 20 33

B + GB 8 11

Total 28 44

Local contribution

Globalcontribution

Say the contact duration only allows F to broadcast 1 object

To maximize local utility, the forwadrer should broadcast object 1

To maximize global utility, the forwarder should broadcast object 2

Our Goal

• Take future contribution into account– How to predict future contribution?

• Broadcast the objects of interest within limited contact duration– Given future contribution estimation, how to find

the optimal forwarding schedule

1. How to Predict Future Contribution?

• How many future contacts can be encountered by its current contact

• How to know the preference of those future contacts?

A

(3,10)

(5,8)(2,10)A

GA

??

2. How to Find the Forwarding Schedule?

• Each contact has a different contact duration

A

B

F

C E

D

timeABCDE

Transmission time of one object

Intuitively, should give a contact with a short contact duration a higher priority

• Take future contribution into account– How to predict future contribution?– Utility contribution estimation

• Broadcast the objects of interest within limited contact duration– Given future contribution estimation, how to find

the optimal forwarding schedule– Optimal forwarding scheduling algorithm

Maximum-Utility Forwarding Model When a forwarder f encounters a group of contacts M in a set of available time-slots T

Determine a forwarding schedule xm,t that maximizes preference contribution

Subject to

Global contribution of forwarding object m at time t

Single item per time slot

Broadcast once per object

Maximal Weight Bipartite Matching

• Constraint 1: Each time-slot can only connect to an object• Constraint 2: Each object can only be assigned one time-slot• Any bipartite matching is a feasible solution• The total utility contribution equals the weight of the matching• Maximum utility = Maximal weight bipartite matching

– Solved by the Hungarian algorithm [Kuhn-NRLQ’55]

m1 m2 m3 m4

t1 t2 t3

Objects

Time-slots

ωgm4,t3

ωgm1,t1

• Take future contribution into account– How to predict future contribution?– Utility contribution estimation

• Broadcast the objects of interest within limited contact duration– Given future contribution estimation, how to find

the optimal forwarding schedule– Optimal forwarding scheduling algorithm

ωgm,t

Estimating Global Utility Contribution

timeABCDE

Vτ = {A, B, C, D, E}

A already has object mC and D leave before time-slot t

U(E,m,t)

U(B,m,t)

Future contribution that i can generate if it gets object m at time t

wgm,t=U(B,m,t) +U(E,m,t)

Estimating Future Utility Contribution

• Future contribution: U(i,m,t)

– Duration between t and Texpire

– How may users that do not own object m have contacts with user B between (t,Texpire)

– Preference of user B’s contacts for object m

timeB U(B,m,t)

t Texpire

Contribute object m to other users between (t,Texpire)

Computed by neighbor B Forwarder makes decision in a distributed manner

Performance

Simulation Settings• Traces

• User preference profile– Last.fm– 8,000 users – 100 favorite songs– Classify by singers

NUS Infocom MIT SLAW (synthetic model)

No. of users 500/22341 78 97 500

Duration 77(hr) 16(hr) 35 (days) 10(hr)

SingersAcen 1

Adriana Evans 3

Air 5

Bit Shifter 6

Caro Emerald 2

… …

Cumulative Utility

5 15 25 35 45 55 65 7502468

10121416

Time-slot (hours)

Aver

age

utilit

y

(a) NUS (b) infocom

(c) MIT (d) SLAW

- PrefCast- Local Utility- Epidemic Routing

Cumulative Utility

5 15 25 35 45 55 65 7502468

10121416 PrefCast

Local UtilityEpidemic Routing

Time-slot (hours)

Aver

age

utilit

y

2 4 6 8 10 12 14 160

5

10

15

20

PrefCast Local UtilityEpidemic Routing

Time-slot (hours)

Aver

age

utilit

y

5 10 15 20 25 30 350

5

10

15

20

25 PrefCast Local UtilityEpidemic Routing

Time-slot (days)

Aver

age

utilit

y

1 2 3 4 5 6 7 8 9 100

5

10

15

20

25 PrefCast Local UtilityEpidemic Routing

Time-slot (hours)

Aver

age

utilit

y

Improve the average utility by ~25%

(a) NUS (b) infocom

(c) MIT (d) SLAW

Impact of Number of Users

1 2 3 4 5 6 7 8 9 100

5

10

15

20

25

30

35

time slot (hours)

aver

age

utilit

y

SLAW

Impact of Number of Users

1 2 3 4 5 6 7 8 9 100

5

10

15

20

25

30

35 PrefCast (250 users)Local Utility (250 users)PrefCast (200 users)Local Utility (200 users)PrefCast (150 users)Local Utility (150 users)

time slot (hours)

aver

age

utilit

y

Impact of Number of Users

1 2 3 4 5 6 7 8 9 100

5

10

15

20

25

30

35 PrefCast (250 users)Local Utility (250 users)PrefCast (200 users)Local Utility (200 users)PrefCast (150 users)Local Utility (150 users)

time slot (hours)

aver

age

utilit

y

Impact of Number of Users

1 2 3 4 5 6 7 8 9 100

5

10

15

20

25

30

35 PrefCast (250 users)Local Utility (250 users)PrefCast (200 users)Local Utility (200 users)PrefCast (150 users)Local Utility (150 users)

time slot (hours)

aver

age

utilit

y

The utility improvement increases when there are fewer users helping disseminate the object

Conclusions

• PrefCast: Distributed preference-aware content dissemination protocol for mobile social networks– Optimal forwarding scheduling model– Prediction of the future contributions

• Shown utility improvement via real traces and synthetic traces

Thank You

Recommended