P ERSONALIZED A DAPTATION S CHEDULE FOR I TERATIVE A DAPTATION

by

Chengming Cai

A thesis submitted in conformity with the requirements for the degree of Masters of Science Graduate Department of Computer Science University of Toronto

c 2006 by Chengming Cai Copyright °

Abstract Personalized Adaptation Schedule for Iterative Adaptation Chengming Cai Masters of Science Graduate Department of Computer Science University of Toronto 2006 Iterative content adaptation systems attempt to conserve bandwidth required to download multimedia content on mobile devices by initially loading an adapted version of the original content and refining its quality only when deemed necessary and explicitly requested by the user. In this paper, we demonstrate that iterative approaches that only minimize bandwidth consumption may result in latency for browsing adapted web content that are even higher than when no adaptation is performed. We present PAS, an adaptive algorithm that can optimize browsing latency by taking into account both expected download time and user interaction time. Our experiment shows that PAS reduces browsing latency by up to 65% and reduces bandwidth consumption by up to 80%. Furthermore, PAS is also flexible and can accommodate user preferences for trading off bandwidth consumption and user interaction time.

ii

Dedication This work is dedicated to my parents and my supervisor: My father, Cai Jianke My Mother, Cheng Qiuyun My Supervisor, Eyal de Lara

iii

Acknowledgements First of all, I would like to express my greatest appreciation to my supervisor, Eyal de Lara. I have worked under your supervision since my undergraduate years. Your broad knowledge in the area and your passion for research have set a great example for me. Your help is tremendous. There is simply no way I can finish my Masters degree in such a short period of time without your skillful supervision. I also like to thank my second reader, Cristiana Amza. You provided me very important feedback on my research and helped me improve my analytical and writing skills. I would like to extend my gratitude to my partner Iqbal Mohommed, who I cherish as a true friend, as well as an excellent mentor. As a senior student, you helped me build confidence, and provided me suggestions that were proven to be shortcuts to success. I hope we will be best friends forever. Most of all I would like to thank my parents. You have given me all the love that parents can possibly give to their children. You are truly the best parents in the world. To all my buddies in the system’s lab, thanks for always supporting me. Andres, Alvin, Tom, Jing, Mahsa, Levon, Sina and Arpit, I will never forget all the good time we spend together in this lab. Don’t forget to give me a call when there is another poker night in the lab. I also will not forget the help from the friends around me. Elisa, Ning, Yi, Crystal, all of you have brought a lot of joy and inspirations to my life. Finally, I would like to thank all the students who either participate my user study or took the courses I taught. It has been a lot of fun.

iv

Contents

1 Introduction

1

2 Background and Related Work

5

2.1

2.2

2.3

Adaptation Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.1.1

Manual and Static Adaptation . . . . . . . . . . . . . . . . . . . . . .

6

2.1.2

Automatic Content Adaptation . . . . . . . . . . . . . . . . . . . . . .

7

Resource-Specific Adaptations . . . . . . . . . . . . . . . . . . . . . . . . . .

8

2.2.1

Bandwidth Adaptation . . . . . . . . . . . . . . . . . . . . . . . . . .

8

2.2.2

Energy-Aware Adaptation . . . . . . . . . . . . . . . . . . . . . . . .

9

2.2.3

Page Layout Adaptation . . . . . . . . . . . . . . . . . . . . . . . . . 11

Related Work in Other Domains . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Chameleon: Prototype Iterative Adaptation System 3.1

15

Adaptation Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.1.1

Learning and Prediction Modes . . . . . . . . . . . . . . . . . . . . . 17

4 Personalized Adaptation Schedule

19

4.1

Fulfillment Time Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2

Trading off User Interaction for Bandwidth . . . . . . . . . . . . . . . . . . . 22

5 Chameleon Adaptive Browser 5.1

26

Learning Mode Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 v

5.2

Prediction Mode Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3

Calculate Average Interaction Time . . . . . . . . . . . . . . . . . . . . . . . 28

5.4

Interface for User Preference . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

6 Experiments 6.1

6.2

30

Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.1.1

Synthetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6.1.2

Photo Album . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6.1.3

Poster Ads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Methodology and Setup

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

7 Experiment Evaluation 7.1

7.2

35

Trace Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 7.1.1

Fulfillment Fidelity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

7.1.2

Fulfillment Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

7.1.3

User Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

7.1.4

Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Prediction Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7.2.1

Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

7.2.2

Optimizing Fulfillment Time . . . . . . . . . . . . . . . . . . . . . . . 44

7.2.3

Trading off Bandwidth for User Interaction . . . . . . . . . . . . . . . 48

7.2.4

Effect of User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 50

8 Conclusions and Future Work

53

Appendices

54

A Traces for all experiment subjects

55

B Experiment Instructions

59 vi

Bibliography

59

vii

List of Tables A.1 All images file size information in bytes. Note that the sum of all fidelity levels for an image is the total file size for that image . . . . . . . . . . . . . . . . . . 56 A.2 the reciprocal of average bandwidth, the round trip latency, and the average user interaction time experienced by each user. . . . . . . . . . . . . . . . . . 58

viii

List of Figures 4.1

A simple example of expected fulfillment time computations. The left column shows past history, which is used to form probabilities. The center column provides the calculations of expected fulfillment time (ET) for all possible i,j combinations. The rightmost column performs the computation for an illustrative set of parameters. The computed schedule consists of two predictions: 2 and 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.1

Snapshot of the PDA with the multi-tab interface that allows users to select an arbitrary fidelity level. The left and right snapshots show the same image at low and high fidelity, respectively, as selected by the multi-tab interface. . . . . 27

7.1

Average per-image bandwidth consumption for 3 web sites. Users were able to complete the study with a small fraction of the bandwidth required by full fidelity content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

7.2

Fulfillment fidelity distribution for 3 web sites. Though user selections fall in a small range for each image, these selections also show variances among users

7.3

37

Synthetic experiment average fulfillment time across all users with different adaptation policies. Interactive adaptation approach that minimizes bandwidth does not always minimize fulfillment time . . . . . . . . . . . . . . . . . . . . 39

7.4

Synthetic experiment average bandwidth consumptions across all users with two interfaces. Tapping interface conserve Bandwidth . . . . . . . . . . . . . . 40 ix

7.5

Synthetic experiment average number of interactions across all users with two interfaces. Tapping interface requires more user interactions . . . . . . . . . . 40

7.6

Compare the simulated fulfillment time with real experiment fulfillment of Synthetic experiment. Our simulation is within 95% of the accuracy . . . . . . 45

7.7

Bandwidth consumption over CDMA 1X. PAS consumes near optimal bandwidth 45

7.8

Fulfillment Time over CDMA 1X. PAS outperforms NoAdaptation and Mean policies and come very close to Oracle . . . . . . . . . . . . . . . . . . . . . . 47

7.9

Fulfillment time over simulated 3G. PAS is flexible and achieves good performance regardless of available bandwidth

. . . . . . . . . . . . . . . . . . . . 47

7.10 Personalized prediction schedules for users with highest and lowest average bandwidth. PAS generates different schedules for each individual . . . . . . . . 48 7.11 Tradeoff between user interactions and bandwidth consumptions. . . . . . . . . 49 7.12 Change to fulfillment time for different bandiwdth/interactions tradeoffs. . . . . 49 7.13 Average fulfillment time in learning and prediction mode with tapping and multi-tap interface for Synthetic web site. . . . . . . . . . . . . . . . . . . . . 51 7.14 Fulfillment fidelity distribution of tapping and multi-tab interface for a single image. Multi-tap results in a wider spread in the range of fulfillment fidelities . 51 A.1 List of fulfillment Fidelity for each user and object . . . . . . . . . . . . . . . 57 B.1 Instructions provided to the participants during the experiment . . . . . . . . . 60 B.2 Instructions provided to the participants during the experiment . . . . . . . . . 61 B.3 Instructions provided to the participants during the experiment . . . . . . . . . 62 B.4 Instructions provided to the participants during the experiment . . . . . . . . . 63 B.5 Instructions provided to the participants during the experiment . . . . . . . . . 64 B.6 Instructions provided to the participants during the experiment . . . . . . . . . 65 B.7 Instructions provided to the participants during the experiment . . . . . . . . . 66

x

Chapter 1 Introduction Mobile devices face severe resource constraints such as limitations in display size, battery life and network connectivity [6, 13, 23, 35, 48, 49, 36, 32]. In particular, the difference in bandwidth availability between desktop computers with broadband connectivity and mobile devices causes a significant degradation in the experience of mobile users as they go about using ubiquitous applications such as browsing the World Wide Web. Even though the rollout of 2.5G and 3G cellular technology has significantly increased the theoretically available bandwidth, several recent studies have reported that in practice cellular bandwidth is considerably lower than originally claimed [9, 15, 16], and that the realistic throughput of wide-area mobile data services is similar to that of dial-up modems. For example, effective data rates for 2.5G technologies such as GPRS and CDMA 1X are reported at around 30-70 kbps and 100-120 kbps, respectively. In the experiments presented in this thesis, where stationary users browsed the web on a PDA using CDMA 1X connectivity, we observed average bandwidth to be around 83 kbps. In addition, most reasonably priced data services charge based on the amount of bandwidth consumed by the user. A price of $10 per MB of downloaded data is typical. Some researchers have attempted to address the bandwidth constraint for mobile users by creating systems that distribute network communication over multiple cellular interfaces [45, 46]. This approach, however, adds significant complexity and cost, limiting the deployment 1

C HAPTER 1. I NTRODUCTION

2

of such systems to specific usage scenarios such as providing Internet connectivity to mobile users in a public bus via a specialized wireless hub that uses multiple cellular interfaces. An alternative, is to use automatic content adaptation systems [5, 27, 38, 42, 34, 17, 39] that utilize lossy compression techniques to tradeoff content fidelity for bandwidth consumption on mobile devices [25, 35, 48, 49]. In this thesis, we focus our discussions on automatic techniques that utilize an iterative approach to adaptation [17, 39]. These techniques attempt to conserve system resources (such as bandwidth or energy) required to download multimedia documents over bandwidth-limited networks by initially loading an adapted version of the original content and refining its quality only when deemed necessary. For example, a user browsing an image-rich web page may be presented with low-fidelity versions of all images. The user can then go through an iterative process where she asks the browser to refine the fidelity, and hence fetch additional data, only for those images for which higher resolution is required. Fundamentally, approaches that use iterative adaptation trade off network bandwidth (and as a result download latency) for user interaction. For example, an iterative approach can trivially minimize network bandwidth consumption by providing objects at their lowest available fidelity, and then improving object fidelity in small increments in response to explicit user requests. Similarly, it is possible to reduce the amount of user interaction (at the expense of bandwidth consumption) by increasing the initial fidelity level at which objects are provided or by increasing object fidelity at a coarser granularity. Research on content adaptation to date has focuses on minimizing resource consumption (e.g., bandwidth, energy), ignoring the user interaction component of the adaptation process. In this thesis, we demonstrate that approaches focusing only on minimizing bandwidth consumption, but which require significant user interaction, not only fail to optimize the time it takes the user to browse web pages, but may result in overall browsing time, in fact, higher than when no adaptation is performed. In this thesis we present Personalized Adaptation Schedule (PAS), an adaptive algorithm

C HAPTER 1. I NTRODUCTION

3

that optimizes the browsing time by taking into account expected download time and user interaction time. Similar to [39], PAS predicts the initial fidelity level at which an object will be served based on the history of previous access to the object. However, unlike [39], the prediction also takes into account measurements of interaction time. To evaluate the performance of PAS, we conducted a user study to collect traces of users interacting with adapted web content. We find that PAS reduces the download latencies of browsing web content by up to 65% and can reduce the amount of bandwidth consumption by as much as 80%. PAS achieves large savings even when content is used for multiple tasks that have varying adaptation requirements. In addition, PAS is robust and provides consistently good performance across different web sites and over different network conditions throughout the user study. Moreover, PAS is flexible and can accommodate user preferences for trading off bandwidth consumption for interaction time. For example, a user that has a cellular data plan that bills based on bandwidth usage 1 may be willing to interact with the system more if this will save bandwidth, even if this results in an increase in the overall time to completion. On the other hand, other users may not mind a moderate increase in their bandwidth consumption if this significantly reduces the frequency at which they have to interact with the system to improve object fidelity. Finally, we also consider the effect that different user interfaces have on the tradeoff between resource consumption and user interaction time, and how it influences the adaptive behaviors. This thesis makes four contributions. First, it shows that an approach that only considers minimizing bandwidth consumption and disregards user interaction time does not optimize the latency of browsing adapted web pages, and can in fact result in higher overall browsing time than if no adaptation is performed at all. Second, it shows that different user interfaces result in different adaptive behaviors, striking different balances between bandwidth consumption and interaction time, and in turn affecting the browsing latency. Third, it presents a predictive 1

Most reasonably priced cellular data plans have limited bandwidth quotas and charge users based on the bandwidth they use after the quotas exceed.

C HAPTER 1. I NTRODUCTION

4

algorithm that optimizes the latency for browsing adapted web content while requiring near minimal bandwidth consumption and interaction time. Finally, it shows that it is possible to exchange bandwidth consumption for user interaction time, and provides an algorithm that lets users control this tradeoff. The rest of the thesis is organized as follows. Chapter 2 provides background information and compares our work with previous efforts. Chapter 3 describes Chameleon, a prototype system that adapts image-rich web pages for browsing over cellular links. Chapter 4 details the workings of the PAS prediction algorithm, which can be implemented on top of Chameleon. This is followed by chapter 5, which discusses the adaptive browser interfaces that let users refine image fidelities in Chameleon. Chapter 6 describes the user study we conducted to collect traces of users browsing web content using Chameleon. Finally chapter 7 evaluates the PAS predictive algorithm and chapter 8 concludes the thesis and discusses avenues for future work.

Chapter 2

Background and Related Work

Mobile devices such as cell phones and network-enabled personal digital assistants play an important role in the Ubiquitous and Pervasive computing [49, 57] environment. One of the most important evidences is the growing use of mobile devices to access web content. Unfortunately, most web content is intended for consumptions on powerful desktop computers, and has to be adapted to meet the severe resource constraints of mobile devices, such as limitations in display size, battery life and network connectivity [35, 36, 24, 6, 13, 23, 25, 32]. Various research groups have developed adaptation techniques to improve the mobile user experience. Typically, the goal of such techniques is for users to access web pages in a satisfactory manner while minimizing resource (bandwidth, power, screen size etc.) consumption.

In this chapter, we review the research literature in the area of content adaptation. We start by distinguish manual and automatic content adaptation. Next, we enumerate several automatic adaptation systems based on the type of resource (e.g., bandwidth, energy, screen size) one wants to conserve. Finally, we review related works in other domain that are closely tied to our PAS predictive algorithm. 5

C HAPTER 2. BACKGROUND AND R ELATED W ORK

6

2.1 Adaptation Approaches General techniques for adaptation are divided into two categories. One is to manually create web sites that meet resource constraints for individual devices; Another one is to deploy various automatic policies to optimize user experiences on small devices. This section briefly survey each of these categories, and comment on their limitations.

2.1.1 Manual and Static Adaptation Manual authoring also refers to device-specific authoring. This is an adaptation technique that typically aims to address the screen size limitation. The content provider, who is typically a professional in web design, has customized the web content for each individual device, based on their screen size and resolution. Most of the interface design decisions have been made to compromise the screen size and input facility limitations of small devices. An example is the CNN web site. The designers of CNN web site have taken steps to design different layout versions of their site that fit in different screen size. For the most part, this method provides the best user experiences for mobile device users. However, due to the mass amount of manual labor work involved, this technique can only apply to small set of web sites [51], and hence is limited in scalability. Static adaptation is similar to manual authoring, but is designed to address wider range of resource constraints. In static adaptation, content creators also produce a number of versions of a particular content item. However, different from manual authoring, each version is typically a transcoded version of the original content. For example, a movie web site can feature the same movie trailers at 3 different resolutions (e.g., low, medium and high), where each clips are transcoded versions of the original high quality content. In static adaptation, the various versions of the same content are typically created in such a manner that they are tailored for consumption on particular types of devices. For example, the high resolution movie trailer can be served to desktop users with nearly unlimited bandwidth. The medium and low resolution

C HAPTER 2. BACKGROUND AND R ELATED W ORK

7

versions can be served to PDAs and cell phones, where bandwidth is very limited. In general, the creators of the web sites content create different versions that are optimized for the devices that they are interested in supporting. With static adaptation, different versions of the web pages are pre-transcoded. Hence there is little complexity at runtime. When a device requests content, a description of the device and its capabilities may be determined from the incoming request, and an appropriate version of the content can be served. However, a major disadvantage of static adaptation is that specific content has to be created for every class of device prior to access by that device.

2.1.2 Automatic Content Adaptation Automatic Content Adaptation [5, 27, 38, 42, 34, 17, 39] services transform content onthe-fly to meet the limitation of a wide range of mobile devices. The polices for automatic adaptation generally fall into two categories: Rule-based [53, 52, 13, 31, 51] and Constraintbased [52, 38, 22, 41]. Rule-based policies use high-level mathematical formulas to drive the adaptation. An example of a rule can be to serve only 30% of the original content in file size of a progressive JPEG object. Constraint-based policy extends rule-based policies by encoding tradeoffs between adaptation strategies. In particular, a constraint captures the relationships between resource utilizations and user satisfaction in mathematical formulas. An adaptation solver adapts content by finding a solution that meet all constraints specified by the user or the system. A limitation of both rule-based and constraint-based adaptation systems is that typically only a small fraction of rules and constraints are applied to the adaptation of broad sets of content, disregarding the fact that individual content may be valued differently by the user. The main challenge for automatic content adaptation is to determining the best way to adapt content that meets user satisfactions. PAS algorithm described in this thesis utilize histories of user accesses, as well as available bandwidth and average user interaction time to drive the adaptation. This approach generates adaptation rules (schedules) based on usage semantics, which can be flexibly applied to various web content.

C HAPTER 2. BACKGROUND AND R ELATED W ORK

8

In [38], a context-aware adaptation system has been proposed that is based on a QoS metrics. This work is similar to ours in the sense that it takes user preferences and network parameters into account when deciding how the content will be adapted. However, it ignores content usage semantics in its decision engine. Consequently it makes the adaptation irrelevant of user’s browsing goals.

2.2 Resource-Specific Adaptations Most mobile devices face three types of resource constraints: limited bandwidth, power supply, as well as small screen size. In this section, we present adaptation systems that targets on optimizing each specific resources.

2.2.1 Bandwidth Adaptation Bandwidth adaptation has been studied extensively over the last decade [37, 40, 59, 26, 41, 28, 33, 50]. In the 90s, bandwidth is a critical limitation to mobile devices as typical wireless connection speed is as low as 9.6kbps. Therefore, many works at that time focused on reducing download latencies associate by minimizing the bandwidth usage. The rollout of recent 2.5G and 3G technology significantly improve the bandwidth conditions. However, as we will see in the user study described in chapter 6, the browsing latencies associated with 3G network environment is still high in most cases, and hence have impact on user experiences. More importantly, the price of bandwidth is still extremely expensive. Typical ISP or cell phone carriers charge $10 for 1MB of data. In addition, for mobile devices that are constantly moving, bandwidth conditions vary depending on the location of the devices relative to base stations. This bandwidth variation can also degrade user experiences to a large degree. In general, techniques that utilize bandwidth adaptations fall into three categories: application-transparent, application specific, and application-aware. In this section, we briefly survey each of the three types of systems.

C HAPTER 2. BACKGROUND AND R ELATED W ORK

9

Bandwidth adaptation can happen at the system-level [37, 40, 59], where the system bears full responsibility of the adaptation and resource management. This type of adaptation is referred to as application-transparent, since each application is not aware of the underlying adaptation. Coda System [37] developed at CMU is a typical example of this approach. The benefits provided with this approach is that each individual application does not have to be modified to take advantage of the adaptation. This is especially attractive for legacy applications that cannot be modified. The major weakness of this approach, however, is that adaptation falls entirely in the hand of the system and cannot be customized for each application. Bandwidth adaptation can also happen at the application level [26, 41, 28, 33, 50], where individual application is modified without affecting the rest of the system. A major weakness of this type of adaptation system is that every application now needs to be changed to support adaptation. Without having access to source code of the application, the programmer may find it difficult to add adaptation features to these applications. Another type of adaptation systems attempt to strike the balance of the previous two and are typically referred to as application-aware adaptation. Odyssey [42] sits in middle of mobile OS and applications. On one hand, it allows individual applications to adjust content fidelity levels according to the availability of system resources (such as bandwidth). On the other hand, Odyssey also has the ability to do centralized resource management for multiple applications. The technique of component-based adaptation [20, 19] is another example of application-aware adaptation system. Here, applications are imbued with adaptation capabilities without modifying the original source code. This has the benefits of application-based and proxy-based adaptation without suffering from the disadvantages.

2.2.2 Energy-Aware Adaptation Technically speaking, a system that adapts bandwidth will almost certainly conserve battery for small devices. This is because one of the heavy power consumer is the Network Interface Card (NIC). However, a lot of work has been done that specifically targets at conserving energy

C HAPTER 2. BACKGROUND AND R ELATED W ORK

10

expenditure on handheld devices. Typical solutions focus on improving the efficiency of the CPU, or optimizing the energy consumption for LCD display. In general, the power consumed by the CPU and memory is related to the clock rate, the supply voltage, and the capacitance of the devices being switched (e.g. the transistors) [58]. Typically, the total power required by CPU and memory is in proportion to CV 2 F where C is the gate capacitance, V is the voltage and F is the CPU clock frequency. The fact that lowering the supply voltage results in a quadratic savings in power motivated [56]. In this paper, the authors suggest to adapt power usage by adjusting the CPU clock frequency, which subsequently adjust the supplied voltage on mobile devices. Specifically, the authors propose an algorithm to balance the CPU usage between periodic bursts of high CPU utilization and remaining period of idle time. For example, a task that needs 50ms of burst of CPU usage at full clock rate, followed by 50ms CPU idle time, can now be replaced by 100ms of burst of CPU usage at half clock rate. The author claim that this algorithm will conserve up to 50% of power. In [12], it was argued that the majority of display energy expenditure occurs when the system is idle and waiting for user input. This is because of the tremendous disparity in the computational capabilities of humans and machines. Moreover, this observation dilutes the effectiveness of techniques focusing solely on making hardware more energy efficient in performing computation. The paper presents usleep, a short processor sleep that happens while the still image of the screen is displayed. Observation is exploited on the Itsy handheld computer, where the display is turned off for short periods of time. The user still sees the content that was displayed previously and when the user interacts with the touchscreen, the display is reactivated. In [61], the user interface of a mobile device is offloaded to a wristwatch, which consumes less energy. By moving the device into a low power state in the duration between when results are presented to the user and the user provides additional interaction, significant savings in power were achieved.

C HAPTER 2. BACKGROUND AND R ELATED W ORK

11

In [11], it was shown that different user interfaces have a significant impact on device energy consumption. Various color gradients were imposed on the display, which impacted the battery life of the handheld. In their study, the authors found that users were tolerant of an adaptive user interface if it prolonged the duration of use for their mobile device between recharging. The PAS algorithm presented in this paper can also be extended to conserve power on mobile devices. PAS optimizes energy usage by balancing network transmission and device idle time. For each object that needs to be adapted, PAS generates an iterative adaptation schedule based on the unit energy cost for network transmission and backlight of the LCD screen, and iteratively serves each fidelity level in the schedule to the user. Compared with previous efforts in energy-aware adaptation, PAS uses history to infer usage semantics, which significantly increases user satisfactions on the adapted content.

2.2.3 Page Layout Adaptation To the best of our knowledge, the first piece of work that directly addresses the need of automatic tools for layout adaptation is the Digestor project [10], which was carried out by Bickmore et al. back in 1997. In his paper, Bickmore classified the automatic adaptation techniques into two categories: the syntactic technique, which operates on structure of a webpage, and the semantic technique, which relies on some understandings of the semantic. The paper presented several suggestions to adapt the web content. For instance, the text outlining method suggests that one can make outlines to paragraphs of text to allow quicker access to content in small devices. Image reduction makes sure that graphical content are reduced to appropriate sizes to fit in small devices. In light of the Digestor Project, more scholars in the area of HCI and Mobile Systems have become involved in page layout adaptation research. The research works are mainly divided into four categories: Format Conversion, page Indexing, Text Summarization and Structure Transformation. Format Conversion is the most popular method to convert web content into formats that

C HAPTER 2. BACKGROUND AND R ELATED W ORK

12

fit in small mobile devices. Wireless Application Protocols (WAPs) such as Wireless Markup Language (WML) [4] and Handheld Device Markup Language (HDML) [3] both belong to this category. These protocols (WAPs) can split original HTML pages into different small cards [14], so that each card can fit into one screen. Links are made between cards to enable browsing. There are also technology products which can translate HTML content into WMLlike languages on the fly, such as the Spyglass Prism [1]. However, several weaknesses are associated with the Format Conversion method. First of all, it does not allow retention of layout and presentation style of the original document. Users are likely to be confused when accessing the same website on a desktop and a PDA. For example, if a desktop user who is familiar with the location of a particular piece of information on a website, say the stock quotes, he or she can quickly locate and retrieve the information. However, if the user now accesses the adapted version of the website with WAPs, it may take much longer time to locate the same information, hence introduces inconveniences. Secondly, navigations may become extremely difficult after pages are split into cards. For example, one of the criticisms of WAP sites was that they involved too many selections [14], and there were too many moves between cards, for the user to achieve their goals. This problem could lead to severe usability issues when a web site involves deep hierarchies. In those situations, the number of clicks an average user needs to perform is way too high, which potentially discouraged the users from browsing with small devices. Text summarization techniques typically parse, analyze, and reorder the text based on its semantic and certain psychological and statistical rules. Therefore this method is also referred to as semantic conversion in some publications [44, 21]. A representative text summarization technique is the Power Browser project developed at Stanford University. The browser parses and summarizes the text in a page into different levels, where initially only the highest level summarizations are displayed. Subsequent levels are disclosed to the users with fisheye view [29] technique. Text summarization works well when most of the content on a webpage is pure text. However, the method fails when images are added to the webpage, since this technique

C HAPTER 2. BACKGROUND AND R ELATED W ORK

13

does not know how to ”summarize” images. If we are surfing the web using a smaller form factor device such as a cell phone, then we need adaptation techniques that can transform the structure of the web pages. The MLink approach [51] developed at Intel Research directly tackles this problem. According to their observations, people usually separate their web experiences into two steps: navigate to the information and use it. Moreover, users often mail, print and save web documents, which are easily accomplished at a desktop interface, but not as easy at interfaces of a small device. Motivated by this observation, they design a linear menu based interface to support browsing the Internet on cell phones. M-Link first extracts all hyperlinks of the original web page. Meanwhile it also extracts some non-link contents such as telephone numbers. A menu is generated, with all these extracted links and contents as menu items. By doing this, MLink effectively separates the navigation and the action, making navigation simply a matter of selecting a link to follow from a list. Meanwhile, the action interface becomes much more powerful as users can apply various web-based services to any link now. In addition to this, M-Link also allows the cell phone carriers to add plug-ins to support new web services. For example, if a link contains a PDF file, an entry can be simply added in the function menus to support opening or printing the PDF file.

2.3 Related Work in Other Domains PAS is related to efforts on recommendation-based systems [8, 30, 54, 7, 18, 43]. Most recommendation systems use collaborative filtering, in which people collaborate to help one another perform filtering by recording their reactions to content they access. PAS is a radical new use of the history-based recommendation concept – adaptation prediction. Whereas previous efforts have focused on predicting what content to provide, PAS focuses on the question of how to adapt this content for display on mobile devices. Our work significantly differs from the research projects in adaptive interfaces [47, 55, 60].

C HAPTER 2. BACKGROUND AND R ELATED W ORK

14

Adaptive interfaces provide personalized user experiences by altering the system functionality or its user interfaces to incorporate individual preferences. Our work however, focuses on content adaptation that lowers the fidelity of static content on web sites. Finally, the optimality of PAS algorithm heavily relies on dynamic programming technique. Specifically, computation of each adaptation schedule can be viewed as solving the classic allpairs shortest path problem with Floyd-Warshall algorithm [2].

Chapter 3 Chameleon: Prototype Iterative Adaptation System We developed Chameleon, a prototype iterative adaptation system that supports fidelity adaptation for browsing image-rich web pages over bandwidth-limited cellular links. Chameleon provides fidelity-adapted versions of web images but allows users to interact with individual images in order to improve their fidelity. We implement Chameleon to help us evaluate our PAS algorithm, which we will discuss in detail in chapter 4. Chameleon consists of an adaptive web browser running on an AudioVox PDA with builtin CDMA 1X cellular connectivity, and an adaptation proxy that performs progressive JPEG image transcoding. The proxy runs on a well-provisioned server with a high-bandwidth and low-latency connection to the Internet. The PDA connects to the Internet over the cellular CDMA 1X link, but is configured to route all web traffic through the adaptation proxy. By default, Chameleon minimizes the latency for browsing adapted web pages. Specifically, it optimizes a user’s fulfillment time, which is the sum of the download time to transfer content (including refinements) and the user interaction time required to correct bad adaptation decisions. Chameleon can also be configured to allow exchange of bandwidth consumption, which for many cellular users has a direct monetary cost, for user involvement in the adapta15

C HAPTER 3. C HAMELEON : P ROTOTYPE I TERATIVE A DAPTATION S YSTEM

16

tion process. Specifically, a user can specify the minimum amount of bandwidth that must be saved before she is willing to provide an interaction. In this chapter, we describe the adaptation proxy used in Chameleon. We defer discussion of the Chameleon’s prediction mechanism and the adaptive browser interface till Chapter 4 and 5 respectively.

3.1 Adaptation Proxy In response to a request from the client, the proxy downloads the web content from the origin web server (which is unmodified and is not aware that content is being adapted) and transcodes any images into a progressive JPEG format. The proxy then serves the HTML file to the client along with fidelity-adapted versions of all images. We configured the proxy to generate progressive JPEG images consisting of 10 scans. Progressive JPEG images have the property that if we only have the first few scans of the image, we can see a low fidelity version of the image and as we load subsequent scans, image quality improves. The relationship between fidelity levels and scans is that fidelity level i corresponds to the progressive JPEG image consisting of the first i scans of the image. Users can refine the fidelity of individual images by requesting additional scans. A key function of the Chameleon adaptation proxy is to keep track of the history of adaptations for an object that satisfied users in the past. In image fidelity adaptation, the highest fidelity of an image that is served to a user is the adaptation that provides satisfaction and we call this fidelity level the Fulfillment Fidelity. For each image, the adaptation proxy keeps track of histories of fulfillment fidelities of different users. The history of successful adaptations is used by our prediction policies, which we describe in detail in chapter 4. The adaptation proxy also records download time and bandwidth consumption for each image (including fidelity improvements) and the user interaction time that was computed by the browser.

C HAPTER 3. C HAMELEON : P ROTOTYPE I TERATIVE A DAPTATION S YSTEM

17

3.1.1 Learning and Prediction Modes

Chameleon records the history of fulfillment fidelities by considering implicit positive feedback. That is, when an image is served at a certain fidelity and the user does not provide any interaction, Chameleon assumes that this is the fulfillment fidelity of the user. Chameleon knows that the user was able to perform the task, but Chameleon cannot assume the optimality of the adapted version. For example, serving an image at a higher fidelity than required for a given task will enable the user to perform the task, but will waste resources. While the transmission of extra data forces the user to wait longer, it is unlikely that the user, having waited for the higher-resolution object to load, will instruct the application to lower the image’s resolution. While the user must interact with the system to correct adaptation decisions that prevent her from carrying out her task, there is little motivation for modifying adaptations that enable the task but waste resources. This is particularly true given that the resources would have already been wasted (i.e., the high-fidelity image was already loaded) and that interaction requires time and effort 1 . We address the ambiguity of implicit positive feedback by having two serving modes for every object: Learning and Prediction. The purpose of the learning mode is to allow the system to rapidly attain high quality histories of fulfillment fidelities and the duration of this mode, L, is specified by the system operator. For each image, the first L users who access it are not provided with any prediction. Instead, the proxy always serves the first scan of the image initially, i.e., fidelity 1. After the first L accesses, the system switches into prediction mode. In prediction mode, the system uses prediction algorithms, described in the next chapter, to optimize a user’s fulfillment time or a specified tradeoff between bandwidth and the number of interactions. A simple interface that allows the users to specify tradeoffs is discussed in chapter 5. In practice, the usage semantics of content may change over a long period of time. 1

For some data types such as streaming video, it may be the case that a user conscious of her power or bandwidth usage may be willing to interact with the system to explore whether less resource-intensive versions to the one currently being streamed meet her task requirements.

C HAPTER 3. C HAMELEON : P ROTOTYPE I TERATIVE A DAPTATION S YSTEM

18

To address this, it may be desirable for the system to discard all accumulated history for an object and return to learning mode. This would ensure that the system’s predictions utilize the current usage semantics of the content. An investigation of the impact of changing usage semantics over time is out of the scope of this paper.

Chapter 4 Personalized Adaptation Schedule

Personalized Adaptation Schedule (PAS) is a Chameleon prediction algorithm that takes into account the possibility that the user would be unsatisfied with its adaptation decision and would have to provide interaction. Variations among individual users, as well as the fact that sometimes the same image has multiple usage semantics (i.e., the image is being used for multiple tasks) implies that a single adaptation decision may not satisfy all users. PAS addresses this by creating a list of fidelity predictions, where the first fidelity in the list is served to the user initially and the following fidelities are served upon subsequent interactions. We call this list of predictions a prediction schedule. The prediction schedule is individualized for every object and user but it has to be computed only once, when an object is first accessed by a user. PAS has two modes of operation. In the first mode, PAS optimizes a user’s fulfillment time, which is the sum of the download time to transfer content (including refinements) and the user interaction time required to correct bad adaptation decisions. The second mode allows users to specify a tradeoff between bandwidth and user interaction, and PAS optimizes for this. In the rest of this section, we first describe how PAS creates prediction schedules that optimize fulfillment time and then show how PAS can create prediction schedules that trade off bandwidth consumption for user interaction. 19

C HAPTER 4. P ERSONALIZED A DAPTATION S CHEDULE

20

4.1 Fulfillment Time Optimization PAS can be used to create prediction schedules that optimize a user’s expected fulfillment time. Fulfillment time is the sum of download times for successively higher fidelities of an image, which depends on image file-size, bandwidth and latency, and the user interaction time that is required to request refinements. PAS balances these two components so that the user does not have to spend excessive time downloading data over the network and also does not waste too much time interacting with the system. We start by providing an analytical model for determining the user’s expected fulfillment time. This model is used by PAS to create a prediction schedule that optimizes a user’s expected fulfillment time. In our model, we suppose that a progressive JPEG image is broken into n slices. We label the slices s1 ,...,sn . Let fidelity level i correspond to the image composed of all slices from s1 to si .1 Let f f be the user’s true fulfillment fidelity, which is unknown apriori, and thus a random variable in the model. Next, let I be the current user’s average interaction time. Let DT (i, j) be the time required to download the slices si+1 ... sj . We can now define ET (i, j) (where 0 <= i < j <= n) to be the user’s expected fulfillment time when they request a refinement at fidelity level i (the user’s current fidelity level) and we decide to take them to some arbitrary fidelity level j 2 . The way in which we calculate the value of expected fulfillment time depends on whether or not we have provided the user with the highest fidelity level for the image (i.e. whether or not j = n). If j = n, we know that the user’s fulfillment fidelity (f f ) cannot be lower than j since n is the highest fidelity level, and the user will not request any refinements subsequently. In this case, the user’s expected fulfillment time is simply the download time required to transfer slices si+1 ... sn of the object. However, if j < n, fidelity level j may be below the user’s true fulfillment fidelity and the user may need to refine the image again. The user requests further refinements with P rob(f f > j|f f > i), 1

We add an additional definition to simplify the presentation of our equations below. We define fidelity level 0 to be the case when the user has slice s0 , which is empty. This corresponds to the initial situation when the user does not have any data. 2 j does not have to equal f f

C HAPTER 4. P ERSONALIZED A DAPTATION S CHEDULE

21

which is the probability that when the user is at fidelity level j, they need further refinements conditioned on the fact that the user’s fulfillment fidelity level is greater than i. We assume that if further refinements are required, an optimal algorithm that minimizes expected fulfillment time is used to predict the fidelity level, j‘, that is served subsequently. Thus, the user’s expected fulfillment time in the case where j < n has two components: DT (i, j) and, if j < f f , the time cost of providing an interaction summed with the the optimal expected fulfillment time starting from j. These two cases are defined in the following recurrence relation: • Base case: ET (i, n) = DT (i, n)(where 0 <= i < n) • Recursive case: ET (i, j) = DT (i, j) + P rob(f f > j|f f > i) × (I + min[ET (j, j + 1), ..., ET (j, n)])(where 0 <= i < j < n) We can now describe how PAS creates a prediction schedule, which is a list of fidelities, where the first fidelity in the list is served to the user initially and the following fidelities are served upon subsequent interactions. To create the schedule, we first solve the recurrence ET(i,j) for all pairs of fidelity levels. This can be easily done in polynomial time using dynamic programming techniques to avoid unnecessary recomputations. Once computed, these expected values are stored in a table for quick access. Next, we find the fidelity level a such that ET (0, a) = min[ET (0, 1), ..., ET (0, n)]. This becomes the first prediction in our schedule. Whenever we have a prior predicted fidelity level, say i, we can find the subsequent prediction j such that ET (i, j) = min[ET (i, i + 1), ..., ET (i, n)]. This process is repeated until the prediction made is fidelity level n. Figure 4.1 demonstrates a simple example of expected fulfillment time computations. This figure is divided into 3 columns. The first column shows past history, which is used to form probabilities. The center column provides the calculations of expected fulfillment time (ET) for all possible i,j combinations. Finally, the rightmost column performs the computation for an illustrative set of parameters. In our example, we set the object to be divided into n=4 slices, interaction time I to be 1 second, and the time cost of transferring a single slice to be 1 second

C HAPTER 4. P ERSONALIZED A DAPTATION S CHEDULE

22

also. Once all the expected fulfillment time values for this user have been computed, we can compute the prediction schedule for this user as follows: We suppose that the user currently has the image at fidelity 0 (i.e. the user does not have the image). We consider all possible adaptation decisions at this level and pick the one that provides the lowest fulfillment time to be the first prediction in our schedule. From ET(0,1), ET(0,2), ET(0,3) and ET(0,4), we see that the expected fulfillment time for providing fidelity 2 is the lowest (3.50 vs. 4.00, 4.16 and 3.66 seconds), and so this is the first prediction in our schedule. Now, we suppose that the user sees the image at fidelity 2. We again consider all possible adaptation decisions at this level and pick the one that provides the lowest fulfillment time to be the second prediction in our schedule. From ET(2,3), and ET(2,4), we see that the expected fulfillment time for providing fidelity 4 is the lowest(2.00 vs 2.33 seconds), and so this becomes the second prediction in our schedule. Since a prediction in our schedule reached the highest fidelity n=4 in our example, we are done. The schedule consists of two predictions: 2 and 4.

4.2 Trading off User Interaction for Bandwidth Often, it is the case that users have to pay for the amount of bandwidth that they use over wide-area cellular links. An adaptation system that minimizes bandwidth consumption, which is how our system behaves in Learning mode, would provide users with the minimal amount of bandwidth that satisfies them and wastes no unnecessary bandwidth. However, this requires the maximum number of interactions and users may find this cumbersome. Our system allows the user to specify a tradeoff between their willingness to interact and their desire to save bandwidth, and optimizes for this. Specifically, a user can specify the minimum amount of bandwidth that she must save in exchange for providing an interaction.

3

By multiplying the

amount of bandwidth savings by the price of bandwidth, we can determine the minimum cost savings that the user requires for having to provide an interaction. We can now show how PAS 3

Chapter 5 discusses the user interface to specify the tradeoff in detail

C HAPTER 4. P ERSONALIZED A DAPTATION S CHEDULE

# of users satisfied with this fidelity

S4

S3

S2

S1

20 10 20 10

23

DT(i,j)=1*(j-i) second I=1 second

ET(3,4)=DT(3,4)

ET(3,4)=1.00

ET(2,3)=DT(2,3)+(20/30)*(I+min[ET(3,4)])

ET(2,3)=2.33

ET(2,4)=DT(2,4)

ET(2,4)=2.00

ET(1,2)=DT(1,2)+(30/50)*(I+min[ET(2,3), ET(2,4)])

ET(1,2)=2.80

ET(1,3)=DT(1,3)+(20/50)*(I+min[ET(3,4)])

ET(1,3)=2.80

ET(1,4)=DT(1,4)

ET(1,4)=3.00

ET(0,1)=DT(0,1)+(50/60)*(I+min[ET(1,2),ET(1,3),ET(1,4)])

ET(0,1)=4.16

ET(0,2)=DT(0,2)+(30/60)*(I+min[ET(2,3),ET(2,4)])

ET(0,2)=3.50

ET(0,3)=DT(0,3)+(20/60)*(I+min[ET(3,4)])

ET(0,3)=3.66

ET(0,4)=DT(0,4)

ET(0,4)=4.00

START Figure 4.1: A simple example of expected fulfillment time computations. The left column shows past history, which is used to form probabilities. The center column provides the calculations of expected fulfillment time (ET) for all possible i,j combinations. The rightmost column performs the computation for an illustrative set of parameters. The computed schedule consists of two predictions: 2 and 4.

C HAPTER 4. P ERSONALIZED A DAPTATION S CHEDULE

24

can optimize a user-specified tradeoff, taking into account both the monetary cost of interaction and the price of bandwidth. Let EC(i, j) (where 0 <= i < j <= n) be the user’s expected monetary cost if, given that the user has fetched all fidelity levels up to level i and is requesting a fidelity improvement, we take them to fidelity level j. Let BC(i, j) be the bandwidth cost required to download the slices si+1 ... sj . This is just the cost per KB of data multiplied by the sizes of all the slices that need to get transferred. Finally, let IC be the minimum cost savings that the user requires in exchange for providing a single interaction. Now, we can define the following recurrence relation: • Base case: EC(i, n) = BC(i, n)(where 0 <= i < n) • Recursive case: EC(i, j) = BC(i, j) + P rob(f f > j|f f > i) × (IC + min[EC(j, j + 1), ..., EC(j, n)])(where 0 <= i < j < n) The base case is the user’s expected monetary cost if we take them to fidelity level n when they requested an improvement at fidelity level i. This is simply the bandwidth cost of transferring slices si+1 ... sn of the object. The recursive step is the user’s expected monetary cost if we take them to fidelity level j when they requested an improvement at fidelity level i. The expected monetary cost in this case is the bandwidth cost of downloading the delta between i and j, along with the cost of providing interaction and the bandwidth cost of downloading additional slices if fidelity j was insufficient. The monetary cost of further adaptation is only incurred with P rob(f f > j|f f > i), which is the probability that when the user is at fidelity level j, they need further refinements (conditioned on the fact that the user’s fulfillment fidelity level is greater than i). We can now describe the workings of the PAS algorithm that creates a prediction schedule to minimize the expected monetary cost of adaptation and thus achieving the user-specified tradeoff between bandwidth consumption and user interaction. To create the schedule, we first solve the recurrence EC(i,j) for all pairs of fidelity levels. As before, this can be easily done in

C HAPTER 4. P ERSONALIZED A DAPTATION S CHEDULE

25

polynomial time using dynamic programming techniques to avoid unnecessary recomputations. Once computed, these expected values are stored in a table for quick access. Next, we find the fidelity level a such that EC(0, a) = min[EC(0, 1), ..., EC(0, n)]. This becomes the first prediction in our schedule. Whenever we have a prior predicted fidelity level, say i, we can find the subsequent prediction by finding the j such that EC(i, j) = min[EC(i, i + 1), ..., EC(i, n)]. This process is repeated until the prediction made is fidelity level n.

Chapter 5 Chameleon Adaptive Browser In this chapter, we present the adaptive browser used for Chameleon, which is based on the Pocket PC version of Internet Explorer. We first describe two variations of the browser interfaces we implement for the learning mode of Chameleon. Next, we discuss how we can augment the interfaces to support Chameleon prediction mode. Finally, we describe how the adaptive browser allows users to specify tradeoffs between bandwidth and interactions.

5.1 Learning Mode Interfaces To allow users to refine images in Chameleon learning mode, we augmented Internet Explorer with two user interfaces in the learning mode. We will refer to these interfaces as tapping and multi-tab. With the tapping interface, users can improve the fidelity of an image by tapping on it with the stylus. With the multi-tab interface, users can increase image fidelity by multiple levels in a single operation. The multi-tab interface shows the available fidelity levels for an image with an array of small boxes above the image. To request a specific fidelity level, the user just taps the appropriate box with the stylus. Boxes with unavailable fidelity levels, such as those at or below the current level, are grayed out. Figure 5.1 shows a screenshot of the multitab interface. We implemented two interfaces to allow us to research the effects that different feedback mechanisms have on the quality of adaptation predictions. However, determining the 26

C HAPTER 5. C HAMELEON A DAPTIVE B ROWSER

27

Figure 5.1: Snapshot of the PDA with the multi-tab interface that allows users to select an arbitrary fidelity level. The left and right snapshots show the same image at low and high fidelity, respectively, as selected by the multi-tab interface.

best interface for applications that support fidelity adaptation is beyond the scope of this paper.

The tapping interface works for any number of images on a page, since user can tap on each image to improve its fidelity. With multi-tab interface, the situation becomes slightly complicated. First of all, web page with a single image can be taken care of by providing one multi-tab menu on top of the screen, as shown in 5.1. For page with multiple images, we provide two alternatives to allow user refinement. One approach is to keep the multi-tab on the top of the screen, while allowing users to specify individual images to improve their fidelities. The user can do so by tapping on the images for which she wants to request fidelity improvement. Then the user chooses a fidelity level by tapping on the multi-tabs on the top of the screen. The other approach is to overlay the multi-tabs on top of each image. Initially, the page is presented without loading the multi-tab. When the user requests fidelity improvement for a particular image, she taps on the image, and the multi-tab will appear overlaying on that image. She can then select a target fidelity level by tapping on the appropriate box. The first approach provides conveniences to the users by allowing them to improve fidelity levels of more than one image at a time. The second approach conserves some screen space by

C HAPTER 5. C HAMELEON A DAPTIVE B ROWSER

28

overlaying multi-tab menus on top of images.

5.2 Prediction Mode Interfaces In prediction mode, Chameleon generates personalized adaptation schedules for each individual image. The schedule contains a list of predictions, where initially the first prediction in the list is served to the user and subsequent fidelities are only served upon user requests. At the first glance, tapping interface seems to be the only choice for the front end of Chameleon prediction mode. I.e., upon each tapping, the next prediction will be presented to the user. In fact, the multi-tab interface can also be used in the prediction mode with a small tweak. In addition to presenting all possible fidelity levels on the screen, we can highlight the fidelity levels that are on the prediction schedules. The user taps on the highlighted fidelity levels if she wants to take advantage of the PAS prediction. However, she also has the option to tap on fidelity levels that are not highlighted should she choose not to use the prediction schedules. The multi-tab interface in prediction mode provides more flexibility to the user, at the cost of sacrificing some screen space.

5.3 Calculate Average Interaction Time PAS generates personalized schedule based on history of user accesses, network condition and average user interaction time. While the proxy captures the history of accesses and the effective bandwidth, the adaptive browser is responsible for determining user’s average interaction time. Regardless of user-interface, average interaction time for pages with a single image can be computed to be the time between when an image is rendered on the screen and when the user provides an interaction, averaged across many instances of interaction. When there are multiple images on a web page, this definition may not suffice because the user may shift her attention between images. We acknowledge that accurately computing fulfillment time in this

C HAPTER 5. C HAMELEON A DAPTIVE B ROWSER

29

situation depends on the user-interface being employed. For instance, in the tapping and multitab interface, we only consider the time between consecutive interactions on the same image, and disregard the time if the user provided interaction to a different image in between.

5.4 Interface for User Preference The adaptive browser also provides an interface that allows users to specify whether they are interested in optimizing fulfillment time or whether they want to tradeoff bandwidth for interactions. When the user wishes to tradeoff bandwidth for interaction, the interface lets the user specify the monetary savings she expect to get in exchange for the inconvenience of having to interact with the system to improve image fidelity. If the adaptation proxy cannot automatically determine the user’s monetary cost of bandwidth, the user can provide this information. The browser allows this information to be entered by the user and relays it to the adaptation proxy.

Chapter 6 Experiments We conduct a user study to collect traces of users interacting with adapted image-rich web content using our chameleon prototype. The goal of the user study is to validate the following hypothesis: • H1 : fidelity adaptation can significantly reduce bandwidth consumption • H2 : usage semantics affect adaptation requirements • H3 : An adaptation approach that minimizes bandwidth consumption also minimizes latencies associated with browsing web content • H4 : predictions based on history result in good adaptation performance • H5 : different interfaces influence adaptive behavior In the rest of this section, we will describe the three web sites that we used as benchmarks in the user study. We then describe our methodology and setup.

6.1 Benchmarks We developed three image-rich web sites for our user study: Synthetic, Photo Album, and Poster Ads. For each site, we gave users a specific set of tasks to perform. Users must improve 30

C HAPTER 6. E XPERIMENTS

31

image fidelity until enough detail is available to complete the task. We asked users to perform specific tasks in order to simulate personal interests in the content and prevent random browsing behavior. In the real world, users browse the sites that they are interested in and have specific motivations for looking at content (e.g., read the latest news, or buy a product with a given feature). It is this motivation that determines the way in which an object should be adapted. Such motivation cannot form spontaneously in a lab experiment and requires us to use specific tasks to compensate for this limitation. We designed each of our three web sites with a specific purpose in mind. Synthetic experiment represents the most controlled case, where users use images for the same purpose and steps have been taken to reduce variations among subjects. Photo Album is a more realistic scenario, where users interact with real images downloaded from the web. These users still share the same task but there is more opportunity for variation among individuals. Finally, Poster Ads reflects the most realistic scenario, where users use the same images to perform different tasks.

6.1.1 Synthetic

This is a controlled experiment where users are asked to recognize 6 images that contain words made up of 10 random letters in one of three font sizes (14, 20, and 26pt). The font size affects the fidelity level at which the word can be recognized (smaller fonts require higher fidelity levels). Users are presented one image at a time as shown in Figure A.1. Together with the image, users are presented with 4 text buttons, and are asked to choose the button that corresponds to the image. Should the user select the wrong button, the system prompts the user to select again. However, the entry for this particular trial is discarded so that our analysis only considers the traces of users who correctly performed the task.

C HAPTER 6. E XPERIMENTS

32

6.1.2 Photo Album

This web site consists of two pages, each of which has 6 photographs arranged in a single column. On the first page, users are asked to determine how many of the 6 pictures show a popular movie actor. In the second page, users are asked to identify those pictures that show a widely-recognized politician. Since multiple images are displayed on a single page, users have the freedom to interact with images in different order, as opposed to the controlled experiment where users had to interact with images in sequences. All our test subjects were previously familiar with the appearance of the actor and the political personality used in this experiment. The design of this experiment is similar to that for the synthetic experiment but since the task depends on an individual’s capability for recognizing the individual in the photograph, we would expect to see more variance in the adaptation requirements of different users for the same object.

6.1.3 Poster Ads

We designed this web site (and its related tasks) to explore a situation where the same content is used to accomplish 3 different tasks. This web site contains 4 poster images for a large electronics store. On each image, there are multiple products listed with their promotion price. Users are asked to browse each poster in sequence, and obtain relevant information, such as the price for on-sale items. This experiment is designed to mimic real-world situations where different users have varying purposes vis-a-vis a single object. We expect that users performing the same task would have similar adaptation requirements but these would differ significantly from the adaptation requirements of users performing other tasks.

C HAPTER 6. E XPERIMENTS

33

6.2 Methodology and Setup We asked 30 University students to conduct the above tasks. Test subjects were asked to perform the Synthetic experiment with both the tapping and the multi-tab interfaces. A fully randomized, within subject design was used. The two interfaces (tapping and multi-tab) were counter balanced between subjects, i.e., all 30 students performed the synthetic experiment on both interfaces. However, 15 users performed the experiment with the tapping interface first, while the other 15 used the multi-tap interface initially. In the Photo Album and Poster Ad experiment, all users performed the tasks only with the tapping interfaces. In the Poster Ad experiments, we divided users into three equal-sized groups and assigned each group one of the three available tasks. Furthermore, users were randomly assigned to groups at the start of the experiment. We provided test subjects with instructions both on-line and on paper sheets. The paper version is attached in appendix B. The users were told that they were accessing content over a CDMA 1X cellular connection, and that an adaptive proxy would transcode images into low fidelity to reduce download time. They were also given a brief training session at the beginning of the experiment to become familiar with the interfaces they need to use to refine the images. In order to collect traces that would tell us the minimum fidelity that enabled our experiment participants to complete tasks, we designed our incentives structure to encourage users to finish the tasks as quickly as they could. This setup encourages users to stop refining image fidelity once image quality is sufficient for the task at hand. We purposely forced the system to be in Learning Mode through all our experiments so that we could collect traces that would tell us the minimum fidelity that enabled our experiment participants to complete tasks. We designed our incentives structure to encourage users to finish the tasks as quickly as they could. This setup encourages users to stop refining image fidelity once image quality is sufficient for the task at hand. Finally, to reduce variation due to differences in cellular coverage, we conducted all experiments in the same location during business hours. Even with these precautions, we experienced

C HAPTER 6. E XPERIMENTS significant variations in CDMA 1X network bandwidth between test subjects.

34

Chapter 7 Experiment Evaluation In this chapter, we start by providing an analysis of the traces collected from the user study. Next, we evaluate the performance of our prediction algorithm. Finally, we analyze the impact of different user interfaces on adaptive behaviors.

7.1 Trace Analysis The adaptation system used in our study records the minimum fidelity that enabled our experiment participants to complete the task, thus we refer to our experiment traces as BWoptimal. To help the analysis, we also consider two simple adaptation policies that provide us theoretical lower and upper bound to the performance of an adaptation system. Oracle illustrates a perfect predictive adaptation policy that loads images at the user’s fulfillment fidelities captured in the user study traces, and as such Oracle provides an upper bound to the performance of the adaptation system. In contrast, NoAdaptation corresponds to a simple policy that loads all images at their full fidelity. NoAdaptation provides a lower bound on the performance of the adaptation system below which adaptation becomes counter-productive. The fulfillment time for Oracle and NoAdaptation consist exclusively of time transferring image data over the network, as both policies do not involve user interaction. For each user, we estimates fulfillment times for Oracle and NoAdaptation for a given image by dividing the respective image size by 35

C HAPTER 7. E XPERIMENT E VALUATION

36

the average network bandwidth and latency experienced by the user while performing the user study. Overall, the average user interaction time for subjects in our user study was 2388ms, with a standard deviation of 1421ms. During the experiment, the average CDMA 1X network bandwidth was 83 Kbps with a standard deviation of 16.9 Kbps. Appendix A provides detailed traces collected during the experiment. On average users were able to complete the user study with just a fraction of the bandwidth required by NoAdaptation (44% for Synthetic, 19% for Photo Album, and 49% for Poster Ads). Figure 7.1 compares the average per page bandwidth consumption across users between BWoptimal and NoAdaptation. Error bars in this figure show 95% confidence intervals. Each page in the Synthetic and Poster Ads experiment contains only a single image. In contrast, each page in the Photo Album experiment has 6 images. This is why bandwidth consumption for Photo Album are significantly higher than for Synthetic and Poster Ads. All results we present in this chapter (except section 7.1.3 ) reflect the tapping interface. The figure concludes that (R1 1 ) fidelity adaptation can significantly reduce bandwidth consumption.

7.1.1 Fulfillment Fidelity Figure 7.2 shows a histogram of the fulfillment fidelities for one representative image from each of our three web sites. The histogram of the Synthetic image shows a strong bias in fulfillment fidelity with 80% of user study subjects selecting fidelity 3 for this image. Synthetic also shows that even within a controlled experiment, there are small variations in fulfillment fidelity with some users selecting fidelity 2 and fidelity 4. We attribute this variation to differences in user perception. The histogram of the Photo Album image shows a similar pattern to the Synthetic image with 43% of subjects selecting fidelity 3 for this image. However, we see a higher variance in fulfillment fidelities. We attribute the higher variance to differences in the ability of users to recognize the person in the photographs. When we consider users who 1

The R in chapter 7.1 correspond to H in chapter 6

C HAPTER 7. E XPERIMENT E VALUATION

700

37

BWoptimal

NoAdaptation

Bandwidth Consumptions (KBs)

600

500

400

300

200

100

0 Synthetic

Photo

Poster

Figure 7.1: Average per-image bandwidth consumption for 3 web sites. Users were able to complete the study with a small fraction of the bandwidth required by full fidelity content

25

20

Number of Users

15

10

5

Fidelity 1 Fidelity 2 Fidelity 3 Fidelity 4 Fidelity 5 Fidelity 6 Fidelity 7 Fidelity 8 Fidelity 9 Fidelity 10 Fidelity 1 Fidelity 2 Fidelity 3 Fidelity 4 Fidelity 5 Fidelity 6 Fidelity 7 Fidelity 8 Fidelity 9 Fidelity 10 Fidelity 1 Fidelity 2 Fidelity 3 Fidelity 4 Fidelity 5 Fidelity 6 Fidelity 7 Fidelity 8 Fidelity 9 Fidelity 10

0

Synthetic

Photo

Poster

Figure 7.2: Fulfillment fidelity distribution for 3 web sites. Though user selections fall in a small range for each image, these selections also show variances among users

C HAPTER 7. E XPERIMENT E VALUATION

38

requested fidelity levels 2, 3 and 4, we find that 87% of users fall into this range. Based on the fact that the fulfillment fidelity of most users is clustered in a small number of fidelities, and the observation that all users performed the same tasks in the Synthetic and Photo Album experiments, we conclude that users with the same usage semantics have similar adaptation requirements. Other Synthetic images show similar strong bias with the caveat that the most popular fulfillment fidelity changes based on the font size of the letters in the image. Overall the most common fulfillment fidelities were 3, 5, and 9 for images with large, medium and small text font size, respectively. Other images in the Photo Album experiment show similar clustering of fulfillment fidelity, but the location of the cluster differs across images. Thus, we conclude that adaptation requirements vary from image to image. Finally, the histogram for the Poster Ads image shows a distinctive pattern where fulfillment fidelity is concentrated in three different clusters. This occurs because we gave users three distinct tasks to perform over the same set of images. This is most reflective of the real world because users may have multiple usage semantics for the same objects. Thus, we conclude that users with different usage semantics have different requirements for adaptation. Based on the above observations, we conclude that R(2) usage semantics affect adaptation requirements. This conclusion suggests that using history to predict adaptation will deliver good performance and much bandwidth savings.

7.1.2 Fulfillment Time The previous chapter defines fulfillment time as the sum of download times to transfer content (including refinements) and the user interaction time required to correct bad adaptation decisions. Figure 7.3 compares the average per page fulfillment time across users between BWoptimal NoAdaptation and Oracle. As we can see, BWoptimal adaptation strategy sometimes provide benefits in terms of fulfillment time. For example, users spent less time in average to achieve fulfillment fidelity for Photo Album experiment in compare with loading the images

C HAPTER 7. E XPERIMENT E VALUATION 70

Oracle

39 BWoptimal

NoAdaptation

Fulfillment Time (seconds)

60 50 40 30 20 10 0 Synthetic

Photo

Poster

Figure 7.3: Synthetic experiment average fulfillment time across all users with different adaptation policies. Interactive adaptation approach that minimizes bandwidth does not always minimize fulfillment time

to full fidelity. In such cases, the savings in download latencies is larger than the latencies introduced by user interactions. Hence the fulfillment time is reduced. Interestingly, this is contrary to what has been reported in previous usability studies, where more user interventions lead to increase in task completion time. In other cases such as the Synthetic and Poster Ads experiment, the bandwidth optimal strategy becomes counter productive, since the latencies introduced by user interactions is larger than savings in download latencies. Therefore, we conclude that (R3)iterative adaptation approaches that only minimize bandwidth may not necessarily lead to optimization of fulfillment time. The fact that Oracle significantly outperformed BWoptimal and NoAdaptation suggests that there is a lot of room for improvement in adaptation performance.

7.1.3 User Interfaces The traces we collected from tapping and multi-tab interfaces in the Synthetic experiment show distinct user behaviors. Tapping interface is bandwidth conservative since each user request

C HAPTER 7. E XPERIMENT E VALUATION

180

40

Tapping

Mult-tab

Bandwidth Consumption (KBs)

160 140 120 100 80 60 40 20 0 pic1

pic2

pic3

pic4

pic5

pic6

Figure 7.4: Synthetic experiment average bandwidth consumptions across all users with two interfaces. Tapping interface conserve Bandwidth

Tapping

9

Multi-tab

8

Number of Interactions

7 6 5 4 3 2 1 0 pic1

pic2

pic3

pic4

pic5

pic6

Figure 7.5: Synthetic experiment average number of interactions across all users with two interfaces. Tapping interface requires more user interactions

C HAPTER 7. E XPERIMENT E VALUATION

41

only improves one fidelity level. However, because all images were served at the lowest fidelity level to start with, tapping interface typically will require more frequent user interactions. On the other hand, the multi-tab interface allows the user to increase image fidelity by multiple levels in a single operation. This effectively conserves user interactions, but may require more bandwidth than necessary. Standard T-tests are conducted to compare interfaces in respect of dependent variables bandwidth consumption, number of interactions and fulfillment time. The results show that users with multi-tab interface finishes 19% faster(p=0.014), they consumes 26% more bandwidth (p < 0.0001) and they spend 70% fewer number of interaction (p < 0.0001). Figure 7.4 and 7.5 illustrate the differences between this two interfaces. The different user behaviors illustrated in the Synthetic experiment implied a tradeoff between network bandwidth and user interactions. If user spent more efforts in refining the adaptation, then she may end up consuming less bandwidth resources, and vice versa. We utilize this fundamental tradeoff in PAS to handle any user specified tradeoff between bandwidth and user interactions.

7.1.4 Discussion The commonality in fulfillment fidelity observed in the histograms of Figure 7.2 motivates a history-based approach to fidelity prediction. However, the spread in fulfillment fidelity in the histograms (due to differences in user preferences or semantics of the object vis-a-vis the task), suggests that predictions based only on history (e.g., serve mean fidelity) are likely to result in significant user interaction. Therefore, to optimize fulfillment time, a predictive approach also needs to consider the latencies associated with user interaction. It is this realization that motivated the PAS policy. In this section, we also explored how different feedback interfaces can affect the history of our adaptation system. In section 7.2, we will investigate how this phenomenon impacts the performance of Chameleon prediction.

C HAPTER 7. E XPERIMENT E VALUATION

42

7.2 Prediction Performance In this section, we evaluate the performance of the Chameleon in prediction mode with traces collected in the user study. We start by describing our methodology for calculating the performance of various policies. Next, we evaluate Chameleon when the goal is optimizing fulfillment time. Subsequently, we evaluate Chameleon when the user wishes to trade off bandwidth consumption for interactions. Finally, we discuss the impact of adaptation performance between two interfaces.

7.2.1 Methodology We consider 4 adaptation policies in our evaluation: Oracle, NoAdaptation, Mean and PAS. We have discussed the Oracle and NoAdaptation in chapter 7.1. Recall that Oracle illustrates a perfect predictive adaptation policy that loads images at the user’s fulfillment fidelities captured in the user study traces, and as such Oracle provides an upper bound to the performance of the adaptation system. In contrast, NoAdaptation corresponds to a simple policy that loads all images at their full fidelity. NoAdaptation provides a lower bound on the performance of the adaptation system below which adaptation becomes counter-productive. Mean is representative of a class of statistically-inspired policies that considers history but does not account for user interaction time. We experimented with other statistically-inspired policies. While different policies perform best for individual web sites (e.g., Mode performs best for Photo Album); Mean was the best overall performer. We use the traces we collected in the user study to estimate the expected performance of Mean in steady state. For each one of the 30 users in our traces, we simulate steady state by assuming that the system has gathered history data by interacting with the other 29 users in learning mode. When Mean predicts a fidelity level that is greater than the user’s fulfillment fidelity, then fulfillment time consists only of the time to download the predicted fidelity. However, when the prediction is lower than the user’s fulfillment fidelity, then fulfillment time consists of the time to download the

C HAPTER 7. E XPERIMENT E VALUATION

43

fulfillment fidelity plus the number of interaction needed to go from the predicted fidelity to the user’s fulfillment fidelity multiplied by the user’s average interactions time. For example, if the user’s fulfillment fidelity is 7, but Mean predicts fidelity 5, then the fulfillment time is the time to download up to fidelity 7 plus twice the user’s average interaction time. We estimate the expected performance of PAS in steady state in a similar way as for Mean. For each one of the 30 users, we compute their PAS schedule for each image based on the history of the other 29 users, the average network bandwidth experienced by the user, and the user’s average interaction time. To determine the expected fulfillment time the user will experience for a specific image, we first determine the lowest fidelity level in the user’s PAS adaptation schedule that is equal or higher than the user’s fulfillment fidelity captured in the trace. We refer to this fidelity as the target fidelity. We then compute fulfillment time by adding the time it takes to download the target fidelity under the average network bandwidth experienced by the user plus the number of interactions needed to get to the target fidelity multiplied by the average interaction time for the specific user. For example, if the PAS schedule for the given user and image is {2,5,7,10} and the user’s fulfillment fidelity for the image is 6, then the expected fulfillment time equals the time to download the image at fidelity 7 plus two times the average user interaction time.

Accuracy of the Simulator To verify the accuracy of the performance results we are getting in the simulation, we implement a simulated policy called Predictive1. The fulfillment time of this policy is calculated as the time to download the fulfillment fidelity plus the number of interaction needed to go from fidelity 1 to the user’s fulfillment fidelity multiplied by the user’s average interactions time. Notice that this policy simulates the scenarios in our user study. However, the fulfillment time in this policy is estimated using average interaction time and bandwidth for a particular user. We compare the time cost of Predictive1 policy with the fulfillment time measured from the real experiment.The average difference between Predictive1 and the real experiment is less than

C HAPTER 7. E XPERIMENT E VALUATION

44

5%. Figure 7.6 shows the average per-page fulfilment time across users for the real experiment and Predictive1 policy.

7.2.2 Optimizing Fulfillment Time Figures 7.8 and 7.7 show the average per-page fulfillment time and bandwidth consumption across users for Oracle, NoAdaptation, Mean, and PAS over CDMA 1X. Error bars in all figures show 95% confidence intervals. Each page in the Synthetic and Poster Ads experiment contains only a single image. In contrast, each page in the Photo Album experiment has 6 images. This is why fulfillment time and bandwidth consumption for Photo Album are significantly higher than for Synthetic and Poster Ads. All results we present in this section reflect the tapping interface. We discuss multi-tab interface results in section 7.2.4. Both Mean and PAS achieve large reductions in fulfillment time and bandwidth consumption for Synthetic and Photo Album. In fact, for these two web sites, both policies come within 13% of Oracle in terms of fulfillment time and 4% in terms of bandwidth consumption, suggesting that both policies are very effective and that there is little room for improvement; however, the situation for Poster Ads is different. Whereas PAS reduces fulfillment time by 33% and gets within 14% of Oracle, Mean actually increases fulfillment time by 6%. It is interesting to note that both Mean and PAS have similar bandwidth consumption. The difference in fulfillment time is attributed to the amount of interaction each policy requires. PAS correctly identifies the different fidelity levels that are suitable for the different tasks supported by the Poster Ads site, and therefore quickly jumps to the next relevant fidelity once the user asks for a fidelity improvement. In contrast, Mean requires the user to increase fidelity multiple times. Figures 7.9 shows the average per-page fulfillment time across users for Oracle, NoAdaptation, Mean, and PAS over a simulated 3G link with per-user effective bandwidth of 384 Kbps 2 . The figure shows that even for much higher bandwidth of 384 kbps, which is at least 3 times 2

While the nominal bandwidth for a 3G cell is rated at around 2 Mbps, effective per-user bandwidth is expected to be 384 Kbps or lower.

C HAPTER 7. E XPERIMENT E VALUATION

50

45

Predictive1

Experiment

45

Fulfillment Time (seconds)

40 35 30 25 20 15 10 5 0 1

2

3 4 5 Images in Synthetic Experiment

6

Figure 7.6: Compare the simulated fulfillment time with real experiment fulfillment of Synthetic experiment. Our simulation is within 95% of the accuracy

700

Oracle

NoAdaptation

Mean

PAS

Bandwidth Consumptions (KBs)

600

500

400

300

200

100

0 Synthetic

Photo

Poster

Figure 7.7: Bandwidth consumption over CDMA 1X. PAS consumes near optimal bandwidth

C HAPTER 7. E XPERIMENT E VALUATION

46

larger than the effective bandwidth that currently available services (at least) in North America provide, adaptation is still highly beneficial. Overall, PAS still achieves savings for all three web sites (e.g., 47% for Photo Album and comes within 6% of Oracle). These results show that PAS is able to adapt its prediction schedule and take advantage of the increase in available bandwidth. PAS increases its bandwidth consumption by 20% compared to the CDMA 1X results, but this is offset by a reduction in user interaction time. In contrast, Mean’s predictions remain fixed and its performance suffers greatly as the relative contribution of user interaction time to fulfillment time increases. It is worth noticing that in such high bandwidth environment, absolute fulfillment time savings for adaptations may become smaller, but users still benefit from conserving significant amount of bandwidth. Figure 7.10 illustrates how PAS generates personalized adaptation schedules that (in addition to history) take into account the prevailing bandwidth and latency conditions, as well as the user’s average interaction time. Figure 7.10 shows two adaptation schedules for an image of the Poster Ads web site. The left and right schedules correspond to the users that experienced the slowest (54 Kbps) and fastest (107 Kbps) average network bandwidth, respectively. Bars in the schedule represent the order in which image fidelity will be improved. For example, for the user with slow connectivity, PAS provides the image initially at fidelity 2, and at fidelities 9 and 10 upon user request. As expected, PAS generates a schedule with more predictions for the user with slower connectivity, and a schedule with fewer predictions for the user with the faster connection speed. In general, when the average user interaction time is high, or the connection speed is relatively fast, PAS serves users at a higher initial fidelity level and improves object fidelity in greater strides. It is worthy to note that, the schedule for the user with slow connectivity corresponds to the three fidelity levels that most users will select in this image. This suggests that PAS is capable to identify, on-the-fly, user selection “hot spots.”

Discussion

These results shows that the performance of statistical policies that do not take

into account user interaction time can vary erratically across web sites and bandwidth condi-

C HAPTER 7. E XPERIMENT E VALUATION

70

Oracle

47

NoAdaptation

Mean

PAS

Fulfillment Time (seconds)

60

50

40

30

20

10

0 Synthetic

Photo

Poster

Figure 7.8: Fulfillment Time over CDMA 1X. PAS outperforms NoAdaptation and Mean policies and come very close to Oracle

25

Oracle

NoAdaptation

Mean

PAS

Fulfillment Time (seconds)

20

15

10

5

0 Synthetic

Photo

Poster

Figure 7.9: Fulfillment time over simulated 3G. PAS is flexible and achieves good performance regardless of available bandwidth

C HAPTER 7. E XPERIMENT E VALUATION First Prediction

Second Prediction

48 Third Prediction

Fourth Prediction

10

10 9

Predicted Fidelity

9

5

2

2

Fastest

Slowest

Figure 7.10: Personalized prediction schedules for users with highest and lowest average bandwidth. PAS generates different schedules for each individual

tions. Thus (R4) Prediction based purely on history will reduce bandwidth consumption, but may not always result in optimal fulfillment time. In contrast, PAS proves robust across web sites and evaluation conditions. Moreover, the tightness of the confidence interval bars shows that PAS provides stable performance across users. By taking into account the relative cost of network transfer and user interaction, PAS seamlessly adjusts its prediction schedule to account for differences in object size across web sites, as well as changes in bandwidth conditions. Finally, PAS is effective even when content is used for multiple tasks with different adaptation requirements.

7.2.3 Trading off Bandwidth for User Interaction Figures 7.11 and 7.12 show the effect of varying the monetary value associated with user interaction on bandwidth consumption, average number of user interactions and fulfillment time averaged across all images in our user study for a hypothetical case where users pay $10 per MB of data they download (or 1 cent per 1 KB) 3 . The X-axis in Figure 7.11 represents different unit 3

In practice, it is not uncommon for users to pay as much as $30 per MB.

C HAPTER 7. E XPERIMENT E VALUATION

49

graph Chart 8

80

Bandwidth

1.4

Num of Interaction

1 70

0.8 0.6

65

0.4

Number of Interactions

Bandwidth Consumption (KB)

1.2 75

60 0.2 55

0 1c

5c

10c

25c

TimeOpt

50c

75c

100c

Price per Interaction Page 1

Figure 7.11: Tradeoff between user interactions and bandwidth consumptions.

11

Fulfillment Time (second)

10.5

10 9.5

9 8.5

8 7.5 1c

5c

10c

25c

TimeOpt

50c

Price per Interaction

75c

100c

Figure 7.12: Change to fulfillment time for different bandiwdth/interactions tradeoffs.

C HAPTER 7. E XPERIMENT E VALUATION

50

prices for interactions. The Y-axis on the left shows the average bandwidth consumption per image. The Y-axis on the right shows the average number of interactions per image. Clearly, as interaction becomes cheaper, the user will be required to provide more user interactions, with a resultant decrease in average bandwidth consumption. In contract, as interaction becomes more expensive, the system will require the user to perform fewer interactions, resulting in higher bandwidth consumption. Figure 7.12 demonstrates that fulfillment time deviated from the optimal in both of the scenarios described above. Specifically, Figure 7.11 shows that for the 3 web sites used in our user study, an average user can reduce her bandwidth consumption by close to 20 KB (save 20 cents) per image if she is willing to interact with the system an average of 1.2 times per image.

7.2.4 Effect of User Interface In chapter 3 we have discussed the two operating mode of PAS: the learning mode and the prediction mode. Our prototype proxy collects histories of fulfillment fidelities and can be viewed as PAS in learning mode. The results presented in previous sections in this chapter simulates PAS running in prediction mode. In this section, we discuss the tradeoffs between this two interfaces when they are used in different modes. Figure 7.13 shows average fulfillment time for the Synthetic web site for PAS in learning and prediction modes with the tapping and multi-tab interfaces. This figure illustrates an interesting tradeoff. We see that multi-tab achieves lower fulfillment times in learning mode (T-test p = 0.006), but results in higher fulfillment times in prediction mode. While multi-tab requires fewer user interactions in learning mode (T-test p < 0.0001), it also encourages users to select higher fulfillment fidelities (T-test p < 0.0001), which in turn results in higher bandwidth consumption and longer download times. Moreover, as Figure 7.14 shows multi-tap results in a wider spread in the range of fulfillment fidelities, which degrades the quality of the prediction. Therefore, there is a tradeoff between the effort that users need to invest in training the system and the potential benefits once the system moves into prediction mode. Since we expect that

C HAPTER 7. E XPERIMENT E VALUATION

30

51

Tapping

Multi-tab

Fulfillment Time (seconds)

25

20

15

10

5

0 Learning

Predictive

Figure 7.13: Average fulfillment time in learning and prediction mode with tapping and multitap interface for Synthetic web site.

25

20

Number of Users

15

10

5

Tapping

Fidelity 9

Fidelity 10

Fidelity 8

Fidelity 7

Fidelity 6

Fidelity 5

Fidelity 4

Fidelity 3

Fidelity 2

Fidelity 1

Fidelity 9

Fidelity 10

Fidelity 8

Fidelity 7

Fidelity 6

Fidelity 5

Fidelity 4

Fidelity 3

Fidelity 2

Fidelity 1

0

Multi-tab

Figure 7.14: Fulfillment fidelity distribution of tapping and multi-tab interface for a single image. Multi-tap results in a wider spread in the range of fulfillment fidelities

C HAPTER 7. E XPERIMENT E VALUATION

52

PAS will spend most of the time in prediction, tapping appears to be a better choice of interface. Thus we conclude that (R5) different interfaces impact adaptive behavior. Interestingly, despite that multitab takes less time for the user to complete tasks; it results in significantly higher fidelity selections. Consequently, the collected user traces in training phase is in average higher than those collected with clicking interface. This introduces extra task completion time for most users after training phase. Figure 7.13 illustrate such overhead by comparing the task completion time of both interfaces in and after training phase. The Xaxis in this two figure lists the images in pairs. For example, letter1.jpg and multitab1.jpg refer to the same image, but trained with different interfaces. As we can see, the two interfaces have a clear trade-off. Multitab interface makes the training phase task completion time shorter. However, it increases the time cost for post-training phase users, those who actually receive predictions based on the training phase traces. On the other hand, it takes longer for users to complete tasks in training phase using clicking interface. However, since the history traces are now more accurate, the post-training phase becomes less time-consuming.

Chapter 8 Conclusions and Future Work In this thesis, we presented Personalized Adaptation Scheduling (PAS), an adaptive algorithm for interactive content adaptation system that can optimize the latencies for browsing adapted web content. PAS achieves nearly optimal performance by constructing a tailored list of predictions for individual user and object that takes into account both expected download time and user interaction time. We conducted a user study in which participants browse image-rich web pages in a prototype iterative content adaptation system. The traces collected from the study are used to evaluate our PAS algorithm. The evaluation showed that PAS can reduce the latency of browsing adapted content by up to 65% and can reduce bandwidth consumption by up to 80%. Users can also utilize PAS to exchange bandwidth consumption, which for many cellular users has a direct monetary cost, for user involvement in the adaptation process. Furthermore, we showed that PAS is robust in that it works well under different network conditions and achieves large savings even when the same content has multiple usage semantics. Finally, we showed that the choice of user interface for providing feedback can influence adaptive behavior. One of the important factors besides browsing time that will impact browsing experiences is power. In the future, we plan to extend PAS for power adaptation, where PAS is used to maximize the device battery life. we need to conduct new user studies that characterize battery consumption over different connectivity (CDMA, GPRS and 802.11) both in downloading 53

C HAPTER 8. C ONCLUSIONS AND F UTURE W ORK

54

mode, and in steady browsing mode. We can then deploy PAS to calculate prediction schedules that takes into account both the downloading energy consumption and the browsing mode energy consumption. Another future work entails the extension of PAS to consider more flexible user preferences. Currently, PAS only accommodate preference that exchanges network bandwidth for user interactions. In reality, users may want to put other constraints to the preference settings, such as trading off bandwidth consumptions with browsing latency. Users may also want to provide specific trade off among three or more constraints. For example, trade off among bandwidth, energy as well as user interactions. Finally, the evaluations of PAS presented in this thesis is mostly assessed by simulations. In the future, we plan to evaluate the PAS algorithm in context of a real system that deploy the predictions on-the-fly. This will provide us more reliable evaluation for PAS.

Appendix A Traces for all experiment subjects In this appendix, we list the traces we collected through the entire course of user study. Table 1 lists all images used in the experiment with their file sizes for each fidelity. Table 2 lists fulfillment fidelities among all subjects during the experiment, grouped by each image. Table 3 lists the average bandwidth, round trip latency, and average user interaction time experienced by each user.

55

A PPENDIX A. T RACES FOR ALL EXPERIMENT SUBJECTS

56

Image Name

Fid 1

Fid 2

Fid 3

Fid 4

Fid 5

Fid 6

Fid 7

Fid 8

Fid 9

Fid 10

letter1

12007

11274

11255

11282

11270

34478

34110

13693

17540

24910

letter2

12025

11300

11282

11290

11286

34274

33993

13680

17517

24825

letter3

12009

11261

11245

11271

11271

34464

34149

13680

17533

24890

letter4

11567

11085

11030

11041

11033

22202

21892

12611

14801

18267

letter5

12013

11260

11261

11277

11270

34390

34144

13688

17526

24849

letter6

11995

11267

11254

11273

11264

34406

34173

13678

17539

24890

people1

8962

5468

4504

4477

4027

17630

18441

11560

14444

8102

people2

4773

2956

2402

2338

2171

4582

4302

6068

8977

4565

people3

13071

9314

7787

6929

6420

25300

28838

16844

20161

7365

people4

7452

4352

3600

3674

3474

16743

15303

10642

19128

16600

people5

7023

4849

4574

4090

4118

25515

27888

13096

22638

20661

people6

5479

3326

2798

2796

3709

16500

15200

8163

14431

17897

item1

12757

7811

6427

6505

5751

16471

19685

17560

26119

14759

item2

5894

3624

3133

3068

2849

8436

8563

8787

10617

4702

item3

9538

6084

5037

5434

4826

16008

17643

14217

21937

13691

item4

9051

5722

4801

4856

4334

13184

19131

13324

21259

14469

item5

7137

4859

3982

3646

3430

10892

13123

8848

10270

4957

item6

9055

5403

4385

4576

4126

13090

11394

11879

18403

11540

ads1

6121

7126

6159

5775

5499

13169

15011

16353

24522

28140

ads2

5797

6887

5951

5223

5062

10014

11909

15133

22403

24648

ads3

5741

7172

6419

5526

5522

10307

11059

16679

25428

29793

ads4

5654

6751

6085

5365

5433

12164

11992

15356

22732

24226

multitab1

12007

11274

11255

11282

11270

34478

34110

13693

17540

24910

multitab2

12025

11300

11282

11290

11286

34274

33993

13680

17517

24825

multitab3

12009

11261

11245

11271

11271

34464

34149

13680

17533

24890

multitab4

11567

11085

11030

11041

11033

22202

21892

12611

14801

18267

multitab5

12013

11260

11261

11277

11270

34390

34144

13688

17526

24849

multitab6

11995

11267

11254

11273

11264

34406

34173

13678

17539

24890

Table A.1: All images file size information in bytes. Note that the sum of all fidelity levels for an image is the total file size for that image

A PPENDIX A. T RACES FOR ALL EXPERIMENT SUBJECTS

57

img \ user

1

2

3

4

5

6

7

8

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

letter1.jpg

5

6

9

5

5

4

5

5

5

5

5

5

5

4

4

4

6

5

5

5

5

5

4

6

5

5

5

4

5

5

letter2.jpg

3

3

8

3

3

3

3

3

5

3

3

3

3

3

3

2

3

3

4

2

3

3

3

4

3

3

3

3

4

3

letter3.jpg

9

9 10

9 10

6

9

9

9

9

8

9

9

8

9

9

9

8

8

8

8

9

8

8

8 10

8

7

9

8

letter4.jpg

4

3

7

3

3

3

3

3

4

3

3

3

3

3

3

3

4

5

4

3

3

4

3

4

3

3

3

2

4

2

9

4

4

letter5.jpg

5

4

5

5

6

6

7

6

4

6

6

5

6

6

7

5

5

5

5

5

5

5

5

6

5

4

5

letter6.jpg

8

8 10

8 10

6

9

9

8

9

7

9

9

9

9

9

8

8

9

8

9

9

8

8

8

9

8

6

8

8

ppl1.jpg

2

2 10

3

2

2

2

5

2

5

2

2

2

4

2

3

2

5

2 10

2

2

2

5

1

3

2

3

5

3

ppl2.jpg

2

2

9

3

2

9

2

3

9

2

1

2

2

2

2

2

2

2

2

2

2

3

2

2

1

8

2

3

8

3

ppl3.jpg

2

2

9

4

2

3

5

4

6

3

1

4

3

3

4

4

3

5

3

5

4

5

3

3

1

2

2

1

4

2

ppl4.jpg

1

2 10

2

2

3

2

3

2

3

2

2

2

2

3

2

3

3

2

2

2

2

1

3

3

2

4

1

4

4

ppl5.jpg

3

4

7

5

5

5

8

6 10

5

4

6

5

5

5

5

4

7

7 10

5

6

4

6

5

6

6

4

6

8

ppl6.jpg

1

2

4

2

1

1

2

2

2

2

2

1

2

1

2

2

2

3

2

2

3

2

2

3

3

2

2

1

3

3

item1.jpg

3

2

5

4

3

5

7

3

7

3

2

3

3

4

4

4

4

7

3

3

3

4

2

4

6

5

5

4

5

3

item2.jpg

2

4

4

2

2

1

4

2

5

2

1

1

2

2

2

2

1

1

2

4

1

2

1

2

2

2

1

1

3

1

item3.jpg

2

2

4

2

2

2

2

2

2

2

1

2

2

2

2

2

2

2

2

2

3

2

2

2

2

2

3

2

3

2

item4.jpg

2

3

2

3

3

3

3

3

2

3

1

2

3

2

3

3

2

4

4

3

3

4

2

3

3

3

4

3

5

4

item5.jpg

1

2

3

2

2

2

3

2

2

3

1

2

1

1

1

2

1

1

2

2

2

1

1

2

2

2

2

2

2

2

item6.jpg

2

2

4

4

2

4

4

3

2

4

5

3

3

2

4

3

2

5

3

3

3

3

3

3

3

3

5

3

5

4

ads1.jpg

2

2

2

2

2

1

2

2

2

2 10

5

4

4

5

5

9

9

5

5

9

9

9

9

9

9 10

8

9

9

ads2.jpg

3

3

3

2

3

3

3

2

3

3 10

7

8

8

6

6

8

9

5

6

9

9

9

9 10 10 10

ads3.jpg

3

4

3

4

3

4

4

3

4

4

9

7

8

4

8

6

9

1

4

5 10 10 10 10 10

ads4.jpg

3

3

5

3

3

3

3

3

3

3

5

6

5

5

6

8

8

5

5

5 10

9

9 10 10 10 10 10 10 10

mtab1.jpg

6

7

8

6

5

5

5

6

4

5

6

5

5

8

6

6

7 10

5

8

5

5

6

mtab2.jpg

5

7

9

5

5

4

4

4

2

4

5

4

5

5

5

3

5

4

4

6

5

5

5

4

4

4

5

5

7

5

mtab3.jpg

8 10

9

9

9

8

9

9

7

9

9 10

8

9 10

8

9

8

9 10

8

9

9 10

8

9

9

8

9

8

mtab4.jpg

5

6

9

6

6

5

5

4

3

5

5

4

6

4

5

5

6

4

5

6

6

6

4

6

3

4

5

5

4

5

mtab5.jpg

8

6

9

7

6

5

7

7

5

7

7

4

6

7

7

7

8

5

9

7

5

8

8 10

5

8

7

4

5

6

mtab6.jpg

9

9

9

9 10

8

8 10

8

8

8

9

9 10

9 10 10

9

8

8

9 10

8

9

8

8

8

8

9 10

6

4

9 10 10

9 10 10 10 10

5

6

Figure A.1: List of fulfillment Fidelity for each user and object

5

5

8

A PPENDIX A. T RACES FOR ALL EXPERIMENT SUBJECTS

58

UserId

1/AvgBandwidth (ms/bytes)

lantency (ms)

Avg Interaction Time (ms)

1

0.118167

558.365412

1216.757576

2

0.075236

710.963228

1230.437500

3

0.128487

857.005175

3295.509804

4

0.095764

1345.448818

1309.096774

5

0.080319

1443.706570

1135.000000

6

0.128785

826.004298

3259.076923

7

0.111230

1259.753500

1695.200000

8

0.095456

890.169616

1134.941176

9

0.112182

1122.631439

1871.414000

10

0.111230

1259.753500

1482.882353

11

0.079733

1461.741201

4079.931034

12

0.076248

529.399555

1388.764706

13

0.088462

1335.457654

1126.235294

14

0.113832

1294.484114

1386.580645

15

0.070788

1541.080341

1094.757576

16

0.111246

1337.217557

1531.250000

17

0.096091

558.379883

3199.805556

18

0.070577

478.137562

5294.441176

19

0.071089

1307.569494

1286.117647

20

0.074372

1097.617583

1230.400000

21

0.144865

451.712132

2738.000000

22

0.070158

580.701259

2782.029412

23

0.063081

1257.983359

1941.000000

24

0.072138

2233.111083

2215.147059

25

0.081587

902.787893

4598.096774

26

0.060432

1309.211888

1212.714286

27

0.074460

880.895402

3123.645161

28

0.073430

1521.479158

6575.692308

29

0.074232

1233.613528

3400.764706

30

0.132741

616.202078

3801.275862

Table A.2: the reciprocal of average bandwidth, the round trip latency, and the average user interaction time experienced by each user.

Appendix B Experiment Instructions In this chapter, we list the instructions being used in the experiment. Participants were being split into 3 groups. While they had to complete the same tasks for Synthetic and Photo Album they were asked different set of questions in Poster Ads experiments. In addition, the first 15 users went over Part I of the experiment first, where they were asked to use the tapping interface. The next 15 users went over Part IV of the experiment first, where they were asked to use the multi-tab interface.

59

A PPENDIX B. E XPERIMENT I NSTRUCTIONS

NAME: __________________

DATE: __________________

ID: ______________________

TIME: ___________________

GROUP: _________________ (for part 3 only)

The experiment consists of 4 parts. You must complete a part before moving on to another one. You may not go back to a previous part, once you have moved on.

Figure B.1: Instructions provided to the participants during the experiment

60

A PPENDIX B. E XPERIMENT I NSTRUCTIONS

Part I: In this part, you will be presented with a sequence of pages. Each page contains an image depicting a word (made up of random letters) followed by 4 buttons. Your task is to tap on the button that has the same word as the image being displayed. The initial quality of the image may not be sufficient to identify the word. Click on the tabs on top of the image to improve its quality. The number written on each tab indicates a corresponding quality level. This lets you rapidly get to the quality level you desire.

Figure B.2: Instructions provided to the participants during the experiment

61

A PPENDIX B. E XPERIMENT I NSTRUCTIONS

Part II: You will be presented with pages that contain several images. The initial quality of the images may not be sufficient to complete the task but you can tap on the image to improve its quality. There are 10 quality levels available so you can tap on the image a maximum of 9 times.

Task for Page 1: Identify the images that have celebrity Brad Pitt in them. Write down the picture numbers of these images: ______________________________________________________________ When you finish with this page, click on “NEXT” to go to page 2.

Task for Page 2: Identify the images that have US President George W. Bush in them. Write down the picture numbers of these images: ________________________________________________________________ When you finish with this page, click on “NEXT” to go to Part III.

Figure B.3: Instructions provided to the participants during the experiment

62

A PPENDIX B. E XPERIMENT I NSTRUCTIONS

Part III: (Group 1) You will be shown a sequence of posters. . The initial quality of the images may not be sufficient to complete the task but you can tap on the image to improve its quality. There are 10 quality levels available so you can tap on the image a maximum of 9 times.

Poster 1: What is the “great” promotion price for the DVDs? “2 for _____________ dollars” When you finish with this page, click on “NEXT” to go to page 2. Poster 2: Write down the number of LCD TVs that are on the poster: ________________________________ When you finish with this page, click on “NEXT” to go to page 3. Poster 3: Complete the promotion sign at the bottom of the poster: “Get customized __________ for your business” When you finish with this page, click on “NEXT” to go to page 4. Poster 4: What holiday is the poster promoting for? _______________________________ When you finish with this page, click on “NEXT” to go to Part IV.

Figure B.4: Instructions provided to the participants during the experiment

63

A PPENDIX B. E XPERIMENT I NSTRUCTIONS

Part III: (Group 2) You will be shown a sequence of posters. . The initial quality of the images may not be sufficient to complete the task but you can tap on the image to improve its quality. There are 10 quality levels available so you can tap on the image a maximum of 9 times. Poster 1: Write down the name of the most expensive DVD listed on the poster? (This appears on the bottom-right side of the poster) _______________________________ When you finish with this page, click on “NEXT” to go to page 2. Poster 2: What brand of LCD TV is selling for $799? ________________________________ When you finish with this page, click on “NEXT” to go to page 3. Poster 3: What is the price of the cheapest computer? ________________________________ When you finish with this page, click on “NEXT” to go to page 4.

Poster 4: What is the price of the ONLY desktop computer shown on the poster? (This appears on the top-right side of the poster) ________________________________ When you finish with this page, click on “NEXT” to go to Part IV

Figure B.5: Instructions provided to the participants during the experiment

64

A PPENDIX B. E XPERIMENT I NSTRUCTIONS

Part III: (Group 3) You will be shown a sequence of posters. . The initial quality of the images may not be sufficient to complete the task but you can tap on the image to improve its quality. There are 10 quality levels available so you can tap on the image a maximum of 9 times. Poster 1: What date will the “New Releases” be available? (This appears on the right side of the poster) “July _____________ 2005” When you finish with this page, click on “NEXT” to go to page 2. Poster 2: How many inches is the biggest LCD TV? ________________________________ When you finish with this page, click on “NEXT” to go to page 3. Poster 3: How much memory does the cheapest laptop computer have? (This appears on the bottom-right side of the poster)

________________________________ When you finish with this page, click on “NEXT” to go to page 4. Poster 4: How many Mega Pixels does the Canon Digital camera have? (This appears on the top-left side of the poster) ________________________________ When you finish with this page, click on “NEXT” to go to part IV.

Figure B.6: Instructions provided to the participants during the experiment

65

A PPENDIX B. E XPERIMENT I NSTRUCTIONS

Part IV: In this part, you will be presented with a sequence of pages. Each page contains an image depicting a word (made up of random letters) followed by 4 buttons. Your task is to tap on the button that has the same word as the image being displayed. The initial quality of the image may not be sufficient to identify the word but you can tap on the image to improve its quality. There are 10 quality levels available so you can tap on the image a maximum of 9 times.

Figure B.7: Instructions provided to the participants during the experiment

66

Bibliography [1] Spyglass Prism. http://www.opentv.com/support/primer/prism.htm. [2] Introduction to algorithms. MIT Press, Cambridge, MA, USA, 2001. [3] Handheld Device Markup Language, 2002. HDML specification, http://www.w3. org/TR/NOTE-Submission-HDML-spec.html. [4] Wireless Markup Language, 2002. WML specification, http://xml.coverpages. org/wap-wml.html. [5] David Andersen, Deepak Bansal, Dorothy Curtis, Srinivasan Seshan1, and Hari Balakrishnan. System support for bandwidth management and content adaptation in Internet applications. In Proceedings of the 4th Symposium on Operating Systems Design and Implementation, San Diego, California, October 2000. [6] Rajive Bagrodia, Wesley W. Chu, Leonard Kleinrock, and Gerald Popek. Vision, issues, and architecture for nomadic computing. IEEE Personal Communications, 2(6):14–27, December 1995. [7] Marko Balabanovic and Yoav Shoham. Fab: content-based, collaborative recommendation. Communications of the ACM, 40(3):66–72, 1997. [8] Marko Balabanovic, Yoav Shoham, and Yeogirl Yun. An adaptive agent for automated web browsing. Journal of Visual Communication and Image Representation, 6(4), 1995. 67

B IBLIOGRAPHY

68

[9] David Berlind. Which network–cdma or gprs? no easy answers. ZDNet, January 2003. http://techupdate.zdnet.com.

[10] Timothy W. Bickmore and Bill N. Schilit. Digestor: device-independent access to the world wide web. Comput. Netw. ISDN Syst., 29(8-13):1075–1082, 1997.

[11] Lance Bloom, Rachel Eardley, Erik Geelhoed, Meera Manahan, and Parthasarathy Ranganathan. Investigating the relationship between battery life and user acceptance of dynamic, energy-aware interfaces on handhelds. In Stephen A. Brewster and Mark D. Dunlop, editors, Mobile HCI, volume 3160 of Lecture Notes in Computer Science, pages 13–24. Springer, 2004.

[12] Lawrence S. Brakmo, Deborah A. Wallach, and Marc A. Viredaz. Sleep: a technique for reducing energy consumption in handheld devices. In MobiSys ’04: Proceedings of the 2nd international conference on Mobile systems, applications, and services, pages 12–22, New York, NY, USA, 2004. ACM Press.

[13] Kathryn Heninger Britton, Ralph Case, Andrew Citron, Rick Floyd, Yongcheng Li, Christopher Seekamp, Brad Topol, and Karen Tracey. Transcoding: Extending e-business to new environments. IBM Systems Journal, 40(1):153–178, 2001.

[14] George Buchanan, Sarah Farrant, Matt Jones, Harold Thimbleby, Gary Marsden, and Michael Pazzani. Improving mobile internet usability. In WWW ’01: Proceedings of the 10th international conference on World Wide Web, pages 673–680, New York, NY, USA, 2001. ACM Press.

[15] Rajiv Chakravorty, Sachin Katti, Ian Pratt, and Jon Crowcroft. Using tcp flow-aggregation to enhance data experience of cellular wireless users. IEEE Journal of Selected Areas of Communications, 23(6), June 2005.

B IBLIOGRAPHY

69

[16] Mun Choon Chan and Ramachandran Ramjee. Tcp/ip performance over 3g wireless links with rate and delay variation. In International Conference on Mobile Computing and Networking (MobiCom), Atlanta, GA, September 2002. [17] Yogesh Chopra and Nilesh Vaghela. Iterative adaptation for mobile clients using existing apis. IEEE Trans. Parallel Distrib. Syst., 16(10):966–981, 2005. Member-Eyal de Lara and Student Member-Rajnish Kumar and Member-Dan S. Wallach and Fellow-Willy Zwaenepoel. [18] CiteSeer. http://citeseer.ist.psu.edu/. [19] Eyal de Lara, Yogesh Chopra, Rajnish Kumar, Nilesh Vaghela, Dan S. Wallach, and Willy Zwaenepoel. Component-based adaptation. Available at: http://www.cs.toronto.edu/ delara/courses/csc2228/papers/cba.pdf. [20] Eyal de Lara, Dan S. Wallach, and Willy Zwaenepoel. Puppeteer: Component-based adaptation for mobile computing. In Proceedings of the 3rd USENIX Symposium on Internet Technologies and Systems, San Francisco, California, March 2001. [21] Huamin Chen Dept. A novel navigation and transmission technique for mobile handheld devices. [22] Yuri Dotsenko, Eyal de Lara, Dan S. Wallach, and Willy Zwaenepoel. Extensible adaptation via constraint solving. In Proceedings of the 4th IEEE Workshop on Mobile Computing Systems and Applications, Callicoon, New York, June 2002. [23] Dan Duchamp. Issues in wireless mobile computing. In Proceedings of Third Workshop on Workstation Operating Systems, pages 1–7, Key Biscayne, Florida, April 1992. [24] Jason Flinn, Eyal de Lara, Mahadev Satyanarayanan, Dan. S. Wallach, and Willy Zwaenepoel. Reducing the energy usage of Office applications. In Proceedings of

B IBLIOGRAPHY

70

IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), Heidelberg, Germany, November 2001. [25] George H. Forman and John Zahorjan. The challenges of mobile computing. IEEE Computer, pages 38–47, April 1994. [26] Armando Fox, Steven D. Gribble, Eric A. Brewer, and Elan Amir. Adapting to network and client variability via on-demand dynamic distillation. SIGPLAN Notices, 31(9):160– 170, September 1996. [27] Armando Fox, Steven D. Gribble, Yatin Chawathe, and Eric A. Brewer. Adapting to network and client variation using infrastructural proxies: Lessons and perspectives. IEEE Personal Communications, 5(4):10–19, August 1998. [28] Armando Fox, Steven D. Gribble, Yatin Chawathe, and Eric A. Brewer. Adapting to network and client variation using infrastructural proxies: Lessons and perspectives. IEEE Personal Communications, 5(4):10–19, 1998. [29] G. W. Furnas. Generalized fisheye views. In CHI ’86: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 16–23, New York, NY, USA, 1986. ACM Press. [30] David Goldberg, David Nichols, Brian M. Oki, and Douglas Terry. Using collaborative filtering to weave an information tapestry. Communications of the ACM, 35(12):61–70, 1992. [31] Richard Han, Pravin Bhagwat, Richard LaMaire, Todd Mummert, Veronique Perret, and Jim Rubas. Dynamic adaptation in an image transcoding proxy for mobile web browsing. IEEE Personal Communications, 5(6):8–17, 1998. [32] iAnywhere Solutions. Avantgo. http://www.avantgo.com.

B IBLIOGRAPHY

71

[33] Anthony D. Joseph, Joshua A. Tauber, and M. Frans Kaashoek. Building reliable mobileaware applications using the Rover toolkit. In Proceedings of the 2nd ACM International Conference on Mobile Computing and Networking (MobiCom ’96), Rye, New York, November 1996. [34] Anthony D. Joseph, Joshua A. Tauber, and M. Frans Kaashoek. Mobile computing with the Rover toolkit. IEEE Transactions on Computers, 46(3):337–352, March 1997. [35] Randy H. Katz. Adaptation and mobility in wireless information systems. IEEE Personal Communications, 1(1):6–17, 1994. [36] Tim Kindberg and Armando Fox. System software for ubiquitous computing. IEEE Pervasive Computing, 1(1), January 2002. [37] James J. Kistler and Mahadev Satyanarayanan. Disconnected operation in the Coda file system. ACM Transactions on Computer Systems, 10(1):3–25, February 1992. [38] Wai Yip Lum and Francis C.M. Lau. A context-aware decision engine for content adaptation. IEEE Pervasive Computing, 1(3):41–49, July 2002. [39] Iqbal Mohomed, Alvin Chin, Jim Cai, and Eyal de Lara. Community-driven adaptation: Automatic content adaptation in pervasive environments. In Proceedings of the Workshop on Mobile Computing Systems and Applications (WMCSA ’04), pages 124–133, Lake District National Park, UK, December 2004. IEEE Computer Society. [40] L.B. Mummert, M.R. Ebling, and Mahadev Satyanarayanan. Exploiting weak connectivity for mobile file access. In Proceedings of the 15th ACM Symposium on Operating Systems Principles, Copper Mountain, Colorado, December 1995. [41] Dushyanth Narayanan, Jason Flinn, and Mahadev Satyanarayanan. Using history to improve mobile application adaptation. In Proceedings of the 3rd IEEE Workshop on Mobile Computing Systems and Applications, Monterey, California, December 2000.

B IBLIOGRAPHY

72

[42] Brian D. Noble, Mahadev Satyanarayanan, Dushyanth Narayanan, James Eric Tilton, Jason Flinn, and Kevin R. Walker. Agile application-aware adaptation for mobility. Operating Systems Review (ACM), 51(5):276–287, December 1997. [43] Naoki Ohsugi, Akito Monden, and Ken ichi Matsumoto. A recommendation system for software function discovery. In Proceedings of the 9th Asia-Pacific Software Engineering Conference (APSEC2002), Gold Coast, Queensland, Australia, 2002. [44] Mei Kang Qiu, Kang Zhang, and Maolin Huang. An empirical study of web interface design on small display devices. In WI ’04: Proceedings of the Web Intelligence, IEEE/WIC/ACM International Conference on (WI’04), pages 29–35, Washington, DC, USA, 2004. IEEE Computer Society. [45] Asfandyar Qureshi and John Guttag. Horde: Separating network striping policy from mechanism. In International Conference on Mobile Systems, Applications, and Services (MobiSys), Seattle, WA, June 2005. [46] Pablo Rodriguez, Rajiv Chakravorty, Julian Chesterfield, Ian Pratt, and Suman Banerjee. MAR: A commuter router infrastructure for the mobile internet. In International Conference on Mobile Systems, Applications, and Services (MobiSys), Boston, MA, June 2004. [47] Seth Rogers, Claude-Nicolas Fiechter, and Cynthia Thompson. Adaptive User Interfaces for Automotive Environments. In Procs. IEEE Intelligent Vehicles Symposium 2000, pages 662–667, Detroit, USA, October 2000. [48] Mahadev Satyanarayanan. Fundamental challenges in mobile computing. In Fifteenth ACM Symposium on Principles of Distributed Computing, Philadelphia, Pennsylvania, May 1996. [49] Mahadev Satyanarayanan. Pervasive computing: Vision and challenges. IEEE Personal Communications, 2001.

B IBLIOGRAPHY

73

[50] Mahadev Satyanarayanan, J. Flinn, and K. R. Walker. Visual proxy: Exploiting OS customizations without application source code. Operating Systems Review, 33(3):14–18, July 1999. [51] Bill N. Schilit, Jonathan Trevor, David M. Hilbert, and Tzu Khiau Koh. Web interaction using very small internet devices. IEEE Computer, 35(10):37–45, 2002. [52] John R. Smith, Rakesh Mohan, and Cheng-Sheng Li. Transcoding internet content for heterogeneous client devices. In Proceedings of the IEEE International Symposium on Circuits and Systems, Monterey, California, May 1998. [53] John R. Smith, Rakesh Mohan, and Chung-Seng Li. Content-based transcoding of images in the Internet. In Proceedings of the IEEE International Conference on Image Processing, Chicago, Illinois, October 1998. [54] Loren Terveen, Will Hill, Brian Amento, David McDonald, and Josh Creter. Phoaks: a system for sharing recommendations. Commun. ACM, 40(3):59–62, 1997. [55] Cynthia A. Thompson, Mehmet H. G¨oker, and Pat Langley. A personalized system for conversational recommendations. J. Artif. Intell. Res. (JAIR), 21:393–428, 2004. [56] B. Welch A. Demers Weiser, M. and S. Shenker. Scheduling for reduced cpu energy. In First Symposium on Operating Systems Design and Implementation. [57] Mark Weiser. Some computer science problems in ubiquitous computing. Communications of the ACM, July 1993. [58] Gregory F. Welch. A survey of power management techniques in mobile computing operating systems. Operating Systems Review, 29(4):47–56, 1995. [59] Mark Yarvis, Peter Reiher, and Gerald Popek. Conductor: A framework for distributed adaptation. In Proceedings of the Seventh Workshop on Hot Topics in Operating Systems (HotOS), Rio Rico, Arizona, March 1999.

B IBLIOGRAPHY

74

[60] Jungsoon Yoo, Melinda Gervasio, and Pat Langley. An adaptive stock tracker for personalized trading advice. [61] Lin Zhong and Niraj K. Jha. Energy efficiency of handheld computer interfaces: limits, characterization and practice. In MobiSys ’05: Proceedings of the 3rd international conference on Mobile systems, applications, and services, pages 247–260, New York, NY, USA, 2005. ACM Press.

by Chengming Cai A thesis submitted in conformity with ...

start by distinguish manual and automatic content adaptation. Next, we ..... technique is the Power Browser project developed at Stanford University. ...... ACM Symposium on Principles of Distributed Computing, Philadelphia, Pennsylvania,.

472KB Sizes 1 Downloads 177 Views

Recommend Documents

by Chengming Cai A thesis submitted in conformity with ...
Tom, Jing, Mahsa, Levon, Sina and Arpit, I will never forget all the good time we spend together in ..... The content provider, who is typically a professional ..... The proxy runs on a well-provisioned server with a high-bandwidth and low-latency ..

A thesis submitted to the Central European University, Department of ...
May 12, 2010 - used to raise the barriers are available locally at affordable prices. ..... It falls under the local administrative domains of the Twifo Heman Lower.

A thesis submitted to the Central European University, Department of ...
May 12, 2010 - Increased budgetary support of Wildlife Division could also reduce future .... Summary of HWC management International Best Practice . ...... areas can act in two ways: first as early warning systems to farmers when wildlife try ...

A Thesis submitted to the Faculty of the Graduate ...
for each copy of a two-page paper and one penny for four pages. In addition ...... In the second half of 1999 a number of free-blog hosting tools were released.

cai, xiaodong - GitHub
I designed and assembled the system and developed Android app, code in the ... ARM development board and a data transmission system from hardware driver ...

Declaration of Conformity - Pixel, Phone by Google
Product Description: Notebook computer. Trade Name: Chromebook Pixel (2015). Model Name: C1501W. Declaration and Standards. We hereby declare that ...

Cai etal2014.XSEDE.FeatureSelector_Xsede14_pub.pdf ...
Page 1 of 7. FeatureSelector: an XSEDE-Enabled Tool for. Massive Game Log Analysis. Y. Dora Cai. University of Illinois. 1205 W Clark Street. Urbana, IL 61801. 1-217-265-5103. [email protected]. Bettina Cassandra Riedl. LMU Munich. Ludwigstraße 2

Declaration of Conformity
Product Description: Notebook computer. Trade Name: Google Chromebook. Model Name: C8001. " " We hereby declare that the product described above is in ...

Declaration of Conformity .ru
Product Description: Notebook computer. Trade Name: Google Chromebook. Model Name: C8001 LTE. Declaration and Standards. We hereby declare that the ...

Declaration of Conformity
Radio Equipment Directive (RED) 2014/53/EU. Ecodesign Requirements for Energy 2009/125/EC. Related Products Directive -. RoHS Recast Directive ...

Declaration of Conformity
R&TTE Directive 1999/5/EC. EMC Directive 2004/108/EC. Eco-Design Directive 2009/125/EC implemented by Regulation No 1275/2008 for stand-by and off mode equipment and Regulation No 278/2009 for external power supply. RoHS ll Directive 2011/65/EU on th

Declaration of Conformity
essential requirements of the following European Union directives: The object of the declaration described above is in conformity with the following regulations: Radio Equipment Directive (RED) 2014/53/EU. Ecodesign Requirements for Energy 2009/125/E

Pixel C Keyboard Declaration of Conformity - Pixel, Phone by Google
e R&TTE Directive 1999/5/EC. ... electrical and electronic equipment. ... 62479:2010;. EN 50581:2012. Signature. Place: Mountain View – California (USA).

Thesis - Spanish- High Availability Tolerances Correction in a Data ...
Thesis - Spanish- High Availability Tolerances Correction in a Data Backbones Support Infrastructure OOI.pdf. Thesis - Spanish- High Availability Tolerances ...

APPLICATION TO BE SUBMITTED BY SHG TO LINK ... -
Feb 21, 2011 - As the advance is being made to weaker section, 50% of the normal rate ... In case the facility availed is cash credit, the borrowers will operate ...

Reflective Journal #1 Submitted by: Logan Best Student ID Number ...
Student ID Number: 000312976. Topic: Following the guidelines below, introduce yourself and let me know how much computer ... games, music, homework, building resumes, social media and applying for jobs. Present: I now use my laptop and tablet at hom

Pixel C Declaration of Conformity - Pixel, Phone by Google
with regard to eco-design requirements for computers and computer servers. ... EN 62311:2008 EN 62209-2:2010; EN 62479: 2010. EN 50581:2012. Signature.

Submitted to Oecologia
statistical packages (McCune and Mefford 1999, Oksanen et al. ..... statistics accounting for the variance in the distributions (e.g. Mann-Whitney's U or a t statistic) ...

Final Application Submitted November 14, 2008 By ...
May 25, 2007 - their high school, college, and graduate studies—encouraging and equipping them to grow as active, ... GCA Mission — GCA will graduate academically accomplished, intellectually curious, and civically ... Graduates will be prepared

Java JDBC CAI 25.04.2013.pdf
... its own API (JDBC API). that uses JDBC driver written in Java language. Page 3 of 45. Java JDBC CAI 25.04.2013.pdf. Java JDBC CAI 25.04.2013.pdf. Open.

Cai etal 2015 Cognition.pdf
that more recent research has managed to discriminate. these accounts. To determine whether people build syntac- tic representations for missing elements in a ...

CP - CAI-2017.pdf
présentation des vainqueurs sur la carrière Prince Albert. - Trophée Yves Duveau - Challenge National d'Attelage d'Anes. 14 attelages, du débutants aux ...