A context-aware decision engine for content adaptation
Summary (4 min read)
Content adaptation
- The process begins when someone uses a mobile device to submit a request to the system-that is, to the content provider via an intermediary proxy server .
- After the system identifies the user, it inputs context information to the decision engine, which resides on the proxy server.
Building a good content adaptation service for mobile devices poses many challenges. To meet these challenges, this quality-of-service-aware decision engine automatically negotiates for the appropriate adaptation decision for synthesizing an optimal content version.
- Basis of some scoring scheme applied to different content versions, the decision engine then executes an algorithm that computes the optimal version that is renderable with the current client device and network characteristics.
- "Version" at this stage means a set of desired settings such as color depth, scaling factor, and presentation format.
- The decision engine sends the results to the transcoder, which generates the desired content version.
- The intermediate proxy then sends the adapted content to the target device for rendering.
Contextualization
- To design a good adaptation service, the authors must understand the environment sufficiently.
- The authors can gain such an understanding through a contextualization framework that facilitates the expression and capturing of context information.
- The CC/PP can describe the capabilities of a client device, called a user agent, and the user's specified preferences within the user agent's set of options.
- For J2ME (Java 2 Platform, Micro Edition; http://java.sun.com/j2me) developers, the Connected Limited Device Configuration defines a standard Java platform for small, resource-constrained, connected devices and enables the dynamic delivery of Java applications and content to those devices.
- The only profile currently developed for the CLDC configuration is the Mobile Information Device Profile.
Transcoding techniques
- On a related front, considerable research has addressed techniques for different transcoding methods.
- Little research, how-ever, has addressed having the decision engine provide quality of service-sensitive decisions to compensate for or minimize the losses due to transcoding.
- A gap seems to exist between the declarative specification of the client characteristics (such as the CC/PP) and what the various transcoding techniques can achieve.
- The authors propose a negotiation model that the decision engine would use to bridge this gap.
- These operations should be managed according to strategies synthesized from all related contextual information sources.
Device-and user-specific preferences
- Timothy Bickmore and Bill Schilit's research on device-independent access offers good insight on handling client device variability by staying away as much as possible from creating content versions specif-A client device's characteristics and capabilities are part of the context of a client environment where Web content rendering occurs.
- Context includes any information that can characterize an entity's situation.
- 2 Armando Fox and Eric Brewer's research is in the same vein and suggests that clients generally vary along three important dimensions: network, hardware, and software.
- Also, forward-and-backward navigation access should be limited to the presenter only.
- Applying this to content adaptation, the authors can imagine creating different views of the same content for different users according to their preferences.
Qualitative user preference and quantitative content value
- Content adaptation systems' decisions can take into account numeric values associated with different content versions or transcoding strategies.
- The user merely needs to specify the preference without any exact quantification.
- To reduce the user's workload, assigning a numeric score to a particular content version should be automatic.
- 9, 10 This value depends on the client device's resources that can be used to render the content.
- Such a content score should lead to the best user satisfaction, because quality of service (QoS) is a user-oriented property.
The decision engine
- The authors decision engine aims to increase users' satisfaction in their subscribing to Internet contents in a constrained mobile computing environment.
- A separate paper describes the transcoding part of the system.
- The decision engine tries to arrive at the best trade-off for content adaptation while minimizing content degradation due to lossy transcoding.
- It is aware of different types of context information such as the user's preferences, the device's rendering capability, and the network connection's characteristics .
- That is, the authors desire "zero administration" 6 on the client side.
Preprocessing
- This stage occurs before the user request arrives.
- A handheld device could display a PDF document in its original PDF format.
- Also, different quality axes will have different QoS characteristics; such diversity makes capturing all the relevant characteristics quantitatively a nontrivial task.
- This modeling applies saturation whereby qv will attain saturation near the far end of qs.
- In contrast, increments of colors near the value of 2 colors will more greatly affect the perceived quality.
Score evaluation and representation.
- Using quality axes, users can easily indicate their preferences.
- So, the user will rank the color quality axis lower than the scaling axis.
- These score nodes also contain the adaptation settings (the qs's) for possible subsequent generation of this content version.
- The actual content comes into the picture only during transcoding.
- At initialization time, the decision engine creates a search space consisting of all possible score nodes, which covers all the possible adaptation decisions that the decision engine can make.
Decision logic and score node selection.
- A user's score nodes capture all the possible combinations of preference values in various quality domains.
- The decision logic aims to find the best scoring node corresponding to a version of the content that is renderable given those parameters.
- This is a negotiation process between the data structure containing the user's preference information and a decision engine's decision function .
- In some cases, however, identifying a metric with the ordered-relation property is difficult.
SLL
- The obvious choice of data structure for score nodes is a linked list where the elements are in descending order of scores.
- To determine the optimal version of content with the highest score, the score linked list negotiation algorithm applies the simple search where decision yields either True or False at a particular node.
- The resultant score node is optimal in that it has the highest score among all that are feasible to render in the present context.
- The SLL algorithm is easy to implement and requires little housekeeping.
Score tree
- The next two negotiation algorithms use a balanced binary tree (for example, a redblack tree) to reduce the worst-case search complexity to O(lg n) or O(tree height).
- The score tree's main advantage over the score list is reduced real-time processing overhead.
- Deploying the adaptation service involves frequent accesses of the data structure, so the fewer score nodes the decision engine must traverse, the better its performance.
- Fortunately, in adaptation applications, once the tree is initialized, it seldom requires modification.
- The initialization might incur some overhead, but this should not be too significant because initialization occurs only once.
ORST
- The ordered-relation score tree negotiation algorithm works when the authors can identify an ordered-relation property for the decision logic.
- It works similarly to the classic binary tree search but with the decision function dictating tree traversal.
- During preprocessing, this algorithm marks each subtree with a value indicating the minimum resource that a node in that subtree requires.
- The decision function can decide whether to visit a subtree by comparing this value with the client device's acceptable resource level.
- This can lead to savings from not having to visit all the nodes.
NORST
- When determining whether a metric has the ordered-relation property is difficult or impossible, the authors cannot model the decision logic with a comparison relation.
- Using the linked-list data structure and the linked-list traversal in this case would guarantee the best score for the adaptation, but the traversal overhead would be O(n).
- To achieve better efficiency, the authors allow a trade-off between the traversal overhead and the optimization's accuracy.
- The authors can derive its optimization accuracy (of finding the optimal score node) and a bound on the probability that the optimal node is not returned (1 − optimization accuracy).
SLL-NORST
- If the authors need guaranteed higher accuracy, they can use a mixed algorithm: the score linked list-nonordered relation score tree negotiation algorithm.
- SLL-NORST can preserve SLL's optimization accuracy while exploiting NORST's reduced overhead over a series of requests.
- The authors can define a threshold for the optimization accuracy (A threshold )-for example, 70 percent-such that when NORST's accuracy level falls below A threshold , the system will automatically switch to SLL.
- This guarantees that the resulting optimization's accuracy will be bounded by this threshold value.
The PDF Document Content Adaptation System
- The authors PDF Document Content Adapta-tion System is aware of the user context in five quality domains: color, downloading time, scaling, modality, and segment.
- The scaling domain has four values corresponding to the output format: WML, HTML, bitmap, and PDF.
- For the network context, the authors use parameters such as bandwidth and round-trip time of some popular communication channels-for example, Code Division Multiple Access, General Packet Radio Service, and Cellular Digital Packet Data.
- In practice, techniques for automatically discovering the client device type (through, for example, HTTP headers), networking charac-teristics, and some means of client identification (explicit userid or cookies) would generate the necessary context information.
Network characteristics
- The authors tested the system's adaptability to different network characteristics by varying bandwidth while keeping the other factors constant.
- As Figure 7c shows, the system switches modality to suit the connection's current bandwidth to keep downloading time within the allowed tolerance.
Device capability
- To test the system's ability to handle heterogeneous devices, the authors adjusted the device's memory buffer size to see whether the system will automatically return the optimal content version.
- The results were similar to those for the network characteristics and closely agreed with their expectations.
- Such function adaptation is much more complex than content adaptation.
- A mixed approach can yield a productive balance between these two modes, leading to the most costeffective methodology for content synthesis, with the decision engine's guidance.
Did you find this useful? Give us your feedback
Citations
8 citations
Cites methods from "A context-aware decision engine for..."
...Using reasoning mechanisms to achieve context awareness has been addressed previously [Lum, 2002; Ranganathan and Campbell, 2003; Wallace and Stamou, 2002]....
[...]
7 citations
Cites methods from "A context-aware decision engine for..."
...use decision trees to decide the optimal content version for presentation, base on the specific context, such as intended target device capabilities, network conditions, and user preferences [4]....
[...]
7 citations
7 citations
Cites background from "A context-aware decision engine for..."
...Adapting transmitted (multimedia) content is a wellrecognized technique to cope with the dynamism of network conditions and client characteristics (Wai Yip & Lau, 2002; Han et al., 1998; Fox et al., 1998)....
[...]
...For example, adaptation agents can be either deployed centrally on a single intermediate proxy server in the network (Wai Yip & Lau, 2002) or distributed among multiple nodes along the content stream (Yarvis et al., 1999)....
[...]
7 citations
References
4,842 citations
685 citations
652 citations
615 citations
404 citations