Application Independent Caching

As the Internet is growing more and more people are moving out of offices running LAN applications over the WAN. Most of the commonly used applications have not been designed taking slow transport into consideration. Even if the applications are slow transport aware, the client-server components may exchange lot of information to maintain consistency of run time information.

Even if the applications implement compression, the net amount of data transfer over the transport is reduced by some %.

There are some applications which have been designed with low bandwidth requirement; one of such application is SAP. SAP caches all the data locally and transfer only changed data over the transport.

The only way to have the application perform better over WAN is to reduce the amount of data transfer.

Caching is one method to reduce the data flowing over the network. A limited set of protocols have caching inbuilt, like HTTP.

In HTTP protocol, the client browser caches the data and on next request of same page it sends the request along with cached page information to server (Last Modification Time of the Page file). The HTTP server checks if the cached information at the client end has not been outdated. If outdated, new page is pushed to client otherwise “Page Not Modified” message is sent to client browser to use the cached object.

To implement similar Application Independent Caching mechanism for other applications, it will require significant changes in the base protocol of the application.

In this paper we will discuss a method to reduce the traffic for applications using standard protocols without modifying the protocol and the application.

We plan to implement a Application Independent Caching mechanism off the applications. We will implement a cached transport over which a application protocol will run. This is similar to implementing caching in TCP/IP layer.

 Application Independent Caching final year project Idea

We want to avoid sending protocol packets over the network which has earlier been sent on network. Rather than sending the complete packet again over the network, we will notify the other entity using a code about generation of same packet on this end.

This requires us to develop a new transport (over TCP) using client and server side agents.The current solution is for two peer machines talking to each other.

 An Application Independent Caching Client (AICC) agent will be installed on both the machines. AICC agent sits about TCP/IP layer of the OS and monitors all the outgoing and incoming packets. AICC has some significant space reserved for caching on hard-disk. All the packets going out and coming in to this machine are cached on this storage and each packet is assigned a universally unique code. Whenever an application transmits a packet, AICC gets the packets and searches for a similar packet in the cache. If a matching packet is found, AICC increments the cache hit counter for the entry in cache and sends the unique code for the cached entry over the wire. The other peer will receive the code rather than the original packet. Since the packet was already sent over the wire sometime back, the receiving machine already has the packet in its cache. It finds the packet using the unique code and passes on the corresponding cached data to the application.

Download  Application Independent Caching 

Application Independent Caching Abstract Download Abstract
Application Independent Caching project ReportDownload Project Report