Usually when someone is talking about application acceleration they are talking about compressing files so that less data is sent over the WAN, or improving the performance of a protocol such as TCP or HTTP. While these are all important techniques, in virtually all cases they are implemented at Layers 3 through 5 of the OSI model. As such, they do not take advantage of any knowledge of the application.
An emerging approach to application acceleration is to focus on the actual application; i.e., SharePoint Applications or Oracle Financials. In order to understand the value of applying optimization techniques at the application layer, it is important to realize that a fundamental characteristic of all networked applications is that they move data objects from one point to another, typically over a WAN. For example, in order for an ERP application such as SAP to present a screen to a user, a form has to be transmitted over a network.
Part of the advantage of performing data reduction techniques such as compression and differencing at the application layer is that these techniques can be applied directly to an entire application object. To understand how this works, assume that a user in a branch office is running an application that opens a large file that contains the company's current inventory. That file would be compressed and sent to the branch office for use by the employee and also stored in the branch office for future use. Further assume that at a later time another employee needs to access a current version of the file. By working at the application level, it is possible to compare the entire current version of the file with the entire version that was last sent to the branch office. As part of this comparison, the differences between the current version of the file and the version that was last sent to the branch office are identified. These differences are then compressed and sent to the branch office, where they are used to create a current version of the inventory file.
As mentioned, optimization at the application layer is an emerging concept and we'll discuss it in more detail in the next newsletter. In the meantime, more information on this topic can be found here.