Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 1 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. 2 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. 3 Introduction • Proxies perform complex tasks: for mobile networks: – Handover, Session or consistency measurement – Personalization, authentication, check pointing – Service/resource discovery. 4 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. 5 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.” 6 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. 7 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. 8 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. 9 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. 10 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. 11 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. 12 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. 13 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. 14 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. 15 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. 16 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. 17 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. 18 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. 19 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. 20 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 21 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. 22 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. 23