1 proxy-based adaptation for mobile computing ecet 581 spring 07 authors: markus endler hana...

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

Upload: aubrey-reed

Post on 25-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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

Page 2: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 3: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 4: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

4

Introduction

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

Page 5: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 6: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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

Page 7: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 8: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 9: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 10: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 11: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 12: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 13: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 14: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 15: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 16: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 17: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 18: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 19: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 20: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 21: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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

Page 22: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.

Page 23: 1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN

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.