dynamic customization and adaptive content delivery for wireless clients presented by: maxim...
Post on 21-Dec-2015
213 views
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
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)
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
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
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 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
• “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 !!
(*)
• 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 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 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
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.
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.