dynamic customization and adaptive content delivery for wireless clients presented by: maxim...

78
Dynamic Customization Dynamic Customization and Adaptive Content and Adaptive Content Delivery for Wireless Delivery for Wireless Clients Clients Presented by: Maxim Stepanov Gedon Rosner

Post on 21-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Dynamic Customization Dynamic Customization and Adaptive Content and Adaptive Content Delivery for Wireless Delivery for Wireless

ClientsClientsPresented by: Maxim Stepanov Gedon Rosner

AgendaAgenda• Introduction

• Problem statement• Consulted Papers

• SHAAD• Architecture & Analysis

• Hewlett-Packard Labs.• Architecture & Analysis

• Web stream customizers• Architecture & Analysis

• Backup

Problem StatementProblem Statement

Wireless NetworksWireless Networks

• PAN – Personal Area Network• Bluetooth - 1 Mbps at distance 10 meters• IrDA - protocols

• LAN – Local Area Network• IEEE 802.11b - 11 Mbps from 15 to 50 m.

• WAN – Wide Area Network

• Bottleneck is here

Mobile Data ServicesMobile Data Services

• 2G • TDMA, CDMA, GSM, etc.

• Circuit Switching communication channel for data or voice

• Data rate: 14.4 kbps

Mobile Data ServicesMobile Data Services

• 2.5G • General Packet Radio Service (GPRS)

• Circuit Switching network for voice

• Packet switching network for data

• Shared Access Network

• Simultaneous voice and data communication

• Fast access time. “Always ON”

• Data Rate :– Theoretical up to 160 kbps

–Real ~28.8 kbps!!!

Mobile Data ServicesMobile Data Services

• 3G• Universal Mobile Telephone Service (UMTS)• Data rate depends on mobility degree

• High Mobility – more then 120 kmph– 144 kbps

• Full Mobility – less than 120 kmph– 384 kbps

• Limited Mobility– 2 mbps

• Packet switching for data and voice

Wireless Application Scenarios Wireless Application Scenarios

Streaming Media, VideosStreaming Media, Videos

Audio/Video file transfer, News, Music

Audio/Video file transfer, News, MusicHigh-resolution

graphics

High-resolutiongraphics

Remote Access to Desktop Applications

Remote Access to Desktop Applications

Web-based applications,E-commerce

Web-based applications,E-commerce

Email syncEmail sync

Data Rate

14.4 Kbps

56 Kbps

128 Kbps

1 Mbps

11 Mbps

CDMA/GSMGPRS

Modem

Pan/Bluetooth

IEEE 802.11b

2 MbpsUMTS (Lim. Mobility)

28 Kbps

Network Link

Applications

UMTS (High Mobility)

Screen size & ResolutionScreen size & Resolution

Problem statementProblem statement

SHAADSHAADArchitecture & AnalysisArchitecture & Analysis

SHAADSHAAD

Hypermedia Adaptable, Adaptive and Dynamic System.

A system that tries to adapt the available information dynamically or statically and to deliver it in the most efficient way possible. (Taking into account the state of the variables we mentioned and the variety of multimedia in web content)

SHAADSHAAD

Web content may need to be transformed into an appropriate representation before being

delivered to the client.

• ClassifyClassify information and queryquery user preferences• Adjust to network constraints• AdaptAdapt the content for the clients.

• Store various formats of hypermedia.• If possible dynamicallydynamically change format

SHAAD SHAAD

• Identify the user capabilities

(a)

(b)

• Learn the user preferences:

SHAADSHAAD

• Test Network state

• Dynamically decide how best to provide content – f(a,b,c) New Adapted Content

• If required/possible create dynamic content

(c)

SHAADSHAAD

• New Adapted Content for the users benefit:

HTMLHTML

HTML re-Authoring

Text removal

Text font size reduction

Text Format conversion

Remove white spaces

Summarization

Table-To-List transform

MediaMedia

Image or Audio removal

Image data size reductionImage dimension reduction

Format conversion

Color-Depth reduction

Color to Grayscale transform

Iconify Images for preview

SHAAD ModelSHAAD Model

“Dynamic Hypermedia System”

Variable determination & Module of Content

Adaptation Mechanism

Decision Engine

Suitable output

SHAAD ArchitectureSHAAD Architecture

SHAAD ArchitectureSHAAD Architecture

WEB Brows

er

WEB Server

Client Base Station Server

Access Network The Internet

SHAAD Engine

SHAAD ImplementationSHAAD Implementation“Some of the required tools are in the

implementation stage” (Authors)

• Network conditions – SW agents that collect data• User preferences and capabilities

• HTTP 1.1 provides info on screen size.

• W3C working on standard to determine user preferences.

Intelligent Agents

Questionnaires

Monitor Behavior

User suggestions

Web Server Tools

Intelligent Agents

SHAAD Implementation SHAAD Implementation cont.cont.

Module of Content Responsible for generating dynamically, or else selecting from

the static versions, the most suitable content.

• Content Analyzer implemented in XML and Java converts traditional HTML to XML - selection of objects from a page. Objects can be classified and a new HTML that fits the profile is created (online).

OR…

SHAAD Implementation SHAAD Implementation cont.cont.

• Static hypermedia versions - static versions of the web pages, with different qualities in terms of format and content, are available (offline)

SHAAD AnalysisSHAAD Analysis

Pros• Addresses many issues in “Problem statement”

• Modular architecture – reduces dependencies.

• Decision engine fine granularity – per request.

• Usage of a number of standard protocols and technologies.

SHAAD Analysis SHAAD Analysis cont.cont.

Cons

• Decision model is based at Web Server

• Massive deployment across the Internet is needed.• Massive change to content format and access• Additional Storage for static hypermedia versions.

SHAAD Analysis SHAAD Analysis cont.cont.

• Requires enhancements to legacy protocols or the rapid development of new standardized replacements.

• New protocol standardization process is too slow. • Legacy protocol changes – no segregation between

clients will impact all networks.• Protocol deployment and adoption rate is slow (ipv6)

Cons

SHAAD Analysis SHAAD Analysis contcont

• Decision point too detached from client.

• Simplified Adaptive Content Delivery• Server cannot make the best determination on the

network conditions.• Restrictions of Decision engine • Low responsiveness to Topology changes.

• Fails to provide QoS, Selective Security, and personalization.

Cons

SHAAD ConclusionSHAAD Conclusion

Better than previous attempts, however …

Server based solution makes it

Too naive to be a real solution

Hewlett-Packard LabsHewlett-Packard LabsArchitecture & AnalysisArchitecture & Analysis

Hewlett-Packard LabsHewlett-Packard Labs“A framework for adaptive content delivery in

heterogeneous network environments”

• Universal access is to allow users to access any information over any network from anywhere through any type of client device

• Adaptive content delivery transforms Web content and delivery schemes according to viewers’ heterogeneous and changing conditions

Framework DesignFramework Design

• Media processing and analysis algorithms • Content adaptation algorithms • Defining user preferences & tracking them from

session to session• Network bandwidth discovery methods • Decision Engine for determining when and how

to adapt content

Framework architectureFramework architecture

• “User/client/network-discovery” module detects & collects necessary information in order to dispatch a particular content adaptation algorithm

Framework architectureFramework architecture

““User/client/network-discovery”User/client/network-discovery”

• Information to collect – difference in how

Same as before

““User/client/network-discovery”User/client/network-discovery”

• Determining & collecting information:• HTTP/1.1 - client capabilities

• Insight into Browser defaults – guessing client capabilities based on known behavior of client side software.

• SMIL (Synchronized Multimedia Integration Language) – switching content form based on “private” network conditions.

• CC/PP (Composite Capabilities/ Preference Profiles) uses URIs that point to RDF (resource description framework) – expresses meta data for a web document.

• Cookies for tracking clients between sessions.Hash mechanism of UserAgent string, ip address and cookie provide a session id for the specific client.

• Storing gather information to provide better knowledge of client.

““User/client/network-discovery”User/client/network-discovery”

• Content Adaptation Module

Framework architectureFramework architecture

reduce the bandwidth requirement for delivering the content by compressing the

data, while preserving the information that has highest value to the user

transforming content from one mode to another so that the content can become

useful for a client device.

converting data format to client device capability

classify the purpose of media objects in a Web page, to improve the efficiency of

information delivery by removing redundant objects or by prioritizing

according to their importance

distinguish the more important part of the data from the less important part so that different QoS levels can be provided when delivering the data through the network

• Information Abstraction• Text summarization and compression• Image thumbnail generation• Video highlighting • Video key-frame extraction

Providing a preview of the content, user can decide to download the full content

Content Adaptation ModuleContent Adaptation Module

• Modularity Transform• Video into sets of images, extracted audio or closed

caption text• speech-to-text • text-to-speech • table-to-plain-text • table-to-list transform for HTML

Adapt the content representation to client device capabilities

Content Adaptation ModuleContent Adaptation Module

• Data Transcoding• GIF-to-JPEG • color-to-grayscale • MPEG-to-QuickTime• WAV-to-MP3• Postscript-to-PDF

Content Adaptation ModuleContent Adaptation Module

• Data Prioritization• Progressive delivery to send out the more

important data first • single media type – use special encoding schemes:

• layered coding

• multi -resolution compression

• P(Video) < P(Audio) < P(Text)

Content Adaptation ModuleContent Adaptation Module

• Purpose Classification• Remove redundant information and media objects

that are or may not be of interest to a user• Multiple images for linking to the same product site on

the top, bottom

• Images of banners, logos, and advertisements

• Content analysis techniques• Matching URL strings with pre-established databases

• associating meanings with certain text contained in the URLs

Content Adaptation ModuleContent Adaptation Module

(*) copyright issues need to be addressed !!

(*)

Content Adaptation ModuleContent Adaptation Module

• URL Overloading• Requested URL is rewritten on full duplex

communications.• URL stores embedded information about the adaptation (~

query style of URL for CGI scripts) which is used on client requests.

• Unaware Client• Determine session to client

• Client IP address and user ID = session

• Store & keep track of the session information.• Session owns a “ticket” which is used for every reply.

• Perform adaptation per session preferences

Content Adaptation ModuleContent Adaptation Module

• Storage Representation• After transformation, cache adapted content • Cache host information along with files• Cache the HTTP reply headers

Content Adaptation ModuleContent Adaptation Module

• Decision Engine• Input - Receives user preferences • Input - Media objects in document• Input - Client capabilities• Input - Network characteristics• Output - content adaptation algorithm

Framework architectureFramework architecture

Decision Making ProcessDecision Making Process

Decision AlgorithmDecision Algorithm

• Decision Engine and the Content adaptation Module can classify the system into :

Proxy-based adaptation

Framework architectureFramework architecture

Framework ArchitectureFramework Architecture

WEB Brows

er

WEB Server

Server

Access Network The Internet

Client

Proxy Based

Adaptation

Proxy-based adaptationProxy-based adaptation

• Proxy sends request to the server for the client.• Proxy receives regular web content from

server response. • Proxy performs adaptation, and sends the new

content to the client.

Moves focus and changes away from server.

Proxy-based adaptationProxy-based adaptation

• Adaptation performed relatively geographically close to the clients (better topology knowledge)

• Proxy can transform content for many servers• No re-authoring and storing of content on servers.

IntelIntel®® PRO/1000 XT PRO/1000 XT Server AdapterServer Adapter

• Proxy – Server connection is wired.

• No communication overhead relative to mobile…

• Pros• Similar to SHAAD.• Decision model can be used as a standalone

proxy.• Strategic positioning on wireless protocol

gateways• Decision point is located closer to the client.• Personalization solution

HP Framework AnalysisHP Framework Analysis

HP Framework AnalysisHP Framework Analysis

Cons

• Problematic deployment on wireless components• Adaptation is detached from content provider

• Compatibility/ poor quality.• Copyright problems.• Encrypted content cannot be adapted.

• Partial QoS solution• E.g. - Can not ensure delivery time

Web Stream Customizers Web Stream Customizers Architecture & AnalysisArchitecture & Analysis

Web Stream CustomizersWeb Stream Customizers

• Distributed Java based Web customization software modules

• Dynamic Deployment• Two points of control architecture• Support of adaptive system-based and content

based customization• Focus on generic architecture

Power content adaptation without modification of existing Web infrastructure.

WSC ArchitectureWSC Architecture

• WS Customizer Servers• Local Customizer Server (LC-Server)

• Extends the client machine by hosting LC

• Remote Customizer Server (RC Server)• Extends the server machines adding customization logic

• Each server acts as a proxy• LC-Server: Client – RC Server/Web Server proxy• RC-Server: LC Server -Web server(s) proxy

• Each server is a container of dynamically deployed customizer components

WSC ArchitectureWSC Architecture

• WS Customizer• LC – local component

• Runs on LC-Server• Extends clients browser

– Browser is unchanged– Browser requirement: capable to communicate via proxy

• Part of the client or located near the client• Communicates with RC

• RC – remote component• Runs on RC-Server• Located “near” or on a web server (servers)• Customizes server (servers) responses

Web Stream

Customizer

WSC ArchitectureWSC Architecture

WEB Brows

er

WEB Server

LC

RC

Client

LC – Local ComponentRC – Remote Component

LocalCustomize

rServer

RemoteCustomize

rServer

WSC Architecture ExampleWSC Architecture Example

WEB Brows

er

WEB Server

LC

RC

Client Base Station Server

Access Network The Internet

LocalCustomize

rServer

RemoteCustomize

rServer

Using Multiple Customizers Using Multiple Customizers

WEB Brows

er

WEB Server

LC

RC

WEB Server

RC

WEB Server

RC

LC

LC

LC Server

RC Server

RC Server

RC Server

Req

uest

Dis

patc

hin

g

Client

Typical ScenarioTypical Scenario

• Client calls single LC-Server• All of the LCs run on a single LC-Server• A number of customizers run

simultaneously on behalf of a single client• RCs run on different RC-Serves• Each customizer is a separate (LC, RC) pair

Using CustomizersUsing Customizers

• LoadingLoading CustomizersCustomizers• Browser is configured to use LC-Server as a proxy• Activation Web server provides

• A special Web page with a hyperlink to Customizer Meta Data file.

• Customer Meta Data file (CMF)• RC-Server provides

• JAR files containing customizer classes

Using CustomizersUsing Customizers

• Customizer Meta File (CMF) DataCustomizer Meta File (CMF) Data• The hostname of RC-Server to run RC• The name of JAR file containing customizer’s classes• The name of RC main class• The name of LC main class• Initial configuration parameters• Domain of Applicability (DA)

• Specifies the sites to be acted upon by the Customizer

• Optional, URL of Customizer configuration page

Customizer LoadingCustomizer Loading

Handling RequestsHandling Requests

• Client request on LC-Server• Each customizer is associated with a set of sites

defined in Domain of Applicability (DA) property of CMF

• LC-Server forwards a client request to the customizer having the request URL within its DA.

• If URL is common for the DAs of multiple customizers, the current policy is to choose the customizer loaded first.

• If no DA contains the URL, LC-Server acts as a regular proxy: sends request to the target Web server.

Handling RequestsHandling Requests

Customizer ApplicationsCustomizer Applications

• Adaptive Compression (Low-Bandwidth Link)• General Compressor

• RC– Lossless compression processor – Supports multiple compression levels

• LC – Decompression– Measures response time – Indicates to RC what level of compression to use

• Factors– Network performance– User behavior

Customizer ApplicationsCustomizer Applications

• Adaptive Compression• Image Filter

• RC – Scaling down image size– Reducing the image color depth– Image format conversion– Compression images at higher compression level

• LC – Decompression– Measures response time and – indicates to RC what level of compression to use

• Factors– Network performance– User behavior

Customizer ApplicationsCustomizer Applications

• Transaction Reliability (Unreliable Link)• Connection Smoother

• Goal: Masks from the client request failures

• RC – Temporary stores Web object

– Retransmits objects on failures

• LC– Retries to get object sending the request to RC

– Reopens connection to RS

• Factors– Network Reliability

Customizer ApplicationsCustomizer Applications

• Transaction Reliability• Transaction Recorder

• Goal: Record a transaction status

• RC

– Transaction status recording

– The list can be views by client

• Factors

– Network reliability

• Background Loader is a variation of Transaction Recorder

Customizer ApplicationsCustomizer Applications

• Privacy (Insecure Link)• Selective Encryption Customizer

• Goal: Selective Encryption of sensitive information

• RC & LC – Implementation of Selective Encryption protocol

• Factors– Network reliability

Implementation IssuesImplementation Issues

• Why Java?• Wide rage of supported platforms• Code mobility• Ability of Dynamic Loading• Easy to deploy• Flexibility• Easy of Customizer programming• Security (SecurityManager, PKI, etc)

PerformancePerformance

WebsiteAverage Time (ms)

http://www.yahoo.com138 ± 0.8

http://www.suntimes.com/index404 ± 1.6

http://www.cnn.com475 ± 5.4

Basic Web Transaction Delay

Basic Customizer Delay

MeasurementTime (ms)

Response Time Using Customizers6.5 ± 0.02

Client to LC-Server Communication Overhead2.2 ± 0.01

LC-Server to RC-Server Communication Overhead2.5 ± 0.01

Customizer Processing Overhead0.1 ± 0.10

Response Time For Direct Client to Client Request1.7 ± 0.02

PerformancePerformance

WSC AnalysisWSC Analysis

• Pros• Tightly integration with existing Web Model• Solves “last mile” low bandwidth problem• Content adaptation may be provided by content

owners (by publishing customizers)• Flexible, easy extendable architecture• Enhanced QoS

• Tightly integration with existing Web Model

WSC AnalysisWSC Analysis

• Cons• Additional Management• Non standard solution• Dependency on Java technology

BibliographyBibliography

• D. Merida, R. Fabregad, J. Marzo. “SHAAD: Adaptable, Adaptive and Dynamic Hypermedia System for content delivery”, UdG 2001

• W-Y. Ma, I. Bedner, G. Chang, A. Kuchinsky, H. Zang. “A framework for adaptive content delivery in heterogeneous network environments”. HP Laboratories. 2000.

• J. Steinberg, J. Pasquale. “A Web Middleware Architecture for Dynamic Customization of content for Wireless Clients” , UCSD 2002.

• A. Perkis. “Universal Multimedia Access from wired or wireless systems.”, NTNU- department of Telecommunications, 2001.

Thank you