Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.
-
Upload
julie-baldwin -
Category
Documents
-
view
214 -
download
0
Transcript of 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
Project GoalsProject Goals
Reduce network bandwidthBe transparent to users Server side: –module for Apache Web Server
Client side: –modification of Squid Proxy
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...
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
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
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
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)
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
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
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
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