270 likes | 284 Views
This paper explores content adaptation challenges in mobile computing, advocating for a user-centric approach that considers preferences and constraints to dynamically generate optimal content versions. It discusses preadaptation strategies, content negotiation, and transcoding processes to tailor content based on user preferences, device capabilities, and network conditions. The study presents a collaborative environment where content adaptation occurs through an intermediate proxy server, involving content negotiation and realization steps. The proposed system aims to maximize performance while minimizing transcoding overhead and storage costs, enhancing the user experience in mobile browsing.
E N D
An Approach to Content Adaptation for Mobile Computing Francis C.M. Lau (& W.Y. Lum) Department of Computer Science & Information SystemsThe University of Hong Kong
The Next Gold Rush? “The current Internet gold rush will be dwarfed by what is about to happen with Wireless Internet Access.”– The Economist
Challenges of Mobile Computing • Device heterogeneity and constraints • Content heterogeneity • The network • The user
Content Adaptation • Why adapt contents? • Most contents for viewing are for the larger screens • Creating multiple versions a burden • Even if you don’t mind, there are just too many possible devices • Different users want different things • Having one, original version is easier to manage • Content adaptation is about generating any content version from one single original version • Author-once-present-anywhere (AOPA)
Preadaptation • Keeping just the original version (any other version is runtime-generated) could be slow • Preadaptation • to create all possible versions, and do static“selection” at runtime, or • to create just a few essential versions, and do dynamic adaptation – hence the “balance”
A User-Centric, Context-Sensitive Approach • Content adaptation is not just about adapting to the device, but also the user, the network, … • Adapting to the user – a user-centric approach • The user has preferences • speed (how much delay can I tolerate?), color (do I mind black-and-white?), scaling (is smaller text size ok?), modality (do I care what format?), … • What the user most prefers however might not be feasible because of constraints of the context • the device, the network, the requested object
A Collaborative Environment Content adaptation happens here INTERMEDIATE PROXY SERVER CONTENTS PROVIDER INTERNET USER & DEVICE THE CONNECTIONS Preadapted versions stored here
Content Adaptation in Two Steps • Content negotiation N(Ppreference, Pdevice, Pnetwork, Pcontent) V • V the recommended version • Note: “version” = ID or metadata, not the real content • Content realization R(V) O • O the actual object returned to the client
Content Negotiation • Negotiation: user’s preference againstthe context • Preferences represented by scoresand stored as score nodes in an efficient data structure • To traverse the data structure from highest-scoring node until TRUE: TRUE || FALSE decision(score-node, context) • where context = (Pdevice, Pnetwork, Pcontent) • note that estimated rendering time is considered in the process
CONTENTNEGOTIATION recommendedversion =
Content Realization • To generate the object based on the desired version recommended by the negotiation module • Involves one or more transcoding steps from some “optimal” preadapted version • Tradeoff between • real-time transcoding overhead (CPU cost, or time) • storage overhead of preadaptation (I/O cost)
Transcoding Relation Graph • V the set of all possible contentversions • The edge (vi, vj) means vj can bederived from vi throughtranscoding • vi could be (4-bit color, 75% scaling);vj could be (1-bit color, 50% scaling) • Transcoding () is a lossy operation • Edge labels are the time cost of the corresponding transcoding operations based on some cost model • At least v0, the original content version,should be present in the content server
To Build the Preadapted Set, Vpre • Constrained by total sizeallowed • Each vertex (white) not in Vpre must be pointed to by exactly one edge from a vertex (black) in Vpre • With least total edge cost (over all edges from a black vertex to a white vertex) among all the possibilities • NP-complete
The Greedy Algorithm (GREEDY) Vpre initial setwhile not exceeding space allowed select v Vpre such that C(v Vpre) is minimized add v to Vpre • C(V) = total edge (black-to-white) cost based on an optimal edge set for a given preadapted set V • We can take space into account as well: to maximize C'( ) which is the aggregated transcoding cost saving per unit spatial consumption
Example Space limit: 850 Kbytes
How Good is GREEDY • Let A and B be the improvements (i.e., reduction in transcoding time over all content versions) due to the optimal solution (OPT) and GREEDY respectively; then • where k and k' are the numbers of versions selected by GREEDY and OPT respectively • If k=9 and k'=8, then GREEDY is at least 70% of OPT in performance
How Good is GREEDY • Proof based on that for a greedy selection algorithm for “datacubes” by Harinarayan et al. [SIGMOD96] • Can we do better? • “The greedy algorithm does as well as we can hope any [deterministic] polynomial-time algorithm to do”– according to some recent result on set cover
Experimentation • A prototype PDF document content adaptation system (simulation) • User preference in five domains: color, downloading time, scaling, modality, segmentation, each having a range of 4 values • hence 45 = 1024 score nodes per user
Experimentation • We measured performance in terms of the following against preadaptation capacity • aggregated transcoding cost saving • content coverage ratio = # of selected versions / all versions • C'( ) performs better than C( ) in most situations Please refer to our Mobicom paper for the graphs
Experimentation • Modality vs. downloading time; all others kept constant • WAP device: • (a) modality > downloading time WBMP • (b) downloading time > modality WML • PDA: • (c) PDF, (d) BMP, (e) HTML
Experimentation a b c • Setting maximum download time • (a) WBMP, (b) larger WML, (c) smaller WML • note how (c) is segmented/cropped and the use of the “next” anchor
Experimentation a b c • Awareness of network delays • (a) 144 kbps PDF with 256 colors • (b) 19.6 kbps BMP with 16 colors • (c) 9.6 kbps HTML
Further Research • Versions weighted according to popularity • To exploit mutual dependencies between objects • Dynamic (re-)preadaptation • similar to caching • separate caching at the proxy? • Better algorithms than GREEDY • Automatic content augmentation – “pervasive authoring” • Easily-transcodable contents • Do we really need that many versions? • User preferences – how specified? • Collaborative design: device-proxy-server • Adaptation of code
Related Publications • W.Y. Lum and F.C.M. Lau, “User-centric Content Negotiation for Effective Adaptation Service in Mobile Computing”, IEEE Transactions on Software Engineering, to appear. • W.Y. Lum and F.C.M. Lau, “A Context-Aware Decision Engine for Content Adaptation”, IEEE Pervasive Computing, Vol. 1, No. 3, July-September 2002, 41-49. • W.Y. Lum and F.C.M. Lau, “On Balancing Between Transcoding Overhead and Spatial Consumption in Content Adaptation”, Proc.Mobicom 2002, Atlanta, USA, September 2002, 239-250.