1 / 23

Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07

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:

Download Presentation

Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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.

  3. 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.

  4. Introduction • Proxies perform complex tasks: for mobile networks: • Handover, Session or consistency measurement • Personalization, authentication, check pointing • Service/resource discovery.

  5. 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.

  6. 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.”

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

  14. 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.

  15. 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.

  16. 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.

  17. 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.

  18. 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.

  19. 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.

  20. 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.

  21. 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

  22. 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.

  23. 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.

More Related