Elhadi Elomda
Download
Report
Transcript Elhadi Elomda
Proxy-based Adaptation for Mobile Computing
Written by:
Markus Endler, Hana Rubinsztejn, Ricardo C. A. da Rocha, and Vagner Sacramento
May 2005
Presented by:
Elhadi Adam Elomda
ECET 581, IPFW
Director: professor Paul I-Hai Lin
Order of Presentation Coverage
•
•
Introduction
Proxy Classifications
Characteristics of the Proxy-Based Architecture
Common Proxy Functions
Proxy Frameworks
Conclusion
1) Introduction
How does the server find the
new VLR?
The Answer is via a proxy
A proxy (also know by gateway,
intermediary or agent) is a computer
placed in the path between a server
and its clients.
Server
VLR
VLR
In most cases, proxies act as protocol
translators, caches, and content adapters for
clients and are placed on, or close to, the
border between the wired and the wireless
networks
VLR: Visitor Locator Register
Mobile Service Proxy
Proxy could move with the client if necessary
Proxy informs servers of location changes
Server
Proxy/client
Proxy/client
Proxy/client
Why Proxies are used in Mobile
Computing and Wireless Communication ?
Proxies are mainly designed to:
1.
Bridge the differences between the wired and wireless networks such as
throughput, latency, reliability, probability of disconnection, etc.
2.
Support the mobile host: Display size, user input/output, processing
capacity, size of RAM and persistent memory, limited energy supply, etc.
3.
Perform application-specific adaptations and requirements such as fast
response time, low network latency, reliable communication, mobility or
disconnection transparency, cache coherence, etc.
•
implement specific services in ad hoc mobile networks
Besides those canonical functions,
proxies can perform:
•
Handover, session or consistency, management, Personalization,
Authentication, Check-Pointing, and service/resource discovery, saving
network bandwidth, reducing access latency, and coping with network
and device heterogeneity.
_______________________________________________________
What are the major advantages of a Proxy?
Allows
legacy services to be directly used for mobile access
Avoids an overload at the servers
Detects Mobile Host (MH) disconnections and selection of
the required adaptation
Implements, adapts, and customizes the transformations
2) Proxies Classifications
There are two types of proxy classifications:
I.
II.
Architecture-based Classification, which emphasizes the general
characteristics of the proxy-based (software) architecture
Tasks-based classification, which focuses on functionality assigned to
the proxies
Others classifications based on: (1) system architecture distinguishes
between centralized and distributed architectures, options for proxy
placement, and proxy configurability/programmability; (2) functionality
(3) interactions (synchronous or asynchronous communication).
i. Architecture-based Classification
proxy-based, software, architectures can be classified according to:
Levels, three generic: (a) Communication-level to handle all flavors of (TCP) and Wireless
CORBA (b) Middleware-level to handle security, recovery, or any general tasks neither tailored to
specific type of application. (c) Application-level to handle specific type of application such as Webbrowsing data handling
Placement: Client-side proxy, server-side proxy, and a proxy pair. Also, It can be centralized or
decentralized
Single-/Multi-protocol: (a) A single protocol to bridge the wired-wireless gap such as TCP
or HTTP protocol (b) a multi-protocol to supports wired-wireless translation such as UDP, SMTP, SMS,
WSP protocols. Examples of the latter group are iMobileEE, TACC, and eRACE
Communication and Extensibility: Server and the client communication in
Synchronous mode or Asynchronous mode, see table 1 for illustration. Also communication among
proxies can be direct or indirect
Extensibility and Programmability: In extensibility, proxies can be easily tailored to
the specific needs of an application or middleware at deployment time. Programmability supports the
dynamic loading of filters or new modules implementing specific functionality
ii. Common Proxy Tasks
The most common proxy tasks are:
Protocol Translation and Optimization: Focus on Transport layer and above
–
–
–
–
Protocols translation: header Trans-coding, data alignment, encoding; and
Using (Wireless Application Protocol) WAP Gateway to convert between
wire-line session, presentation, and application level protocols and the
corresponding WAP protocols stack.
Protocols optimization, mostly HTTP and TCP, include: caching of data,
connection multiplexing, header and payload compression, adaptive TCP
flow control, and data volume reduction.
Most optimizations method are TCP Split connection Protocols (e.g. MTCP,
I-TCP, M-TCP, SRP, etc.) and Wireless-Profiled TCP, adapted in the WAP 2.0
for wireless MAN and WAN , which uses the ratio of inter-packet for rate
control vs. packet loss and timeouts
Other optimization techniques related to multimedia transmission and
presentation
Common Proxy Tasks Continue
•Content Adaptation: To transform the payload for optimized transmission and
presentation. It is mostly determined by quality of the wireless link and the device’s
merits. Its protocols are:
Distillation, highly data compression way, and refinement can be applied orthogonally
to each type of data (text, image, video, etc.). Active-Proxies focuses on them.
summarization is partial data compression with possibility of loss information.
Example, text and video for mobile and wireless devices
intelligent filtering is a mechanism to drop or delay data delivery by applying filters on
a data path according to network or target device conditions. Mobiware is a QoS-aware
middleware introduces active Media Filters perform temporal and spatial scaling for
multi-resolution and Adaptive FEC (Forward Error Correction) Filters to protect content
against physical radio link impairments
trans-coding is a commonly used for the conversion of video formats or for the
adjustment of HTML and graphics files. It depends on type of content and on an external
annotation describing specific requirements of the device and the adaptations to be
performed (Web content transcoding)
Common Proxy Tasks Continue
Caching
and Consistency Management: To reduce traffic to and from the source
server, restrict the user-perceived latency, conserve wireless bandwidth and the
mobile device’s battery power, as well as handle client disconnections
Session Management: To maintain an application’s or service’s session state in
spite of disconnections and migrations of the user.
Handover Management, (Wireless CORBA and Mobile IP): To update the MH
location/address and to transfer its session state from the old to the new network.
Discovery and Auto-configuration: To handle complexity, changes in services or
devices availability, and allow to choose the most reliable service by hiding
network heterogeneity and dynamicity
Security and Privacy: To handle privacy, authorization, user authentication, or data
encryption.
Check-pointing and Recovery: To handle handover and disconnected operation of
all MH environment.
Other tasks: Personalization, content Creation, and name resolution
3) Proxy Frameworks
Several efforts have been made to develop generic proxy architectures, or proxy
frameworks, that can be customized or extended to solve a particular problem.
Most proxy frameworks provide general-purpose solutions for the following four
main issues:
(a)
implementation and composition of adaptation modules, called adapters
(b)
Description of the conditions in which the adapters should be applied
(c)
Monitoring of the context, such as the mobile device’s profile, the
application’s state and the communication bandwidth;
(d)
The loading of adapters.
Table 1: Comparison table of extensible well-know proxy frameworks
Systems
RAPIDware
Mobiware
MARCH
TACC
MoCA
Framework
WBI
Purpose
Multimedia
Multimedia, QoS
General
General
General
Web Apps.
Level
Middleware
Middleware
Middleware
Middleware
Middleware
applications
Proxy Placement
server-side
client-side and
server-side
server-side /
proxy-pair
server-side
server-side
Dynamic
Adapter Loading
yes
yes
yes
yes
no
no
Adaptation
Selection
Programmable
Programmable
Trigger-Rules
Configuration
Programmable
Trigger-Rules
Configuration
Trigger-Rules
Configuration
Functionality
Content
Adaptation
Content Adaptation,
Handover Mngt
Content
Adaptation
Caching, Content
Adaptation
Caching, Content
Adaptation
Caching,
Content
Adaptation
Communication
Synchronous
Synchronous
Synchronous
Synchronous
Synchronous/
Asynchronous
Synchronous/
Asynchronous
Context
Awareness
wireless link
wireless link
device &
wireless link
wireless link
device &
wireless link
WBI: Web Intermediaries,
Conclusion
The presentation covered the following aspects:
Introduction to a proxy
Classifications of the proxy-based architectures for mobile computing and
their responsibilities
common and recurrent set of functions, structures, and architectural
patterns in proxy implementations
common proxy frameworks and their main characteristics
Thanks!
Any questions?