230 likes | 357 Views
Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07. Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN 0193-9741. By: Douglas A. Schultz 1/29/07 For: Professor Lin. Introduction. Proxies have 3 main problem solving uses:
E N D
Proxy-based Adaptationfor Mobile ComputingECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN 0193-9741 By: Douglas A. Schultz 1/29/07 For: Professor Lin
Introduction • Proxies have 3 main problem solving uses: • Throughput and latency issues. (wired to wireless) • Host mobility. • Limited resources of MH (mobile hosts). • This report reviews: • General proxy based approaches. • Implementation techniques. • Successful well know examples.
Introduction • Proxy is an intermediary placed in the path between a server and it’s clients. • Proxies act as: • Protocol translators. • Caches and content adapters. • Usually reside at the border between wired and wireless networks. • A Wireless Access Point (AP) is a common example.
Introduction • Proxies perform complex tasks: for mobile networks: • Handover, Session or consistency measurement • Personalization, authentication, check pointing • Service/resource discovery.
Introduction • Advantages of proxies: • Proxy handles the wireless-dependent translation and trans-coding, for the server. • Processing for protocol and content is distributed to other nodes, saving serving processing. • Proxy placement at the wireless interface gives faster response to wireless conditions, link quality, and disconnection detection. • Transformations for any communications layer can be implemented.
Introduction • Proxy based middleware solves problems in: • Web access, multimedia streaming, and database access. • Proxy terminology: • Gateway, intermediary, or agent. • “an entity that intercepts communication or performs some service on behalf of some mobile client.”
Classifying Proxy-Based Approaches • Different characteristics of the bridge between wired and wireless networks as in: • Throughput, latency, reliability and probability of disconnection. • Mobile Host characteristics like: • Display size, user input/output mechanism, processing power, memory size, and Power limitations. • Application type requirements: • Response time, network latency, disconnection transparency, and cache coherence.
Classifying Proxy-Based Approaches • Two main classifications of proxies: • General architecture characteristics. • Tasks or functionalities assigned. • Architecture-based Classification • Level, Placement, Single-/Multi-protocol, and Communication and Extensibility.
Architecture-based Classification • Level • Communication-level • Handles issues of communications protocols and abstractions. • Goal is to provide device mobility and make wireless link transparent to the higher software layers. • Typical adaptations include: • Wired to wireless protocol translation, buffering, and handover management.
Architecture-based Classification • Middleware-level: • Non-application or Non-protocol specific tasks. • As in content adaptation, management of cached data, service or resource discovery, security, and authentication. • Application-level: • Application specific tasks. • As in caching for Web based applications (fast response time) vs. database where consistency is more important.
Architecture-based Classification • Placement: • Server-side : • Only at stationary network node. • Client-side: • Only at mobile node. • Interceptor model: • Proxy pair, one mobile client one stationary server. • Migratory proxy or agent: • Moves between mobile and stationary nodes.
Architecture-based Classification • Placement continued. • Server-side proxies work with any device. • Client-side proxies require more resources usually thick-clients. • Architecture: • Centralized: • All functionality is bundled into the Proxy. • De-centralized: • Several proxies perform separate functions.
Architecture-based Classification • Single and multi-protocol: • Single protocol commonly used for TCP or HTTP. • Multi-protocol like UDP, SMTP, SMS, and WSP and dynamically switches between protocols. • Communication: • Synchronous mode: • Proxy does an adaptation task in response to an explicit client request. • Asynchronous mode: • The proxy does long-term work based on user preferences, then sends asynchronous notifications to the client. • This is common for the role of user agents in searching, collecting and aggregating information for the user. • WAP is one example that supports both.
Architecture-based Classification • Communication continued: • Communication among proxies is also supported. • For session management, check pointing, and multicasting. • Direct mode: • Proxy knows which other proxy to interact with. • Indirect mode: • Server or another proxy acts as a router for message exchange.
Architecture-based Classification • Extensibility/Programmability: • Extensibility, the possibility to adapt and customize its functions, is an important architecture characteristic. • A generic framework is provided to tailor to the application. • Another group of proxy infra-structures further support the dynamic loading of filters or new modules.
Common Proxy Tasks • Protocol Translation and Optimization: • Proxies deal with communication specific issues like: • Flow control, error detection, recovery, and medium multiplexing. • Connection oriented protocols like TCP need proxies for handling disconnections, burst packet losses or varying round trip delay times.
Common Proxy Tasks • Content Adaptation: • Aims at transforming the payload for optimized transmission and presentation at the mobile device • Distillation and Refinement: • General term for several forms of data compression. • Summarization: • Lossy compression where specific parts of the original data are selected for presentation, aiming at the least possible loss of information. • Intelligent Filtering: • Mechanism to transform, drop or delay data delivery by applying filters on a data path, according to network or target device conditions.
Common Proxy Tasks • Trans-coding: • General process of transforming the format and representation of content. • Caching and Consistency Management: • Main goals of caching: • Are to reduce traffic to and from the source server. • Restrict the user-perceived latency, conserve wireless bandwidth and the mobile device’s battery power. • Handle client disconnections.
Common Proxy Tasks • Session Management: • Maintaining an application’s or service’s session state in spite of disconnections and mobility of the user. • Handover Management: • Occurs when a user previously connected to some network reconnects to the same or to a new network.
Common Proxy Tasks • Discovery and Auto-configuration: • Accessing a service through a proxy, eliminates the choice from the client. • Jini, a distributed system, uses proxy-based approaches for service discovery. • Dynamic service reconfiguration, like WebPADS. • Security and Privacy: • Public-key security model. • One protocol for secure device-to-proxy communication. • Another protocol for secure proxy-to-proxy communication.
Common Proxy Tasks • Check-pointing and Recovery: • Recovery is typically based on check-pointing. • Check-pointing is snapshots of distributed data. • Other tasks: • Personalization • Content Creation • Name Resolution
Proxy Frameworks • Adapter Development: • Module responsible for implementing a trans-coding function of a message or its content. • Adapter Selection: • Programmable interfaces or via rule-based configuration. • Context Monitoring: • The collection of the network state. • Adapter Loading and Execution: • Configurable or dynamic proxies.
Conclusion • Challenges and Future: • Scalability of server-side proxies as the number of clients increase. • Combine the end-to-end and proxy approaches. • Open Pluggable Edge Services: • Develop infra-structures that collectively perform adaptations for a huge variety of devices and protocols. • Dynamic proxy configuration: • The proxy’s functionality is shaped according to dynamic demand by the clients, server load, or the current mobile network conditions.