Method for optimizing WAN traffic with efficient indexing scheme
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;
chunking a flow of data received from a device into a plurality of chunks in a sequence; and
selectively indexing a portion of the plurality of chunks in a chunk index maintained by the local proxy based on locations of the plurality of chunks in the flow, wherein a first number of chunks located closer to a beginning of the flow and farther from an end of the flow is indexed at a higher frequency than a second number of chunks located farther from the beginning of the flow and closer to the end of the flow, and wherein the chunk index includes a plurality of chunk index entries referenced to the one or more streams stored in the local stream store, the portion of the plurality of chunks comprising less than all of the plurality of chunks.
3 Assignments
0 Petitions
Accused Products
Abstract
According to one embodiment, a local proxy caches in a local stream store one or more streams of data transmitted over the WAN to a remote proxy. In response to a flow of data received from one of the clients of the local LAN, the local proxy chunks using a predetermined chunk algorithm the flow into chunks in sequence, and selectively indexes the chunks in a chunk index maintained by the local proxy based on locations of the chunks in the flow, where a number of chunks in a first region of the flow indexed is different than a number of chunks in a second region of the flow indexed. The chunk index includes multiple chunk index entries referenced to the streams stored in the stream store.
56 Citations
24 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; chunking a flow of data received from a device into a plurality of chunks in a sequence; and selectively indexing a portion of the plurality of chunks in a chunk index maintained by the local proxy based on locations of the plurality of chunks in the flow, wherein a first number of chunks located closer to a beginning of the flow and farther from an end of the flow is indexed at a higher frequency than a second number of chunks located farther from the beginning of the flow and closer to the end of the flow, and wherein the chunk index includes a plurality of chunk index entries referenced to the one or more streams stored in the local stream store, the portion of the plurality of chunks comprising less than all of the plurality of chunks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. 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 stream store of a local proxy, one or more streams of data transmitted over a wide area network to a remote proxy; in response to a flow of data received from a client, chunking using a predetermined chunk algorithm the flow into a plurality of chunks in sequence; and selectively indexing a portion of the plurality of chunks in a chunk index maintained by the local proxy based on locations of the plurality of chunks in the flow, wherein first a number of chunks located closer to a beginning of the flow and farther from an end of the flow is indexed at a higher frequency than a second number of chunks located farther from the beginning of the flow and closer to the end of the flow, and wherein the chunk index includes a plurality of chunk index entries referenced to the one or more streams stored in the local stream store, the portion of the plurality of chunks comprising less than all of the plurality of chunks. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A data processing 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 a local stream store of a local proxy represented by the data processing system, one or more streams of data transmitted over a wide area network (WAN) to a remote proxy, chunking a flow of data received from a device into a plurality of chunks in sequence, and selectively indexing a portion of the plurality of chunks in a chunk index maintained by the local proxy based on locations of the plurality of chunks in the flow, wherein a first number of chunks located closer to a beginning of the flow and farther from an end of the flow is indexed at a higher frequency than a second number of chunks located farther from the beginning of the flow and closer to the end of the flow, and wherein the chunk index includes a plurality of chunk index entries referenced to the one or more streams stored in the local stream store, the portion of the plurality of chunks comprising less than all of the plurality of chunks. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification