This document discusses different approaches to application adaptation and middleware to support it. It describes a spectrum of adaptation approaches from fully decentralized to centralized architectures. It then summarizes the Odyssey application-aware architecture and its use of viceroys, wardens and puppeteers to monitor resources and adapt applications. Mobile agents are also covered as an approach to performing operations like queries close to database servers.
This document discusses different approaches to application adaptation and middleware to support it. It describes a spectrum of adaptation approaches from fully decentralized to centralized architectures. It then summarizes the Odyssey application-aware architecture and its use of viceroys, wardens and puppeteers to monitor resources and adapt applications. Mobile agents are also covered as an approach to performing operations like queries close to database servers.
This document discusses different approaches to application adaptation and middleware to support it. It describes a spectrum of adaptation approaches from fully decentralized to centralized architectures. It then summarizes the Odyssey application-aware architecture and its use of viceroys, wardens and puppeteers to monitor resources and adapt applications. Mobile agents are also covered as an approach to performing operations like queries close to database servers.
This document discusses different approaches to application adaptation and middleware to support it. It describes a spectrum of adaptation approaches from fully decentralized to centralized architectures. It then summarizes the Odyssey application-aware architecture and its use of viceroys, wardens and puppeteers to monitor resources and adapt applications. Mobile agents are also covered as an approach to performing operations like queries close to database servers.
Download as PPT, PDF, TXT or read online from Scribd
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