presented by: elhadi adam elomda ecet 581, ipfw director: professor paul i-hai lin
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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 ElomdaECET 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
Server
VLR VLR
A proxy (also know by gateway, intermediary or agent) is a computer placed in the path between a server and its clients.
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 accessAvoids an overload at the serversDetects Mobile Host (MH) disconnections and selection of
the required adaptationImplements, adapts, and customizes the transformations
2) Proxies Classifications
There are two types of proxy classifications:
I. Architecture-based Classification, which emphasizes the general characteristics of the proxy-based (software) architecture
II. 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 Web-browsing 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
•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 devicesintelligent 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 impairmentstrans-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 disconnectionsSession 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 dynamicitySecurity 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
Common Proxy Tasks Continue
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,
ConclusionConclusion
The presentation covered the following aspects:The presentation covered the following aspects:
Introduction to a proxyIntroduction to a proxy
Classifications of the proxy-based architectures for mobile computing and Classifications of the proxy-based architectures for mobile computing and their responsibilitiestheir responsibilities
common and recurrent set of functions, structures, and architectural common and recurrent set of functions, structures, and architectural patterns in proxy implementationspatterns in proxy implementations
common proxy frameworks and their main characteristicscommon proxy frameworks and their main characteristics
Thanks!Thanks!
Any questions?Any questions?