community driven adaptation

33
Community Driven Adaptation Iqbal Mohomed ([email protected]) Eyal de Lara ([email protected]) Department of Computer Science University of Toronto

Upload: avari

Post on 23-Jan-2016

33 views

Category:

Documents


1 download

DESCRIPTION

Community Driven Adaptation. Iqbal Mohomed ([email protected]) Eyal de Lara ([email protected]) Department of Computer Science University of Toronto. Challenge of Variety. Plethora of client devices access content on the World Wide Web Trend is growing faster! - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Community Driven Adaptation

Community Driven Adaptation

Iqbal Mohomed ([email protected])Eyal de Lara ([email protected])

Department of Computer ScienceUniversity of Toronto

Page 2: Community Driven Adaptation

Challenge of Variety

• Plethora of client devices access content on the World Wide Web

• Trend is growing faster!• Majority of web pages are still developed for the

typical user= Desktop Computing Environment

• No power constraint• Abundant primary/secondary storage• Large screen with high color depth• Fast processor, etc.• Modem-speed or high-speed Internet access• Input via Keyboard/ Mouse

Page 3: Community Driven Adaptation

Mobile Device Differences

• Network Connectivity- Intermittent connectivity- Low bandwidth, high latency for some but not for others (e.g. CDPD: 12kbps vs. 802.11b: 11Mbps)

• Energy limitations• Form Factor

– Screen Size– Color Depth

• I/O Interface– Numeric keypad– Mini-keyboard– Pen

Page 4: Community Driven Adaptation

Adaptation

• Content that is changed or changes so as to become suitable to a new or special application or situation

• Goal is to save resources and/or improve usability

• Use of software transcoder to modify fidelity of data objects … and hence resource footprint

Page 5: Community Driven Adaptation

Important Considerations

Where is it done?

When to do it?

How much?

Who chooses?

Page 6: Community Driven Adaptation

Server Adaptation

• Publishers develop and make available content for several classes of devices

• Disadvantages:– Burden/Cost imposed on all Content Publishers– Continuous effort to support new types of devices– Difficult to maintain synchronization of various formats

under heavy utilization– You can never cover all possible versions!

Page 7: Community Driven Adaptation

Proxy Based Adaptation

• Proxies are heavily utilized in current architecture of WWW

• Rather than just serving cached content, the adaptation proxy can provide content at different fidelities

• Transcoding – Can be done at the outset or on the fly– Can be done at the Server or Proxy

Page 8: Community Driven Adaptation

Proxy in the Middle

Server

Proxy

Client

Page 9: Community Driven Adaptation

Advantages of Having a Proxy

• Server does not have to keep track of preferences and other information pertaining to individual users

• Can place transcoder at proxy to dynamically generate content at fidelities that differ from the original (e.g. black and white, grayscale, 8-bit color and so on for a 32-bit color image)

Page 10: Community Driven Adaptation

Who Decides how much to adapt?

• Server– Server takes information about the user – Provides its best guess on which version of the requested

content would be optimal

• Client– Client/ Agent is told about all types of available content– He/she/it picks the fidelity it wants

• Proxy– Effectively a combination of the two approaches– Proxy has information about the user – It is provided with a list of all available content versions– Proxy picks the best one to provide the user

Page 11: Community Driven Adaptation

Adaptation is tricky

• How much adaptation should be performed on object?• Too much adaptation:

– User inconvenienced by frequent explicit interaction– Unusable data is transferred … which wastes resources

• memory• bandwidth• time

• Too little adaptation:– More data than optimally required by user is transferred– Wastes resources again

• Related to the “Whose decides?” question

Page 12: Community Driven Adaptation

Community Driven Adaptation

• Classify the user into one of many communities

• Serve content at fidelities which have been deemed appropriate by other members of that community in the past

• Utilize a community-driven process to determine the optimal fidelity for objects!

Page 13: Community Driven Adaptation

Hypothesis

• Data which is accessed in the past is likely to be accessed again

• Users share preferences, and thus optimal fidelity, along with other members of a user community

Page 14: Community Driven Adaptation

What’s the catch, eh?

• When no information is available for an object, the proxy makes an educated guess to serve the first user

• Based on feedback received from the initial users, the proxy modifies the fidelity at which the object is served to future users

Share the Pain and Spread the Benefit!

Page 15: Community Driven Adaptation

An Example

• Let a be a community of users {a1,a2,…an}• Person a1 accesses page A• Proxy serves content at a fidelity it “guesses” to

be appropriate• If a1 is not satisfied with fidelity, feedback can be

provided for real-time refinement• Proxy incorporates any feedback received from

a1 when choosing the fidelity to serve page A for any member of the a community

Page 16: Community Driven Adaptation

The End Result

• Users who access site initially have to bear “pain” of having to provide feedback

• Users who come later, reap “benefit”• Same user unlikely to always be first to access a

site• Providing feedback is

– Natural … occurs in the course of performing task– Easy … integrated into browser– Optional …no forced user’s interaction

Page 17: Community Driven Adaptation

Advantages of our Approach

• User is not burdened with making too many choices on a frequent basis

• Preferences do not have to be explicitly transmitted to the proxy … extrapolated through natural feedback to the system

• With a transcoder installed on the proxy, server does not have to maintain multiple versions of content

• Given a reasonable set of installed transcoders, system automatically extends to future devices of any characteristics

Page 18: Community Driven Adaptation

Research Questions

• How do we classify users into communities and how does this classification change over time?

• How closely can history of user accesses be used to track fidelity preferences in the future? (Based on community, how good is prediction)

• At what granularity should user accesses be tracked? (e.g. object, page, site, etc.)

• User Interface Usability

Page 19: Community Driven Adaptation

Research Direction

• Focusing on Pragmatic Issues

• System operates in world of imperfect information

• Adaptation has the potential of changing user behaviour

User Study is a significant component of this research

Page 20: Community Driven Adaptation

Goal of Experimentation

• Design an effective user study that provides realistic data which we will analyze to define and refine system behaviour

Page 21: Community Driven Adaptation

User Study

• Simple Proxy– Serves content at lowest fidelity unless an

improvement is requested

• Extended Browser– Allow user to request improvements

• The Proxy and Browser trace all user actions

Page 22: Community Driven Adaptation

User Study (contd … 1)

• This experimental setup for the study allows us to determine the minimum fidelity that satisfies a user. Since the goal is to save resources, this turns out to be the optimal fidelity for an object.

• The traces from this initial study will be mined to discover the efficacy of various heuristics that may be employed by the proxy

Page 23: Community Driven Adaptation

User Study (contd … 2)

• Initial Study focuses on fidelity optimization of image objects

• Easy to gauge for users• Extensive transcoder support for Progressive

JPEG images• Good Browser support for regular JPEG images• Can be extrapolated to other forms of media

– Sound– Video– Text

Page 24: Community Driven Adaptation

User Interface Considerations

• Feedback process must be – Simple– Non-disruptive

• Some Good Candidates:– Mouse over an image– Right click menu options– Right click menu options under a Fidelity

category

Page 25: Community Driven Adaptation
Page 26: Community Driven Adaptation

Browser Extensions

• We have extended MS Internet Explorer to allow our own code to execute [1] … whenever the user right-clicks on an image, they are allowed to request improvement to the fidelity of that image

• Same thing can be done with Mozzila and some other advanced browsers

Page 27: Community Driven Adaptation

Environment Control

• Network bandwidth and latency

• Time limit … simulating energy

• Screen size

Page 28: Community Driven Adaptation

Thoughts for Tasks

• We have the user carry out simple tasks 1) Freeform browsing … e.g. check out websites about Avril Lavine. 2) Browsing for specific information … e.g. Find states that border Georgia, USA.3) Making an e-commerce transaction … e.g. buy a book from Amazon.ca.4) Browse for routine information … e.g. What price did Nortel close today?

Page 29: Community Driven Adaptation

Well Designed Tasks

• Too much detail in specification is bad

• Have several instances of each type of task– User learns and might perform better/worse

over course of experiment– Randomize order of tasks

Page 30: Community Driven Adaptation

Data that we will keep track of

• Pages navigated by user– Actual Content of Page– Time Spent on Page

• Time breakdown on a per-task basis

• Any operations canceled by user

Page 31: Community Driven Adaptation

And Then …

Data Crunching!

Page 32: Community Driven Adaptation

References

1. “Component-Based Adaptation” by Eyal de Lara, Yogesh Chopra, Rajnish Kumar, Nilesh Vaghela, Dan S. Wallach, and Willy Zwaenepoel

2. "Resource-Aware Speculative Prefetching in Wireless Networks" by N. J. Tuah, M. Kumar, and S. Venkatesh

Page 33: Community Driven Adaptation

Questions/ Comments

Thank you for your time