Presentation on theme: "Pervasive Web Content Delivery with Efficient Data Reuse Chi-Hung Chi and Cao Yang School of Computing National University of Singapore"— Presentation transcript:
Pervasive Web Content Delivery with Efficient Data Reuse Chi-Hung Chi and Cao Yang School of Computing National University of Singapore Email: firstname.lastname@example.org
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
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 Content Date: Thu, 03 May 2001 09:22:12 GMT Last-Modified: Thu, 03 May 2001 07:12:27 GMT Content-Range: bytes 2500-4000/7614 Content-Length: 1501 Get http://www.nus.edu.sg Range: bytes=2500-4000 Server’s reply
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.
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 bitsBLK: Set of all blocks O:Set of all data objectsP: Set of all presentations Definition 1: Bit Stream O n = Union(b 1 b 2 b 3 … b m-1 b m ) where O n O, and b i B with i [0,m]. Definition 2: Block blk(i, j) = Union( b i b i+1 … b j-1 b j ) where blk(i,j) BLK and b n B with 0
"name": "Scalable Data Model Basic Terminology B:Set of all data bitsBLK: Set of all blocks O:Set of all data objectsP: Set of all presentations Definition 1: Bit Stream O n = Union(b 1 b 2 b 3 … b m-1 b m ) where O n O, and b i B with i [0,m].",
"description": "Definition 2: Block blk(i, j) = Union( b i b i+1 … b j-1 b j ) where blk(i,j) BLK and b n B with 0
Scalable Data Model Basic Properties Property 1: Inclusive Property Pj = F (P i, blk(i+1, j)) where i
"name": "Scalable Data Model Basic Properties Property 1: Inclusive Property Pj = F (P i, blk(i+1, j)) where i
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 Operations Suppose we want to transform between a lower quality presentation Pi and a higher presentation Pj. Based on our data model, the following equation holds: P j = Union (P i, blk(i+1, j)) Conversion from higher quality to lower quality To transform P j into P i, simply discard the data bits ranging from bit (i+1) to bit j. Conversion from lower quality to higher quality To transform P i into P j, we only need to retrieve the data bits ranging from i+1 to j, and then append them to presentation P i.
Scalable Data Model Impact on Image Transcoding Allows reuse of partial objects Allows streamed transcoding Incurs minimal transcoding overhead Transcoding Computation Instead Block Synthesis
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.
Streaming and Pipelining Transcoding HTTP Proxy ClientServer 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 2KB4KB8KB 16KB24KB 32KB (original)
Model Analysis Proxy-based On-demand transcoding Streamed transcoding Small transcoding overhead Bandwidth optimization (both client & server) Data reuse
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
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.