Preference-Aware Content Dissemination in Mobile Social Networks

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
Motivation
User contribution:
The number of useful
contacts that the user
can encounter after it
becomes a forwarder
those users who have high
contact frequency may belong
to the same community
9
Idea
• Due to the limitation of the transmission time,
nodes should take both contact time and
contribution into account
• Challenge:
Carol
– Contribution
– Contact duration
Contribution 1.3
Duration
1
Daniel
Carol
Bob
Daniel
Contribution 0.5
Duration
Contribution 1.8
Alice
2
Duration
2
Bob
10
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 time
Goal:
Distribute the message to as many users as
possible before the deadline Tmax expires
11
Motivating Example 1
• Contact users with different contact duration
Candidate receivers
Relay node
A
Contact duration
(relay, receivers)
B
C
A
B
C
→ A
B
C
Select the receivers that have the shortest contact duration first
12
Motivating Example 2
• Contact users with the same contact duration,
yet different contributions
Contribution:
Candidate receivers
Relay node
A
A: 1.2
B
B: 0.9
C
C: 0.5
→
A
B
C
A
B
C
Select the receivers that have the largest contribution first
13
Motivating Example 3
• Contact users with different contact durations
and contributions
Contribution:
Candidate receivers
Relay node
A
A: 1.3
B
B: 0.9
C
C: 0.5
C
A
→
B
CCX B
A
A
Take both contact duration and contribution into account
14
Forwarding Scheduling Problem
Contribution of
user j at time t
Whether user j can download
the message at time t
dij
Subject to:
j
j
ts
contribution =
te

t
j
contribution = 0
• Backward induction algorithm
– Run in pseudo-polynomial time O(δ|Gi|)
15
Backward Induction Algorithm
Candidate receivers
Relay node
Contribution:
A: 0.5
A
B
B: 0.2
C
C: 0.7
D
D: 0.2
E
A
C
E
A
C
X
E
A
C
B
E
→
B
X
E: 0.4
B
16
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)
17
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 :
vg = <b1, b2,…,bk,…>
• Similarity between two events g and g’
– Hamming distance between v g and v g '
V1 = <01100>
Similarity 12 = -2
V2 = <01001>
18
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
C2
dij = ∑dij(g) / |C2|
New event
Average duration between i and j in
events belong to cluster C2
C1
C3
History events that include i and j
19
Performance
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
21
Accuracy of Contribution Estimation
45
ranking of accurate contribution
40
35
30
25
20
15
10
5
0
0
5
10
15
20
25
30
35
40
45
ranking of estimated contribution
22
Accuracy of Duration Estimation
• CDF of Estimation Error
31%
84%
49%
74%
23
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.
24
Receive nodes vs. Deadline
1800
1600
improve
145%
# receive nodes
1400
1200
1000
Oracle
DIFUUSE
800
PROPHET
600
Epidemic
400
200
coverage
0
0
1/7
2/7
3/7
4/7
5/7
6/7
1
deadline (day)
25
Histogram of contribution of each user
3.5
# nodes(log10)
3
2.5
2
Oracle
DIFUUSE
1.5
PROPHET
1
Epidemic
0.5
0
1
2
3
4
5
6
7
8
9
10
# contribution nodes of one source
26
Receive nodes vs. File size
3%
4
25%
# receive nodes(log10)
3.5
101%
3
185%
2.5
Oracle
2
DIFFUSE
1.5
PROPHET
1
Epidemic
0.5
0
10
20
30
40
file size (MB)
It becomes more important to select receivers when transmission
time becomes long because only few contacts can get the copy
27
Percentage of the groups
with relay node
% groups with relay node
25
20
15
Oracle
DIFFUSE
10
PROPHET
Epidemic
5
0
10
20
30
40
file size (MB)
Our scheme can disseminate the copy to more different groups
28
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
29
PrefCast
Existing Dissemination Protocols
Speed up content dissemination
without considering heterogeneous user
preferences for various content objects
PrefCast
A content dissemination protocol that
maximally satisfies user preference
Naïve
Solution
To maximize A
local
utility,
the forwadrer should
broadcast
object
1
• Broadcast the object that maximizes the utility
Toofmaximize
global
utility,
the
forwarder
should
local contacts
broadcast object 2
– Suboptimal: Neglect the impact of future contacts
Say the contact duration only
allows F to broadcast 1 object
GA
(u1,u2)=(10,5)
A
(5,8)
A
F
(5,3)
B
B
Local
contribution Total
(2,10)
GB
B
A
(3,10)
(3,8)
u1
u2
10
5
A + GA
5
3
15
8
B + GB
Global
contribution Total
u1
u2
20
33
8
11
28
44
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?
GA
A
A
(5,8)
(3,10)
??
(2,10)
2. How to Find the Forwarding Schedule?
• Each contact has a different contact duration
D
A
F
B
C
Intuitively, should give a
contact with a short contact
duration a higher priority
E
E
D
C
B
A
Transmission time of one object
time
• 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
å
W = max
*
x
Subject to
åx
g
m,t
xm,t w
mÎM,tÎT
m,t
£1, "t Î T
Global contribution of
forwarding object m at time t
Single item per time slot
mÎM
åx
tÎT
m,t
£1, "m Î M
xm,t = {0,1}, "t Î T, m Î M
Broadcast once per object
Maximal Weight Bipartite Matching
m1
Objects
m2
m3
m4
ωgm1,t1
Time-slots
•
•
•
•
•
ωgm4,t3
t1
t2
t3
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]
• Take future contribution into account
– How to predict future contribution?
– Utility contribution estimation ωgm,t
• Broadcast the objects of interest within
limited contact duration
– Given future contribution estimation, how to find
the optimal forwarding schedule
– Optimal forwarding scheduling algorithm
Estimating Global Utility Contribution
g
m,t
w
=
{
å
i iÎV t ,mÏM it ,t<t +d fi
Vτ = {A, B, C, D, E}
U(i, m, t)
}
Future contribution that i can
generate if it gets object m at time t
A already has object m
C and D leave before time-slot t
E
D
C
B
U(E,m,t)
U(B,m,t)
A
t
wgm,t=U(B,m,t) +U(E,m,t)
time
t =t +2
Estimating Future Utility Contribution
• Future contribution: U(i,m,t)
time
U(B,m,t)
B
Texpire
t
Contribute object m to other users between (t,Texpire)
– 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
Computed by neighbor B
 Forwarder makes decision in a distributed manner
Performance
Simulation Settings
• Traces
NUS
Infocom MIT
SLAW (synthetic model)
No. of users 500/2234
1
78
97
500
Duration
16(hr)
35 (days) 10(hr)
77(hr)
• User preference profile
– Last.fm
– 8,000 users
– 100 favorite songs
– Classify by singers
Singers
Acen
1
Adriana Evans
3
Air
5
Bit Shifter
6
Caro Emerald
2
…
…
Cumulative Utility
Average utility
15
- PrefCast
- Local Utility
- Epidemic Routing
10
5
0
5
15
25 35 45 55
Time-slot (hours)
65
75
(a) NUS
(b) infocom
(c) MIT
(d) SLAW
Improve
the average utility
by ~25%
Cumulative
Utility
20
PrefCast
Local Utility
Epidemic Routing
10
Average utility
Average utility
15
5
0
15
10
PrefCast
Local Utility
Epidemic Routing
5
0
5
15
25 35 45 55
Time-slot (hours)
65
75
2
4
6
8
10 12
Time-slot (hours)
(a) NUS
25
PrefCast
Local Utility
Epidemic Routing
20
16
9
10
(b) infocom
Average utility
Average utility
25
14
15
10
5
0
PrefCast
Local Utility
Epidemic Routing
20
15
10
5
0
5
10
15
20
25
Time-slot (days)
(c) MIT
30
35
1
2
3
4 5 6 7 8
Time-slot (hours)
(d) SLAW
Impact of Number of Users
35
average utility
30
25
20
15
10
5
0
1
2
3
4
5
6
7
time slot (hours)
SLAW
8
9
10
Impact of Number of Users
PrefCast (250 users)
Local Utility (250 users)
PrefCast (200 users)
Local Utility (200 users)
PrefCast (150 users)
Local Utility (150 users)
35
average utility
30
25
20
15
10
5
0
1
2
3
4
5
6
7
time slot (hours)
8
9
10
Impact of Number of Users
PrefCast (250 users)
Local Utility (250 users)
PrefCast (200 users)
Local Utility (200 users)
PrefCast (150 users)
Local Utility (150 users)
35
average utility
30
25
20
15
10
5
0
1
2
3
4
5
6
7
time slot (hours)
8
9
10
Impact of Number of Users
PrefCast (250 users)
Local Utility (250 users)
PrefCast (200 users)
Local Utility (200 users)
PrefCast (150 users)
Local Utility (150 users)
35
average utility
30
25
20
15
10
5
0
1
2
3
4
5
6
7
time slot (hours)
8
9
10
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