Download Douglas Schultz

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Speech-generating device wikipedia , lookup

Transcript
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