Method for optimizing WAN traffic
First Claim
1. A computer-implemented method comprising:
- caching, in a local stream store of a local proxy, one or more streams of data transmitted over a wide area network to a remote proxy, wherein each of the one or more streams is stored in a continuous manner and identified by a respective unique stream identifier (ID);
comparing a flow of data received from a device with the one or more streams cached in the local stream store to determine whether at least a portion of the flow has been previously transmitted to the remote proxy via at least one of the one or more streams currently stored in the local stream store;
if the portion of the flow has been previously transmitted to the remote proxy, transmitting a first message to the remote proxy to indicate that the portion of the flow has been transmitted in at least one of the one or more streams previously transmitted to the remote proxy, wherein the first message includes a first stream ID identifying a first stream from the one or more streams previously transmitted to the remote proxy that is associated with the portion, an offset of the first stream from which the portion of the flow is located, and a length identifying a size of the portion of the flow, wherein the first message is transmitted to the remote proxy without a data content of the portion of the flow.
3 Assignments
0 Petitions
Accused Products
Abstract
A local stream store of a local proxy caches one or more streams of data transmitted over the WAN to a remote proxy, where each stream is stored in a continuous manner and identified by a unique stream identifier (ID). In response to a flow of data received from a client, the local proxy examines the flow of data to determine whether at least a portion of the flow has been previously transmitted to the remote proxy via one of the streams currently stored in the local stream store. If the portion of the flow has been previously transmitted to the remote proxy, the local proxy transmits a first message to the remote proxy without sending actual content of the portion of the flow to indicate that the portion of the flow has been transmitted in one of the streams previously transmitted to the remote proxy.
-
Citations
27 Claims
-
1. A computer-implemented method comprising:
-
caching, in a local stream store of a local proxy, one or more streams of data transmitted over a wide area network to a remote proxy, wherein each of the one or more streams is stored in a continuous manner and identified by a respective unique stream identifier (ID); comparing a flow of data received from a device with the one or more streams cached in the local stream store to determine whether at least a portion of the flow has been previously transmitted to the remote proxy via at least one of the one or more streams currently stored in the local stream store; if the portion of the flow has been previously transmitted to the remote proxy, transmitting a first message to the remote proxy to indicate that the portion of the flow has been transmitted in at least one of the one or more streams previously transmitted to the remote proxy, wherein the first message includes a first stream ID identifying a first stream from the one or more streams previously transmitted to the remote proxy that is associated with the portion, an offset of the first stream from which the portion of the flow is located, and a length identifying a size of the portion of the flow, wherein the first message is transmitted to the remote proxy without a data content of the portion of the flow. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations comprising:
-
caching, in a local device, one or more streams of data transmitted over a wide area network to a remote device, wherein each of the one or more streams of data is stored in a continuous manner and identified by a unique stream identifier (ID); examining the flow of data to determine whether at least a portion of a flow received from a device has been previously transmitted to the remote device, based on the one or more streams cached in the local device; and if the portion of the flow has been previously transmitted to the remote device, transmitting a first message to the remote device without sending a content of the portion of the flow to indicate that the portion of the flow has been transmitted to the remote device, wherein the first message includes a first stream ID identifying a first stream that is a previously transmitted stream containing data of the portion of the flow, an offset of the first stream from which the portion of the flow is located, and a length identifying a size of the portion of the flow. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system, comprising:
-
a processor; and a memory coupled to the processor storing instructions, which when executed by the processor, cause the processor to perform operations comprising; caching, in the system, one or more streams of data transmitted over a network to a remote device, wherein each stream is stored in a continuous manner and identified by a unique stream identifier (ID); in response to a flow of data received by the system, determining whether at least a portion of the flow has been previously transmitted to the remote device based on the one or more streams; and if the portion of the flow has been previously transmitted to the remote device, transmitting a first message to the remote device without sending a content of the portion of the flow to indicate that the portion of the flow has been transmitted to the remote device, wherein the first message includes a first stream ID identifying a first stream that is a previously transmitted stream containing data of the portion of the flow, an offset of the first stream from which the portion of the flow is located, and a length identifying a size of the portion of the flow. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification