The Spectrum of Adaptation

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 12

Middleware for Application

Development: Adaptation
and Agents
The spectrum of adaptation
 Adaptation may be entirely the responsibility of individual

applications; that is, each application must address all the


issues of detecting and dealing with varying resource levels.
 Resource monitoring

 A mobile audio application might stop delivering a high-bit-


rate audio stream and substitute a lower-quality stream.
Similarly, a video application might adjust dynamically to
fluctuations in bandwidth, switching from high-quality, high-
frame-rate color video to black-and-white video to color still
images to black-and-white still images as appropriate.
Characterizing adaptation
strategies
 some data-dependent dimensions of fidelity, such as
the frame rate of a video or the recording quality of
audio, are easily characterized, others, such as the
extent to which a database table is out of date or a
video is not the most current version available, do not
map easily to a 0 to 100 percent fidelity scale.
An application-aware adaptation
architecture: odyssey
The basic Odyssey model is for an application to choose a fidelity level
for each data type that will be delivered—e.g., 320 × 240 color video
at 15 fps.
The viceroy monitors available resources and generates a callback to
the application when available resources fall outside registered
resource-level window. The application then chooses a new fidelity
level, computes resource needs, and registers these needs, as before.
In Odyssey, the viceroy is a type-independent component that is
responsible for global resource control. All the wardens are statically
compiled with the viceroy. The viceroy monitors resource levels (e.g.,
available network bandwidth)
 Wardens. A warden is a type-specific component responsible
for handling all adaptation-related operations for a particular sort of
data stream (e.g., a source of digital images, audio, or video).
Wardens sit between an application and a data source, handling
caching and arranging for delivery of data of appropriate fidelity levels
to the application.
 Puppeteer. For applications with
well-defined, published interfaces,
it is possible to provide adaptation
support without modifying the
applications directly.
 The Puppeteer provides a kernel that executes on both the client
and server side proxies, supporting a document type called the
To adapt a document, the server and client side proxies
communicate to establish a high-level PIF skeleton of the
document. Adaptation policies control which portions of the
document will be transferred and which fidelities will be chosen
for the transmitted portions. Puppeteer Intermediate
Format (PIF)
 For example, for a Microsoft PowerPoint document, selected
slides may transferred, with images rendered at a lower fidelity
than in the original presentation. The import driver and export
driver parse native document format to PIF and PIF to native
document format, respectively.
 Transcoders in Puppeteer perform
transformations on data items to
support the adaptation policies. For
example, a Puppeteer transcoder may
reduce the quality of JPEG images or
support downloading only a subset of a
document’s data.
Mobile Agent
 The advantages of this approach are
obvious. First, if bandwidth available to the
mobile user is limited and the database
queries are complicated, then performing a
series of remote queries against the servers
might be prohibitively expensive. Since the
agents can execute a number of queries
much closer to the database servers in order
to extract the desired information,
Why mobile agent?and why
not?
 First, a wide variety of applications can be
supported by mobile agent systems,
covering electronic commerce (sending
an agent shopping), network resource
management (an agent might traverse
the network, checking versions of
installed applications and initiating
upgrades where necessary), and
information retrieval.
Agent architectures
 Places
 Travel
 Meetings
 Connections
 Authorities. An agent’s or place’s
authority is the person or organization(in
the real world) that it represents

You might also like