Upload
theodore-wood
View
218
Download
0
Embed Size (px)
Citation preview
Context-Aware Interactive Content Adaptation
Iqbal Mohomed, Jim Cai, Sina Chavoshi, Eyal de LaraDepartment of Computer Science
University of Toronto
MobiSys2006
Need for Content Adaptation
• Mobile Devices have limited resources• Screen real-estate• Networking• Battery Life• User Interface• Memory• Processing Capability
Factors to Consider
• Content Usage Semantics
Factors to Consider
• Content Usage Semantics
• Context
WebServer
AdaptationProxy
URICA (EuroSys2006)
WebServer
AdaptationProxy
URICA (EuroSys2006)
WebServer
AdaptationProxy
URICA (EuroSys2006)
WebServer
AdaptationProxy
URICA (EuroSys2006)
Prediction
WebServer
AdaptationProxy
URICA (EuroSys2006)
Prediction
WebServer
AdaptationProxy
URICA (EuroSys2006)
Prediction
WebServer
AdaptationProxy
URICA (EuroSys2006)
Feedback
Prediction
WebServer
AdaptationProxy
URICA (EuroSys2006)
Feedback
Prediction
WebServer
AdaptationProxy
URICA (EuroSys2006)
Feedback
Prediction
WebServer
AdaptationProxy
URICA (EuroSys2006)
Feedback
Prediction
WebServer
AdaptationProxy
URICA (EuroSys2006)
Feedback
Prediction
WebServer
AdaptationProxy
URICA (EuroSys2006)
Feedback
Prediction
WebServer
AdaptationProxy
URICA (EuroSys2006)
Feedback
Prediction
Predictions based on History
0102030405060708090
100
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
Predictions based on History
0102030405060708090
100
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
0102030405060708090
100
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
Predictions based on History
0102030405060708090
100
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
0102030405060708090
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
sers
0102030405060708090
100
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
• Multiple Usages
• Multiple Context0
10
20
30
40
50
60
70
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
Challenge: Ambiguity in Feedback
• Multiple Usages
• Multiple Context0
10
20
30
40
50
60
70
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
Challenge: Ambiguity in Feedback
Challenge: Ambiguity in Feedback
0
10
20
30
40
50
60
70
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
Content
Group based on Context
Content
0
10
20
30
40
50
60
70
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
0
10
20
30
40
50
60
70
80
90
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# of
Use
rs
0
10
20
30
40
50
60
70
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
How?• A lot of context can differ across users
• E.g., Display size, Network Connectivity, Location, etc.
• Influential context can vary across content and type of adaptation• Cannot group users by fixed set of context characteristics
• Grouping based on all possible combinations of context is infeasible• Results in many groups, each with few members• Significant overhead maintaining many groups• Long time until convergence of predictions within groups
Contributions
• User feedback is used to identify context that influences adaptation requirements
• Group users into communities based on influential context
• Predictions for each community are made on the restricted history of its users
Feedback-driven Context Selection (FCS)
• All users are grouped together initially• System tracks adaptation history for different
contexts• We conduct a “profiling experiment”
when there is sufficient history• Would users have benefited if they were grouped
separately based on some context?• If so, split original group based on this context
Users 1 2 3 4 5 6
Desired Adaptation 4 9 4 5 8 9
Users 1 2 3 4 5 6
Desired Adaptation 4 9 4 5 8 9
Users 1 2 3 4 5 6
Desired Adaptation 4 9 4 5 8 9
To Split or Not to Split …
Users 1 2 3 4 5 6
Desired Adaptation 4 9 4 5 8 9
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
To Split or Not to Split …
Users 1 2 3 4 5 6
Desired Adaptation 4 9 4 5 8 9
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
PredictionUsingMeanPolicy
To Split or Not to Split …
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
PredictionUsingMeanPolicy
Users 1 2 3 4 5 6
Desired Adaptation 4 9 4 5 8 9
Distance From Prediction 3 2 3 2 1 2
To Split or Not to Split …
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
PredictionUsingMeanPolicy
Users 1 2 3 4 5 6
Desired Adaptation 4 9 4 5 8 9
Distance From Prediction 3 2 3 2 1 2
Average Distance: 2.17
To Split or Not to Split …
Users 1 3 4
Desired Adaptation 4 4 5
Users 2 5 6
Desired Adaptation 9 8 9
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
To Split or Not to Split …
Users 1 3 4
Desired Adaptation 4 4 5
Users 2 5 6
Desired Adaptation 9 8 9
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
To Split or Not to Split …
Users 1 3 4
Desired Adaptation 4 4 5
Distance From Prediction 0 0 1
Users 2 5 6
Desired Adaptation 9 8 9
Distance From Prediction 0 1 0
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
To Split or Not to Split …
Users 1 3 4
Desired Adaptation 4 4 5
Distance From Prediction 0 0 1
Users 2 5 6
Desired Adaptation 9 8 9
Distance From Prediction 0 1 0
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
Average Distance: 0.33
Average Distance: 0.33
To Split or Not to Split …
Users 1 3 4
Desired Adaptation 4 4 5
Distance From Prediction 0 0 1
Users 2 5 6
Desired Adaptation 9 8 9
Distance From Prediction 0 1 0
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
Overall Average Distance: 0.33
To Split or Not to Split …
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
Overall Average Distance: 0.33
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
Average Distance: 2.17 VS
To Split or Not to Split …
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
Overall Average Distance: 0.33
0
1
2
1 2 3 4 5 6 7 8 9 10
Desired Adaptation
# o
f U
se
rs
Average Distance: 2.17 VS
To Split or Not to Split …
It Depends!
Initial SituationAll Users in Same Community
Storage Requirements
Prediction Histogram
Storage Requirements
Storage Requirements
Storage Requirements
Context Grouping Histograms
Context A Context B
Storage Requirements
Context A Context B
Storage Requirements
Number of Histograms: 1 + 5 = 6
Context A Context B
Storage Requirements
Number of Histograms: 1 + 5 = 6
Storage Requirements
Prediction Histogram Prediction Histogram Prediction Histogram
Context GroupingHistograms
Context GroupingHistograms
Context GroupingHistograms
Storage Requirements
Context GroupingHistograms
Context GroupingHistograms
Context GroupingHistograms
Context B Context B Context B
Storage Requirements
Context B Context B Context B
Storage Requirements
Number of Histograms: 3 + (2 x 3) = 9Increase of 50%
Splitting Costs Memory
Number of Histograms
# Contexts # Context Values
Before Any Splits
After Initial Split
Increase
3 3
5 5
10 10
Splitting Costs Memory
Number of Histograms
# Contexts # Context Values
Before Any Splits
After Initial Split
Increase
3 3 10 21 11
5 5
10 10
Splitting Costs Memory
Number of Histograms
# Contexts # Context Values
Before Any Splits
After Initial Split
Increase
3 3 10 21 11
5 5 26 105 79
10 10
Splitting Costs Memory
Number of Histograms
# Contexts # Context Values
Before Any Splits
After Initial Split
Increase
3 3 10 21 11
5 5 26 105 79
10 10 101 910 809
Splitting Costs Memory
Number of Histograms
# Contexts # Context Values
Before Any Splits
After Initial Split
Increase
3 3 10 21 11
5 5 26 105 79
10 10 101 910 809
Splitting Can Be Expensive!
Splitting Economically• As long as space is available, splits can occur
• When system runs low on space, a score metric is used to rate splits
• Score is a function of:• Performance gain of a split• Access rate of object• Space Usage
• Splits with the highest scores are allowed to exist• Low score groups are merged together
Prototypes
• We developed two prototype systems:
• Page Layout Adaptation Prototype• Adapts display size and layout of images on
web pages for limited screen real-estate
• Fidelity Adaptation Prototype:• Adapts image quality to save bandwidth
consumption
User Studies• Goal was to capture desired adaptation of users
• During study, prediction component of prototypes was disabled
• Users adapt content to accomplish a specified task
• Traces used to conduct profiling experiments offline
Context Varied
• Page Layout Adaptation• Screen Size: SmartPhone, PDA, GBook
• Fidelity Adaptation• Network Bandwidth: 56Kbps, 100Mbps• Screen Size: PDA, Laptop• Location: 3 locations
Screen Size can matter …
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Original Prospective Original Prospective Original Prospective
SmartPhone PDA GBook
Ave
rag
e D
ista
nce
Fro
m D
esir
ed S
ize
Result from Page Layout Adaptation Experiment
Screen Size can matter …
Grouping Users by Screen Size Improves Distance By 32%Splitting Probably Worthwhile
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Original Prospective Original Prospective Original Prospective
SmartPhone PDA GBook
Ave
rag
e D
ista
nce
Fro
m D
esir
ed S
ize
Screen Size can matter … or it may not!
0
0.1
0.2
0.3
0.4
0.5
0.6
Original Prospective Original Prospective
PDA-56Kbps Laptop-56Kbps
Ave
rag
e D
ista
nce
Fro
m D
esir
ed F
idel
ity
Result from Fidelity Adaptation Experiment
Screen Size can matter … or it may not!
Grouping Users by Screen Size Improves Distance By 6%Splitting Probably Not Worthwhile
0
0.1
0.2
0.3
0.4
0.5
0.6
Original Prospective Original Prospective
PDA-56Kbps Laptop-56Kbps
Ave
rag
e D
ista
nce
Fro
m D
esir
ed F
idel
ity
Conclusions
• Influence of context on adaptation requirements can vary based on the content being adapted, as well as type of adaptation being performed
• We provide a technique that uses feedback to automatically determines influential context
• We show that grouping users based on context can lead to significant improvements in overall performance
Future Work
• Ultimate Goal: System adapts content based on:• Context, and • Usage semantics
• We are extending technique to also take usage semantics into account when adapting content
Future Work
• Ultimate Goal: System adapts content based on:• Context, and • Usage semantics
• We are extending technique to also take usage semantics into account when adapting content
Questions?