Content Dissemination in Mobile Social Networks Cheng-Fu Chou
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