Pervasive Web Content Delivery with Efficient Data Reuse Chi-Hung Chi and Cao Yang School of...

Post on 16-Dec-2015

218 views 1 download

Tags:

transcript

Pervasive Web Content Delivery with Efficient Data Reuse

Chi-Hung Chi and Cao Yang

School of ComputingNational University of SingaporeEmail: chich@comp.nus.edu.sg

Outline Introduction

Scenarios Observation Potentials and Challenges

System Model and Architecture Requirements and Design Consideration Scalable Data Model System Architecture and Proxy Example

Related Work

Conclusion

Part 1

Introduction

Scenarios Digital Images on the Internet – accounts for 40% of the data bytes accessed across the

WWW

Internet Client Variation – in terms of hardware capabilities, user tolerance level,

personal preference, etc.

Network Variation– in terms of network bandwidth, timeout latency, etc.

Problem

Web-based digital image libraries

Single copy approach Problem: not able to accommodate the wide

spectrum of Internet clients

Multiple copy approach Problem: hard to maintain

– What versions to keep? – Users’ requirements keep changing.

Observation HTTP/1.1 protocol – Allows a client to request

portions of an object via Range requests.Example:Range Request

HTTP/1.1 206 Partial ContentDate: Thu, 03 May 2001 09:22:12 GMTLast-Modified: Thu, 03 May 2001 07:12:27 GMTContent-Range: bytes 2500-4000/7614Content-Length: 1501

Get http://www.nus.edu.sg Range: bytes=2500-4000

Server’s reply

Potentials Single-client scenario

ClientServer

Request: 1 - 100K byte

Image X 400KB

Reply: 1 – 100K byte

1 – 100KB

Effective network speed: 1KB/s

Timeout latency: 100s

Potentials Single-client scenario

ClientServer

Request: 100K - 200K byte

Reply: 100K – 200K byte

1 – 200KB

Effective network speed: 1KB/s

Timeout latency: 100s

1 – 100KB

Image X 400KB

Potentials Multiple-clients scenario

Client 1

Server

Image X 400KB

ProxyClient 2

Client 3

Effective network speed: 1KB/s

Timeout latency: 100s

Request XRequest X

1 – 100KB

1-100KB

1 – 100KB

1 – 100KB

1 – 200KB

Potentials Multiple-clients scenario

Client 1

Server

Image X 400KB

ProxyClient 2

Client 3

Effective network speed: 1KB/s

Timeout latency: 100s

1 – 100KB

Request XRequest X

100KB – 200KB

1 – 100KB

1 – 200KB1 – 200KB

Big Idea! The potential benefits of JPEG 2000 and

HTTP/1.1 protocol can be maximized by storing and reusing partial objects.

Over slow network link, as more clients requests for the target image, the visual effect improves until the original quality is obtained.

Our Solution Exploits the potentials of JPEG 2000 and

HTTP/1.1 protocol.

A proxy-based transcoding system that stores and reuses partial objects.

Allows scalable image web delivery.

Minimizes network bandwidth consumption and client latency.

Part 2

System Model and

Architecture

System Requirements

Content adaptation

Minimal bandwidth consumption

Real-time delivery

Design Considerations

Proxy-based

On-demand transcoding

Streamed transcoding

Small transcoding overhead

Bandwidth optimization (Along entire path)

Data reuse

Scalable Data Model Basic Terminology

B: Set of all data bits BLK: Set of all blocksO: Set of all data objects P: Set of all presentations

Definition 1: Bit StreamOn = Union(b1b2b3 … bm-1bm) where OnO, and biB with i[0,m].

Definition 2: Blockblk(i, j) = Union( bibi+1 … bj-1bj ) where blk(i,j)BLK and bnB with 0<i<j and n[i, j].

Definition 3: PresentationBit expression: Pi = f (b1b2b3 … bi+1bi )where bi B, i size of original object, and f represents the encoding function.

Block Expression:

Pi = f (blk(1,I1) blk(I1+1, I2) blk(I2+1, I3) … blk(Ik+1, i))where 0< I1< I2< I3… < Ik <i-1, and f represents the encoding function.

Scalable Data Model

Basic Properties

Property 1: Inclusive Property

Pj = F (Pi , blk(i+1, j)) where i<j, blk(i+1, j) BLK, and F denotes the encoding function that generate Pi by using Pi and blk(i+1, j)

Property 2: Union Function F

The encoding function F should be union function.

Scalable Data Model

Property 3: Single Pass Property

According to inclusive property, we have:Pi = F (Pi-1 , blk(i, i) ) or Pi = F (Pi-1 , bi )

Similarly,Pi-1 = F (Pi-2 , bi-1 )Pi-2 = F (Pi-3 , bi-2 )

… … P2 = F (P1 , b2 )P1 = F (b1 )

Scalable Data Model Transcoding OperationsSuppose we want to transform between a lower quality presentation Pi and a higher presentation Pj. Based on our data model, the following equation holds: Pj = Union (Pi , blk(i+1, j))

Conversion from higher quality to lower qualityTo transform Pj into Pi, simply discard the data bits ranging from bit (i+1)

to bit j. Conversion from lower quality to higher qualityTo transform Pi into Pj, we only need to retrieve the data bits ranging from

i+1 to j, and then append them to presentation Pi.

Scalable Data Model

Impact on Image Transcoding

Allows reuse of partial objects

Allows streamed transcoding

Incurs minimal transcoding overhead

Transcoding Computation Instead Block Synthesis

System Architecture

Assembling

Transcoding HTTP Proxy

Client

Server

ProxyCach

eFiltering

Request Customizatio

n

Client’s Request

Server’s Reply

Proxy Cache Caching partial objects

Introducing the notion of “partial hit” Cache hit Cache miss Partial hit

Enforcing single range Multiple ranges are not allowed. The cached content must start with the first data bit.

Example: Cache Miss

ProxyClient 2

Client 3

Client 1

Client 4

Content Provide

rImage X 400KB

Req: 1-100KBReq: 1-100KB

1-100KB

1-100KB

1-100KB

1-100KB

1-50KB

1-200KB

1-150KB

1-100KB1-150KB

Example: Partial Hit 1

ProxyClient 2

Client 3

Client 1

Client 4

Content Provide

rImage X 400KB

1-100KB

1-50KB

Req: 50KB-150KB

100KB-150KB

Req: 100KB-150KB

50KB-150KB

1-200KB

1-150KB

1-150KB

Example: Partial Hit 2

ProxyClient 2

Client 3

Client 1

Client 4

Content Provide

rImage X 400KB

1-100KB

Req:

1-100KB

1-200KB

1-100KB1-100KB

1-300KB

1-300KB

1-150KB

Example: Partial Hit 3

ProxyClient 2

Client 3

Client 1

Client 4

Content Provide

rImage X 400KB

1-100KB

Req:

200KB-300KB

1-150KB

1-200KB

1-100KB

Req: 150KB-300KB

150KB-300KB

200KB-300KB

Streaming and PipeliningTranscodin

g HTTP Proxy

Client

Server

Client Proxy Server

Cached content

Unavailable content

Pipelining of data bytes transferred over proxy-client link and server-proxy link

Example JPEG 2000 – Scalability in image quality

2KB 4KB 8KB

16KB24KB32KB (original)

Model Analysis

Proxy-based

On-demand transcoding

Streamed transcoding

Small transcoding overhead

Bandwidth optimization (both client & server)

Data reuse

Part 3

Related Work

Related Work Progressive Data Formats

Interlaced GIF

Progressive JPEG

JPEG 2000

MPEG-4

Related Work Transcoding Systems

Mowser

GloMop

InfoPyramid

Hybrid Transcoding System

Current Transcoding Systems Assumption

The transcoding process cannot commence until the object has been downloaded in its entirety.

Limitations Does not support scalable image web delivery. Can not cache or reuse partial objects. Store-and-forward transcoding – break the

pipeline of data bytes transferred across the network

Part 6

Conclusion

Contributions Scalable data model

Proposed a general data model that allows reuse of partial objects.

Identified inclusive property that enables scalable web delivery.

The data model enables streamed transcoding and minimizes transcoding overhead.

The data model applies to any multimedia type such as image, audio and video.

Contributions System Model

Exploited the potential benefits of scalable data format and HTTP/1.1 protocol.

Supports scalable web delivery with cumulative effect.

Proposed the idea of caching and reusing partial objects.

Introduced the concept of partial hit. Benefits: content adaptation, minimal

network bandwidth consumption and real-time delivery.

Q & A