1 proxy-based adaptation for mobile computing ecet 581 spring 07 authors: markus endler hana...
TRANSCRIPT
1
Proxy-based Adaptationfor Mobile Computing
ECET 581 Spring 07
Authors: Markus EndlerHana Rubinsztejn
Ricardo C. A. da RochaVagner 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.