Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

11
Delta Encoding for Delta Encoding for HTTP/1.1 HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman

Transcript of Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

Page 1: Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

Delta Encoding for HTTP/1.1 Delta Encoding for HTTP/1.1

Sloutsky Alexander

Fink Dmitry

Supervised by Lavy Libman

Page 2: Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

Project GoalsProject Goals

Reduce network bandwidthBe transparent to users Server side: –module for Apache Web Server

Client side: –modification of Squid Proxy

Page 3: Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

DescriptionDescription

Web Server stores several versions of the same document.

Server updates DB as document changes. Client indicates what version of document

it has. Only change between versions is sent

(delta encoding)

Project Home Page:

http://comnet.technion.ac.il/~cn33s00

FOR MORE INFO...

Page 4: Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

Details: Apache Delta moduleDetails: Apache Delta module

Highly configurable module:– types of delta encoding per HTTP type– storing method of files in database– depth of database– modularity for future enchanting:

text

Delta Main Module

image binary

Delta database manager

Sub-Delta modules

Page 5: Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

Database: Apache Delta moduleDatabase: Apache Delta module

Main Database structure:– Latest version (LV) of document– Differences of previous versions (PV) to LV

• Only differences are stored to save space

– Storing method can be configured

Deltas Database:– For each version:

• difference between LV and PV

Page 6: Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

Algorithm: Apache Delta moduleAlgorithm: Apache Delta module

Receive HTTP request If (document was changed since last time)

– unpack versions of document– update main database– signal to Sub-Delta module to recalculate all deltas for this

document– pack the database

Signal to Sub-delta module to select an appropriate delta

Page 7: Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

Summary: Apache Delta moduleSummary: Apache Delta module

Achievements:– Significantly decreases networking load on

server– Reduces the time user waits for document

Payment:– Disk space (depends on database depth)– CPU cycles on document update (rare)

Page 8: Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

Details: Squid Proxy Details: Squid Proxy

Modifying existing product The change includes:– New field (eTag) is added to every cache entry– Support of new fields and parameters both in

request and reply HTTP headers – New HTTP status (226 Delta) and its handler

Page 9: Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

Algorithm: Squid ProxyAlgorithm: Squid Proxy

If the requested document resides in cache but needs revalidation, then:– Include Delta information in the outgoing request

If the reply is a Delta (status: 227), then:– Apply the Delta to the cached version– Save the new version and discard the old– Send the latest version to the client

Page 10: Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

Technologies usedTechnologies used

Extension to existing HTTP protocol– Transparent to non-compatible parties

Based on IETF internet draft– draft-mogul-http-delta-04.txt

Makes use of Apache module API Client’s cache is based on squid caching

mechanisms

Page 11: Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.

Other resourcesOther resources

Delta encoding IETF Internet draft– http://www.ietf.org/internet-drafts/draft-mogul-http-delta-04.txt

Delta-encoding research at COMPAQ (Digital)– http://www.research.digital.com/wrl/techreports/abstracts/97.4.html

HTTP 1.1 standard (RFC 2616)– ftp://ftp.isi.edu/in-notes/rfc2616.txt

Apache server and Squid proxy– http://www.apache.org http://www.squid-cache.org