Context-Aware Interactive Content Adaptation Iqbal Mohomed, Jim Cai, Sina Chavoshi, Eyal de Lara Department 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
Web Server Adaptation Proxy URICA (EuroSys2006)
Web Server Adaptation Proxy URICA (EuroSys2006)
Web Server Adaptation Proxy URICA (EuroSys2006)
Web Server Adaptation Proxy URICA (EuroSys2006) Prediction
Web Server Adaptation Proxy URICA (EuroSys2006) Prediction
Web Server Adaptation Proxy URICA (EuroSys2006) Prediction
Web Server Adaptation Proxy URICA (EuroSys2006) Feedback Prediction
Web Server Adaptation Proxy URICA (EuroSys2006) Feedback Prediction
Web Server Adaptation Proxy URICA (EuroSys2006) Feedback Prediction
Web Server Adaptation Proxy URICA (EuroSys2006) Feedback Prediction
Web Server Adaptation Proxy URICA (EuroSys2006) Feedback Prediction
Web Server Adaptation Proxy URICA (EuroSys2006) Feedback Prediction
Web Server Adaptation Proxy URICA (EuroSys2006) Feedback Prediction
Predictions based on History
Multiple Usages Multiple Context Challenge: Ambiguity in Feedback
Multiple Usages Multiple Context Challenge: Ambiguity in Feedback
Content
Group based on Context Content
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 Desired Adaptation494589
Users Desired Adaptation494589
Users Desired Adaptation To Split or Not to Split …
Users Desired Adaptation To Split or Not to Split …
Users Desired Adaptation Prediction Using Mean Policy To Split or Not to Split …
Prediction Using Mean Policy Users Desired Adaptation Distance From Prediction To Split or Not to Split …
Prediction Using Mean Policy Users Desired Adaptation Distance From Prediction Average Distance: 2.17 To Split or Not to Split …
Users134 Desired Adaptation445 Users256 Desired Adaptation989 To Split or Not to Split …
Users134 Desired Adaptation445 Users256 Desired Adaptation989 To Split or Not to Split …
Users134 Desired Adaptation445 Distance From Prediction001 Users256 Desired Adaptation989 Distance From Prediction010 To Split or Not to Split …
Users134 Desired Adaptation445 Distance From Prediction001 Users256 Desired Adaptation989 Distance From Prediction010 Average Distance: 0.33 To Split or Not to Split …
Users134 Desired Adaptation445 Distance From Prediction001 Users256 Desired Adaptation989 Distance From Prediction010 Overall Average Distance: 0.33 To Split or Not to Split …
Overall Average Distance: 0.33 Average Distance: 2.17 VS To Split or Not to Split …
Overall Average Distance: 0.33 Average Distance: 2.17 VS To Split or Not to Split … It Depends!
Initial Situation All Users in Same Community Storage Requirements
Prediction Histogram Storage Requirements
Context Grouping Histograms
Context A Context B Storage Requirements
Context A Context B Storage Requirements Number of Histograms: = 6
Context A Context B Storage Requirements Number of Histograms: = 6
Storage Requirements Prediction Histogram Context Grouping Histograms Context Grouping Histograms Context Grouping Histograms
Storage Requirements Context Grouping Histograms Context Grouping Histograms Context Grouping Histograms
Context B Storage Requirements
Context B Storage Requirements Number of Histograms: 3 + (2 x 3) = 9 Increase of 50%
Splitting Costs Memory Number of Histograms # Contexts# Context Values Before Any Splits After Initial Split Increase
Splitting Costs Memory Number of Histograms # Contexts# Context Values Before Any Splits After Initial Split Increase
Splitting Costs Memory Number of Histograms # Contexts# Context Values Before Any Splits After Initial Split Increase
Splitting Costs Memory Number of Histograms # Contexts# Context Values Before Any Splits After Initial Split Increase
Splitting Costs Memory Number of Histograms # Contexts# Context Values Before Any Splits After Initial Split Increase 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 … Result from Page Layout Adaptation Experiment
Screen Size can matter … Grouping Users by Screen Size Improves Distance By 32% Splitting Probably Worthwhile
Screen Size can matter … or it may not! 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
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?