windows form application in c# with database pdf : Convert a word document to pdf with hyperlinks control software system web page winforms html console 748750-part1943

Title
A context-aware decision engine for content adaptation
Author(s)
Lum, WY; Lau, FCM
Citation
Ieee Pervasive Computing, 2002, v. 1 n. 3, p. 41-49
Issued Date
2002
URL
http://hdl.handle.net/10722/47096
Rights
Creative Commons: Attribution 3.0 Hong Kong License
Convert a word document to pdf with hyperlinks - insert, remove PDF links in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
adding hyperlinks to a pdf; add links to pdf file
Convert a word document to pdf with hyperlinks - VB.NET PDF url edit library: insert, remove PDF links in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Help to Insert a Hyperlink to Specified PDF Document Page
check links in pdf; adding hyperlinks to pdf
1536-1268/02/$17.00 © 2002 IEEE
PERVASIVE
computing
41
A Context-Aware
Decision Engine for
Content Adaptation
M
obile-device users often wish
that they could access the vari-
ety of rich hypermedia content
that exists or will exist on the
Web. Given, however,  these
devices’ constrained computational and rendering
power and cellular networks’ limited bandwidth,
effective Web content presentation will require new
computation patterns. The mismatch between rich
multimedia content and constrained client capabil-
ity presents a research challenge.
Mobile devices’ variety also increases the difficulty
of accessing content. For example, mobile devices
are conveniently sized to fit in a
pocket, but this size constrains
their  display  area.1 Creating
trimmed versions of content could
get around this constraint, but dif-
ferences in display capabilities would easily make a
device-specific authoring approach too costly to be
practical.Examples of device differences include
screen sizes ranging from 20 ×5 characters to thou-
sands of pixels, and color depths ranging from two-
line black-and-white display to full-color display.3
Web content can also be encoded in many different
modes, such as JPEG, which best suits PCs, and the
1-bit WBMP format for Wireless Application Pro-
tocol (WAP) devices. Furthermore, mobile devices
support many different markup languages, includ-
ing HTML, HDML (Handheld Device Markup Lan-
guage), and WML (Wireless Markup Language). If
the client device subscribes to a Web site that uses a
presentational mode that the device cannot render,
information loss might result.
While users complain about the “World Wide
Wait” problem, owing partly to slow last-mile
speeds, cellular networks work at far lower data
rates, which work fine for plain text but are far from
adequate for Web pages.4Much Internet content and
various other types of multimedia information that
mobile applications running on PDAs or notebooks
use, such as for identifying locations (for example,
the nearest restaurant) or describing product displays
(for stock inventory), are unsuitable for smaller
devices such as WAP phones.
To tackle these problems, we propose a content
adaptation system. Such a system decides the opti-
mal content version for presentation and the best
strategy for deriving that version, and then gener-
ates that version. The system’s most crucial compo-
nent is the decision engine, which negotiates for that
strategy. The engine takes into account the entire
computing context (see the “Context Awareness”
sidebar), focusing particularly on the user’s prefer-
ences. A prototype PDF document adaptation sys-
tem demonstrates our approach’s viability.
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 (see Figure 1). After the system identifies the
user, it inputs context information to the decision
engine, which resides on the proxy server. On the
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.
CONTEXT-AWARE COMPUTING
Wai Yip Lum and Francis C.M. Lau
University of Hong Kong
VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.
Embed PDF hyperlinks to HTML links in VB.NET. Why do we need to convert PDF document to HTML webpage using VB.NET programming code?
add links to pdf; chrome pdf from link
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
Our PDF to HTML converter library control is a 100% clean .NET document image solution, which is designed to help .NET developers convert PDF to HTML
adding links to pdf document; add links to pdf online
basis of some scoring scheme applied to
different content versions, the decision
engine then executes an algorithm that
computes the optimal version that is ren-
derable 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 presenta-
tion format. The decision engine sends the
results to the transcoder, which generates
the desired content version. The inter-
mediate proxy then sends the adapted con-
tent to the target device for rendering.
Contextualization
To design a good adaptation service, we
must understand the environment suffi-
ciently. We can gain such an understand-
ing through a contextualization frame-
work that facilitates the expression and
capturing of context information.
One such framework is the Resource
Description Framework–based Compos-
ite Capability/Preference Profile(www.w3.
org/Mobile/CCPP). The CC/PP can de-
scribe the capabilities of a client device,
called a user agent, and the user’s specified
preferences within the user agent’s set of
options. It offers a mechanism for retriev-
ing capability and preference profiles via
the Web, from hardware or software ven-
dors. This approach reduces the amount
of information that the user agent must
directly send through a limited-bandwidth
communication channel.
For J2ME (Java 2 Platform, Micro Edi-
tion; http://java.sun.com/j2me) developers,
the Connected Limited Device Configura-
tiondefines 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 devel-
oped for the CLDC configuration is the
Mobile Information Device Profile.5
Both the CC/PP and MIDP can provide
the declarative semantics needed to deter-
mine the adaptation settings for transcoding
to produce the optimized content for a spec-
ified user agent. So, this article is concerned
mainly with the procedural semantics.
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 specifica-
tion of the client characteristics (such as
the CC/PP) and what the various transcod-
ing techniques can achieve. We propose a
negotiation model that the decision engine
would use to bridge this gap. Negotiation
happens between a representation of the
user preferences and a decision function
based on real-time parameters.
In existing transcoding methods, oper-
ations such as compression, color depth
reduction, image scaling, and so on are
lossy6and cannot be blindly applied in all
application scenarios. 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 pos-
sible from creating content versions specif-
42
PERVASIVE
computing
http://computer.org/pervasive
CONTEXT-AWARE COMPUTING
A
client device’s characteristics and capabilities are part of the
context of a client environment where Web content render-
ing occurs. Context includes any information that can characterize
an entity’s situation.
1
An entity could be a person, place, or object
that is relevant to interaction between a user and an application.
The user and the application themselves are such entities.
This definition makes designing the relevant context easier be-
cause we don’t have to examine the context’s implicit and explicit
nature.
2
Unlike human–human interaction, the distinction be-
tween implicit and explicit context information (for example, nod-
ding the head versus saying “Yes, I will drive you to the bank”) is
blurred or irrelevant for human–machine interaction because of
the semantic gap between machines and humans. Instead, the
concepts of qualitative and quantitative context information are
more applicable, as we discuss in the main article.
A system is context aware if it uses contexts to provide relevant
information or services to the user, where relevancy depends on
the user’s task.
1
This definition is more general than the ones that
Richard Hull and his colleagues
3
and Jason Pascoe and his col-
leagues
4
provided, whereby context-aware applications must de-
tect, interpret, and respond to contexts. Here, we consider only the
interpretation of and response to contexts. We leave the detection
mechanism’s sensor design to other discovery systems, which we
can cleanly separate from the main context-aware process.
REFERENCES
1. G.D. Abowd and A.K. Dey, “Towards a Better Understanding of Context
and Context-Awareness,” Proc. 1st Int’l Symp. Handheld and Ubiquitous
Computing(HUC 99), Lecture Notes in Computer Science, no. 1707,
Springer-Verlag, Heidelberg, Germany, 1999, pp. 304–307.
2. A. Schmidt, “Implicit Human Computer Interaction through Context,”
Personal Technologies, vol. 4, nos. 2–3, June 2000, pp. 191–199.
3. R. Hull, P. Neaves, and J. Bedford-Roberts, “Towards Situated Comput-
ing,” Proc. 1st Int’l Symp. Wearable Computers, IEEE CS Press, Los Alami-
tos, Calif., 1997, pp. 56–63.
4. J. Pascoe, “Adding Generic Contextual Capabilities to Wearable Com-
puters,” Proc. 2nd Int’l Symp. Wearable Computers, IEEE CS Press, Los
Alamitos, Calif., 1998, pp. 92–99.
Context awareness
VB.NET PDF Page Replace Library: replace PDF pages in C#.net, ASP.
C#.NET convert PDF to text, C#.NET convert PDF to images DNN, C#.NET Winforms Document Viewer, C#.NET WPF Document Viewer. How-to, VB.NET PDF, VB.NET Word, VB.NET
convert excel to pdf with hyperlinks; add hyperlink to pdf
VB.NET PDF Thumbnail Create SDK: Draw thumbnail images for PDF in
C#.NET convert PDF to text, C#.NET convert PDF to images How-to, VB.NET PDF, VB.NET Word, VB.NET Generating thumbnail for PDF document is an easy work and gives
add email link to pdf; add hyperlink to pdf in
ically for individual device types.2Armando
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.7 The practical
approach in response to such research
assumes that the application scenario’s basis
is the client device’s possible variations. In
this article, we also examine client variabil-
ity along the line of user perception.
Richard Han, Veronique Perret, and
Mahmoud Naghshineh have discussed the
concept of multiuser and multidevice brows-
ing, focusing on the specific application sce-
nario of content browsing in a lecture.8This
scenario required creating two different con-
tent views because the presenter might wish
to view his or her notes for each slide but
prevent the audience from viewing them.
Also, forward-and-backward navigation
access should be limited to the presenter
only. These separate views point to the need
for user-specific requirements in addition to
device-specific ones. Applying this to con-
tent adaptation, we can imagine creating
different views of the same content for dif-
ferent users according to their preferences.
Such a user-centric approach and the result-
ing content should increase user satisfaction.
Qualitative user preference and quan-
titative content value
Content adaptation systems’ decisions
can take into account numeric values asso-
ciated with different content versions or
transcoding strategies. Not all user prefer-
ences, however, are easily expressible in
terms of numeric values in a certain con-
text—for example, a user’s perception of
color. On the other hand, providing quali-
tative information on a user’s preference for
one quality domain over another would be
trivial. The user merely needs to specify the
preference without any exact quantification.
A preference relation (for example, rank-
ing) that connects different quality domains
can describe the qualitative information.
To reduce the user’s workload, assigning
a numeric score to a particular content ver-
sion should be automatic. To automate this
assignment, researchers have proposed
resource-based content value.9,10This value
depends on the client device’s resources that
can be used to render the content. In this
article, however, we follow a different direc-
tion; we base the content value on user pref-
erences. Such a content score should lead to
the best user satisfaction, because quality of
service (QoS) is a user-oriented property.11
The decision engine
Our decision engine aims to increase
users’ satisfaction in their subscribing to
Internet contents in a constrained mobile
computing environment. The engine auto-
matically negotiates for the appropriate
content adaptation  decisions  that  the
transcoder will use to generate the optimal
content version. A separate paper describes
the transcoding part of the system.12
Because our QoS-sensitive approach
compensates for transcoding’s lossy nature,6
it reduces the chance of serious loss of qual-
ity in various domains. The decision
engine tries to arrive at the best trade-off
for content adaptation while minimizing
content degradation due to lossy trans-
coding. It is aware of different types of
context information such as the user’s
preferences, the device’s rendering capa-
bility, and the network connection’s char-
acteristics (see Figure 2).
The engine relies on a user’s indication of
preferences according to his or her per-
ception in different quality domains. On
the basis of these preferences, the engine
can devise
• A method to express quantitatively any
given content’s quality along various
quality axes
• Algorithms to negotiate for an optimal
content version
JULY–SEPTEMBER 2002
PERVASIVE
computing
43
Client device
Wireless
connection
Intermediary proxy server
User context
Gateway
Decision
engine
Transcoder
Caching
proxy
Content profile
Network
context
HTTP
Content provider
Figure 1. Content adaptation’s overall
structure.
.NET PDF SDK | Read & Processing PDF files
Able to convert PDF documents into other formats (multipage TIFF bookmarks and metadata; Advanced document cleanup and Annotate and redact in PDF documents; Fully
pdf email link; clickable pdf links
PDF Image Viewer| What is PDF
advanced capabilities, such as text extraction, hyperlinks, bookmarks and write, view, render, report and convert word document without need for PDF.
add hyperlinks to pdf online; convert doc to pdf with hyperlinks
with some guarantee on the returned
objects’ QoS.
The critical issue in designing a content
adaptation system is how to determine a
trade-off that guarantees the desired QoS
by interpolating from context information,
without modifying the underlying system,
including the client device and the content
provider. That is, we desire “zero adminis-
tration”6on the client side. In our decision
engine, content negotiationperforms this
trade-off. This process takes into account
factors such as processing overhead, opti-
mization accuracy, and context awareness.
Content negotiation
Content negotiation has two stages: pre-
processingand real-time processing(see
Figure 3).
Preprocessing
This stage occurs before the user re-
quest arrives.
Data-type analysis. The set of quality
axes for different types of multimedia con-
tent forms the working properties that pre-
cisely define the QoS for any multimedia
content. We view the quality of a specific
version of an object as a point in an n-
dimensional space, where nis the number
of different qualities.
For example, take the QoS of a PDF
document:
QoS
pdf–document
= (color, scaling, segment, download-
ing-time, modality)
Modalityaddresses the change in the content’s
presentation scheme to render the content
in diverse devices (see Figure 4). For exam-
ple, a handheld device could display a PDF
document in its original PDF format. How-
ever, considering the cellular network’s
constrained bandwidth and the handheld
device’s limited resources, it is advisable to
convert the document to a format that the
device can comfortably render, such as
WML, which many WAP devices support.
Quantitative analysis of quality.To facil-
itate the expression and automatic pro-
cessing of QoS parameters, we need a
quantitative approach to characterizing
QoS in any axis. We define a metric based
on quality value. Take the color quality
axis as an example. We assign an 8-bit
color image a larger qvthan that of a 1-bit
black-and-white image. However, express-
ing or measuring quantitatively the loss of
qvin terms of colors is not as straightfor-
ward. Also, different quality axes will have
different QoS characteristics; such diver-
sity makes capturing all the relevant char-
acteristics quantitatively a nontrivial task.
We use first orderor second ordermod-
eling to monitor the change of qvagainst
the quantization step qs. A quantization
44
PERVASIVE
computing
http://computer.org/pervasive
CONTEXT-AWARE COMPUTING
User preference profile
Color perception
Scaling perception
Segment perception
Modality perception
Timing perception
Threshold time
Content metadata
Spatial size
Content purpose
Available modalities
Available color depths
Transcoding strategies
PDF to HTML
PDF to image
BMP to WBMP
HTML to WML
Color depth reduction
Image scaling
Image cropping
HTML segmentation
Device capabilty profile
Buffer size
Supported color depth
Supported encoding modes
Supported syntaxes
Screen dimension
Networking parameters
Bandwidth
Round-trip time
Negotiation
process
Figure 2. From contextual information to transcoding strategies.
User
preferences
Content
metadata
Data type
analysis
Score node
representation
scheme initialization
Score node
representation
scheme
To transcoding modules
Adaptation strategies
Score
evaluation
Preprocessing
Real-time processing
Score node
selection
algorithm
Decision logic
Device
capabilities
Networking
parameters
Figure 3. Content negotiation’s two stages: preprocessing and real-time processing.
step is a step in a scale covering the possi-
ble settings of a particular quality axis—for
example, 2, 16, 256, and so on for color.
For first-order modeling, qvincreases
or decreases linearly as qsincreases or
decreases.Second-order modeling charac-
terizes the modeling curve as a second-
order equation. This modeling applies sat-
uration whereby qvwill attain saturation
near the far end of qs. At or near satura-
tion, qv will insignificantly increase or
decrease when qschanges. Consider again
the color quality axis. When qsis at 16-bit
colors (25,536 colors), adding more col-
ors will insignificantly affect qv. In con-
trast, increments of colors near the value
of 2 colors will more greatly affect the per-
ceived quality. We expect most user pref-
erences will exhibit such a saturation pat-
tern. To model quality domains that do not
have such a saturation behavior—for
example, the modality quality axis—we
can use first-order equations.
Together, these two models can capture
most if not all of the behavior of the most
common quality axes. If users have a strong
sensitivity to a quality axis that these two
models do not cover, they can input their
desired modeling curves in the system.
Score evaluation and representation.
Using quality axes, users can easily indi-
cate their preferences. For example, a user
might have a weak sensitivity to color but
a strong sensitivity to difference in dimen-
sional size. So, the user will rank the color
quality axis lower than the scaling axis.
Users can input their specific preference
(through ranking) for each quality axis,
and each axis’s relative weight can then be
calculated. An aggregate score can then be
computed based on these weights.
Having the user manually assign the
score to each possible version of content
would be difficult and impractical. Also,
using only resource utilization measures to
determine the score is unreasonable.9,10We
offer a mechanism that automatically
assigns a score to a content version, taking
into account user perceptions in different
quality domains. The set of aggregate scores
serves as the main input for the decision
engine to determine the optimal version.
Scores corresponding to different ver-
sions must be stored in some organized
structure to facilitate efficient searching.
This structure is either a linked list or a
tree where each node represents a content
version and stores the corresponding
score. These score nodesalso contain the
adaptation settings (the qs’s) for possible
subsequent generation of this content ver-
sion. A score node is not tied to any spe-
cific Web content; neither does it replicate
any actual content from the content
provider. It is generic and applicable to any
content. The actual content comes into the
picture only during transcoding. The same
is true of the global structure containing
all the score nodes.
At initialization time, the decision engine
creates a search space consisting of all pos-
sible score nodes, which covers all the pos-
sible adaptation decisions that the decision
engine can make. The engine computes
each node’s score during preprocessing
when the user registers and specifies his or
her preferences. This computation can
occur during preprocessing because of the
score–version association’s static nature.
That is, we expect that users will rarely
change their preferences for the various
quality domains. The decision engine pre-
processes the established score node space
into a suitable data structure such that
when the adaptation system receives a
request, the real-time heuristic search will
be effective and efficient. The construction
and initialization of this structure repre-
sents the end of preprocessing.
Real-time processing
This stage processes the user’s request.
Decision logic and score node selection.A
user’s score nodes capture all the possible
combinations of preference values in vari-
ous quality domains. They do not include
values of real-time parameters such as the
characteristics (metadata) of the Web object
being requested, the network connection’s
characteristics, and the device’s capability.
The decision logic aims to find the best scor-
ing node corresponding to a version of the
content that is renderable given those para-
meters. This is a negotiation process be-
tween the data structure containing the
user’s preference information and a decision
engine’s decision function (see Figure 5).
During negotiation, the negotiation algo-
rithm systematically traverses the score
nodes. This iterative heuristic search tries to
find the most optimal score node. To locate
the optimal node, the negotiation algorithm
examines each score node and generates a
binary decision (True or False) based on the
client device’s capability, the network para-
meters, the adaptation settings in the score
node, and the content itself:
T || F 
decision(score-node, content-metadata, 
network-parameters, device-capability)
Score-nodeprovides the settings of the qual-
ity axes. The binary decision True indicates
that if the adaptation system transcodes
the content according to the score node’s
adaptation settings, the target device will
be able to render it in the current network
environment. The binary decision False
indicates otherwise. The decision function,
decision(), negotiates iteratively with the score
node data structure until it finds a satis-
factory score node with a True decision.
JULY–SEPTEMBER 2002
PERVASIVE
computing
45
Document
Text
PDF encoding
Image
HTML
WML
JPEG
WBMP
BMP
Semantics
Encoding
mode
Syntax
PDF
Figure 4. The concept of modality.
Ordered relations.The decision logic might
operate with different strategies in different
application scenarios. In some scenarios, we
can identify a metric with the ordered relation
property, on the basis of which we can make
binary decisions. For example, the resource
metric is based on an ordered relation. We can
save some effort during searching for the opti-
mal score node by using binary search or a
binary search tree. To have the ordered-rela-
tion property, a metric must satisfy three cri-
teria: a binary relation Ron a set Ais an
ordered relation if and only if it is reflexive,
asymmetric, and transitive. In some cases,
however,  identifying a  metric with  the
ordered-relation property is difficult. We’ll
examine this situation in more detail in the
next section.
Choosing a negotiation
algorithm
To traverse the score nodes, the decision
engine can use one of four negotiation
algorithms.
SLL
The obvious choice of data structure for
score nodes is a linked list where the elements
are in descending order of scores. To deter-
mine the optimal version of content with the
highest score, the score linked listnegotiation
algorithm applies the simple search where deci-
sion() 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. In the worst case,
however, the number of nodes to traverse is
equal to the total number of nodes in the list.
So, we have an O(n) algorithm, where nis
the number of nodes in the linked list.
Score tree
The next two negotiation algorithms use
a balanced binary tree (for example, a red-
black 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 ser-
vice involves frequent accesses of the data
structure, so the fewer score nodes the deci-
sion engine must traverse, the better its per-
formance. But the tree structure requires
considerable housekeeping for deleting and
adding score nodes. Fortunately, in adap-
tation applications, once the tree is initial-
ized, 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 treenegotia-
tion algorithm works when we can identify
an ordered-relation property for the deci-
sion 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 mini-
mum 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, we cannot model the decision
logic with a comparison relation. Without
the comparison logic, we must visit every
node in the linked list in the worst case.
Using the linked-list data structure and the
linked-list traversal in this case would guar-
antee the best score for the adaptation, but
the traversal overhead would be O(n).
To achieve better efficiency, we allow a
trade-off between the traversal overhead
and the optimization’s accuracy. The idea is
a probabilistic score tree that incurs less
overhead and can likely return a good, if
not the best, score node for content adap-
tation. During preprocessing, the decision
engine computes the probability (p
t
) of find-
ing a node in a subtree that would return
True at the decision logic. It applies this
value to every subtree (the probability mul-
tiplied by the number of nodes) so that the
negotiation algorithm will know whether
it should visit a subtree during runtime.
This probabilistic score tree aims to find
a subtree that can most likely return True
at the decision logic while giving a good
score in the tree walk. Not all the nodes
returned will have the highest acceptable
score, but most nodes returned will have
the best score.
This nonordered relation score treenego-
tiation algorithm can reduce the traversal
overhead to O(lg n). However, its major
shortcoming is nonoptimal accuracy. We 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). On
the basis of this derivation, we find that
the optimization accuracy increases with
the value of p
t
. But even when p
t
is small
(for example, 0.3), the optimization accu-
racy still falls in the neighborhood of 70
percent, which is probably acceptable for
many applications.
SLL-NORST
If we need guaranteed higher accuracy,
we 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.
46
PERVASIVE
computing
http://computer.org/pervasive
CONTEXT-AWARE COMPUTING
User preference
score tree
Negotiation
Real-time contexts
such as network and
content metadata
decision ()
Figure 5. The negotiation process.
We can define a threshold for the opti-
mization accuracy (A
threshold
)—for exam-
ple, 70 percent—such that when NORST’s
accuracy level falls below A
threshold
, the sys-
tem will automatically switch to SLL. This
guarantees that the resulting optimization’s
accuracy will be bounded by this thresh-
old value.
The PDF Document Content
Adaptation System
Our PDF Document Content Adapta-
tion System is aware of the user context in
five quality domains: color, downloading
time, scaling, modality, and segment. We
previously discussed color preferences.
The user can also specify the maximum
downloading time he or she will tolerate
for content delivery. The modality domain
lets the user specify how he or she feels
about preserving the mode versus trans-
coding the original content to a different
mode. The scaling domain has four values
corresponding  to  the  output  format:
WML, HTML, bitmap, and PDF. The seg-
ment domain corresponds to how the user
feels about cropping the content, with four
different cropping ratios to choose from.
For the device capability context, we use
information derived from some commer-
cial portable-device models. The system
takes into account the screen size, the sup-
ported color depths, supported media
types, markup language, and the memory
buffer size (for example, the maximum
deck size acceptable for the WAP phone).
JULY–SEPTEMBER 2002
PERVASIVE
computing
47
Figure 6. Delivering different modalities on the basis of device capability and user preference. The left side shows different 
presentations for a WAP device based on whether the user favors preserving the original modality (the upper left) or 
minimizing downloading time (the lower left). The right side shows presentations for a PDA, illustrating variations in 
trade-offs between preserving the modality (the upper right) and minimizing the downloading time (the lower right).
WBMP
WML
PDF
BMP
HTML
The original content (PDF)
For the network context, we use parame-
ters such as bandwidth and round-trip time
of some popular communication chan-
nels—for example, Code Division Multi-
ple Access, General Packet Radio Service,
and Cellular Digital Packet Data. Figure 2
shows an overview of the parameters.
By supplying values to these parameters,
a Web browser or a WAP device simulator
(we used the Nokia 6210 simulator; see
www.nokia.com/phones/6210) can emu-
late the operation of any type of client
device, even a fictitious one. In practice,
techniques for automatically discovering
the client device type (through, for exam-
ple, HTTP headers), networking charac-
teristics, and some means of client identi-
fication (explicit userid or cookies) would
generate the necessary context informa-
tion. Our system uses userid embedding in
URLs to identify the end user.
We conducted several experiments to
demonstrate both the prototype’s useful-
ness in various practical application sce-
narios and our approach’s viability. These
experiments also show the negotiation
model’s sensitivity and awareness toward
different situational or user-centric con-
texts. To perform graphical-manipulation
operations such as image mode transcod-
ings involving PDF-to-image conversion
and  color  depth  reduction,  we  used
ImageMagick 5.3.8. To convert PDF to
HTML, we used pdftohtml 0.21. We also
implemented a simple HTML-to-WML
transcoder. For all the cases, the time the
negotiation algorithm (SLL-NORST) takes
to arrive at a transcoding decision is small
and is negligible compared to the transcod-
ing and transmission times.
Modality preservation versus down-
loading time
Figure 6 shows sample results of our sys-
tem delivering the same PDF document to
a WAP device (on the figure’s left) and a
PDA (on the figure’s right). The difference
in presentation is due to the user perception
on two conflicting factors: modality preser-
vation and downloading time. For the WAP
device, if the user prefers preserving the
original modality, the system will produce
an image (WBMP). If the user prefers min-
imizing downloading time, the system will
produce a text version (WML). For the
PDA, we tested the negotiation algorithm’s
sensitivity by varying the trade-off between
these two factors while keeping the other
factors constant. Correspondingly, our sys-
tem presented the original content version
in PDF, an image (BMP), or text (HTML),
as the figure shows.
48
PERVASIVE
computing
http://computer.org/pervasive
CONTEXT-AWARE COMPUTING
Figure 7. The content adaptation system
adjusts the content version to meet
changing requirements: (a) maximum 
tolerable downloading time; (b) color
depth preferences; (c) available bandwidth.
Larger WML
WBMP
Smaller WML
PDF with
16 colors
BMP with
256 colors
PDF with
2 colors
BMP with
16 colors
PDF with
256 colors
HTML
(a)
(b)
(c)
19.6 Kbps
144 Kbps
9.6 Kbps
4 seconds
2 seconds
0.5 second
Maximum tolerable downloading time
If the user specifies a maximum tolera-
ble downloading time, the system will
negotiate the content version automatically
to meet this specification. In this case, the
content might require segmenting—for
example, cropping the large HTML text
and moving the residue to another page
linked by the “next” anchor. In Figure 7a,
the specified maximum tolerable down-
loading time decreases from left to right.
Color versus downloading time
Figure 7b demonstrates the effect of the
negotiation algorithm trying to strike a
balance between the conflicting factors of
color and downloading time. With de-
creasing weights on the user’s perception
of color, the system responds with content
versions of 256 colors, 16 colors, and 2
colors for the PDF document, to minimize
downloading time over a slow network.
Network characteristics
We tested the system’s adaptability to dif-
ferent 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 het-
erogeneous devices, we adjusted the device’s
memory buffer size to see whether the sys-
tem will automatically return the optimal
content version. The results were similar to
those for the network characteristics and
closely agreed with our expectations.
W
e plan to extend the nego-
tiation  model  to  apply
transcoding to the tasks a
user wishes to perform on a
device, rather than just to the delivered
content. By “tasks,” we mean programs or
program functions. In the future, users will
be able to download program versions on
demand on the basis of their need and the
context. For example, an e-mail program
could have several versions: read only, read
and compose, or text only. Such function
adaptation is much more complex than
content adaptation. We also plan to extend
our prototype’s document model to include
images so that the quality domains could
also include histograms on color use, seg-
mentations, and so on.
In an ongoing project related to this one,
we study the trade-off between dynamic and
static adaptation.12To produce content ver-
sions, the decision engine can exploit static
preadaptation (sacrificing I/O performance
for CPU performance) or dynamic real-time
adaptation (sacrificing CPU performance
for I/O performance). A mixed approach
can yield a productive balance between
these two modes, leading to the most cost-
effective methodology for content synthe-
sis, with the decision engine’s guidance. 
ACKNOWLEDGMENTS
We are grateful to the reviewers for their useful
comments.
REFERENCES
1.T.L. Pham et al., “Composite Devices Com-
puting Environment: A Framework for Sit-
uated Interaction  Using  Small  Screen
Devices,” Personal and Ubiquitous Com-
puting, vol. 5, no. 1, 2001, pp. 25–28.
2.T.W. Bickmore and B.N. Schilit, “Digestor:
Device-Independent Access to the World
Wide Web,” Proc. 6th World Wide Web
Conf. (WWW 6), 1997, pp. 655–663;
www.scope.gmd.de/info/www6/technical/
paper177/paper177.html.
3.S. Saha, M. Jamtgaard, and J. Villasenor,
“Bringing the Wireless Internet to Mobile
Devices,” Computer, vol. 34, no. 6, June
2001, pp. 54–58.
4.R. Comerford, “Handhelds Duke It Out for
the Internet,” IEEE Spectrum, vol. 37, no.
8, Aug. 2000, pp. 35–41.
5. C.E. Ortiz and E. Giguere, Mobile Informa-
tion Device Profile for Java 2 Micro Edition
(J2ME): Professional Developer’s Guide,
John Wiley & Sons, New York, 2001.
6.J.C. Mogul, “Server-Directed Transcod-
ing,” Computer Comm., vol. 24, no. 2, Feb.
2001, pp. 155–162.
7.A. Fox and E.A. Brewer, “Reducing WWW
Latency and Bandwidth Requirements by
Real-Time Distillation,” Proc. 5th Int’l
World Wide Web Conf.(WWW 5), 1996,
pp. 1445–1456; http://www5conf.inria.
fr/fich_html/papers/P48/Overview.html.
8.R. Han, V. Perret, and M. Naghshineh,
“WebSplitter: A Unified XML Framework
for Multi-Device Collaborative Web Brows-
ing,” Proc. Computer Supported Cooper-
ative Work 2000 (CSCW 2000), ACM
Press, New York, 2000, pp. 221–230.
9.C.-S. Li, R. Mohan, and J.R. Smith, “Mul-
timedia Content Description in the Info-
Pyramid,” Proc. IEEE Int’l Conf. Acoustics
Speech and Signal Processing(ICASSP 98),
IEEE Press, Piscataway, N.J., 1998.
10.R. Mohan, J.R. Smith, and C.-S. Li,
“Adapting Multimedia Internet Content for
Universal Access,” IEEE Trans. Multime-
dia, vol. 1, no. 1, Mar. 1999, pp. 104–114.
11. J.-P. Richter and H. de Meer, “Towards For-
mal Semantics for QoS Support,” Proc. 17th
Ann. Joint Conf. IEEE Computer and Com-
munications Societies(INFOCOM 98), vol.
2, IEEE Press, Piscataway, N.J., pp. 472–479.
12.W.Y. Lum and F.C.M. Lau, “On Balancing
between Transcoding Overhead and Spa-
tial Consumption in Content Adaptation,”
to appear in Proc. Mobicom 2002, ACM
Press, New York, 2002.
JULY–SEPTEMBER 2002
PERVASIVE
computing
49
the
AUTHORS
Wai Yip Lumis an M.Phil.
candidate in the University of
Hong Kong’s Computer Sci-
ence and Information Sys-
tems Department. His re-
search interest is in the design
of content adaptation ser-
vices for mobile and pervasive
computing. He received his B.Eng. in computer
engineering from the University of Hong Kong.
Contact him at the Univ. of Hong Kong, Pokfu-
lam Rd., Hong Kong; wylum@csis.hku.hk.
Francis C.M. Lauis the
head of the University of
Hong Kong’s Department of
Computer Science and
Information Systems. His
research interests are in par-
allel and distributed
computing, operating sys-
tems, and mobile computing. He received his
B.Sc. from Acadia University and his M.Math.
and PhD from the University of Waterloo, all in
computer science. He is a member of the IEEE
and served as a vice president of the IEEE Com-
puter Society in 1999. Contact him at the Dept.
of Computer Science and Information Systems,
Univ. of Hong Kong, Pokfulam Rd., Hong Kong;
fcmlau@csis.hku.hk; www.csis.hku.hk/~fcmlau.
Documents you may be interested
Documents you may be interested