Patent ID: 7975071

Claim:
A computer-readable storage medium having computer-executable instructions, which when executed perform steps, the steps comprising: compressing content for network transmission from a sender to a receiver, wherein the sender and receiver comprise, respectively, either (1) an end host sender sending to an end host receiver, (2) an end host sender sending to a middlebox device receiver, (3) a first middlebox device receiver sending to a second middlebox device receiver, (4) either a mesh of one or more middleboxes or one or more end nodes, a mesh of one or more middleboxes and one or more end nodes, or a middlebox device sending to an end host receiver; and the compressing including constructing a compressed packet at the sender using a remote differential compression algorithm or speculative compression, the compressed packet including a reference to information maintained at the receiver from which the receiver can recreate the content, and sending the compressed packet to the receiver, wherein a network protocol stack executing a transport protocol on the sender below the application layer handles network transmission of arbitrary transport protocol packets for arbitrary applications, the network protocol stack receiving a transport protocol packet from an arbitrary application that the application has passed to the network protocol stack for transmission to the network, determining that content of the transport protocol packet is present in a compression dictionary, and forming the compressed packet by replacing the content of the packet with the reference information, the reference information indicating a part of the dictionary at the sender; and receiving the compressed packet at the receiver, and before passing the compressed Packet to an application on the receiver, decompressing the compressed packet by using the reference to locate the content in a dictionary at the sender the information maintained at the receiver, replacing the reference with the content, and passing the thus-decompressed packet to the application on the receiver.