# US 8,571,042 B2 · Reception apparatus for VPN optimization by defragmentation and deduplication and method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,571,042 B2
- Document ID: US8571042B2
- Status: Granted
- Kind: B2
- Application number: 13/166,807
- Filed: 2011-06-23
- Published: 2011-10-13
- Granted: 2013-10-29
- Earliest claimed: 2009-04-10
- Assignees: Barracuda Networks, Inc.
- Applicants: Subrahmanyam Ongole; Sridhar Srinivasan
- Inventors: Subrahmanyam Ongole; Sridhar Srinivasan
- Web page: https://patentgrep.com/patent/US8571042B2

## CPC

- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L 63/0876: {based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A reception apparatus for optimizing a virtual private network operates by defragmenting and deduplicating transfer of variable sized blocks. A large data object is converted to a plurality of data paragraphs by a fingerprinting method. Each data paragraph is cached and hashed. The hashes are transmitted from a primary apparatus. Only data paragraphs which are not previously cached at satellite are received. The data object is integrated from stored and newly transmitted data paragraphs and transmitted to its destination IP address.

## Claims

### Claim 1

A method for operation of a reception apparatus to receive defragmented and de-duplicated data object packets, the apparatus comprising: at least one network interface, a primary cache store, a primary transfer diary store, and a data object integrator; the method comprising:
receiving and storing into primary cache store at least one data paragraph corresponding to a hash;
storing into primary transfer diary store a source of the data paragraph corresponding to the hash and a time of most recent usage; and
receiving a data object integration packet containing at least one hash and a remainder;
integrating a data object by reading data paragraphs from the primary cache store and concatenating the data paragraphs and the remainder;
delivering the reconstituted data object to its destination; and
within a circuit for reception of a pending transfer:
receiving a hash from a pending transfer transmitter corresponding to a data paragraph,
determining from a primary transfer diary store that the hash is already stored in a primary cache store, and
transmitting to a satellite transfer store an update on the status of the hash, whereby the satellite transfer diary store changes the status of a pending transfer from pending to past and utilization of a communications channel is optimized by de-duplication.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
checking a record of recently used data paragraphs stored in cache store, and
removing at least one least recently used data paragraphs from cache store to provide available storage for new data.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
randomly removing data paragraphs from cache store to provide available storage for new data.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
storing data paragraphs in cache store into a hierarchical directory and
randomly removing an entire sub-directory of said hierarchical directory of data paragraphs to provide available storage for new data.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
operating the system symmetrically, whereby the receiver apparatus receives a data object and transmits the hashes to at least one transmitter apparatus.

### Claim 6 (depends on 1)

The method of claim 1, wherein the hash refers to SHA1 of a data paragraph.

### Claim 7 (depends on 1)

The method of claim 1, wherein the hash refers to MD5 of a data paragraph.

### Claim 8 (depends on 5)

The method of claim 5 further comprising:
synchronizing at least one satellite data paragraph cache store with the primary data paragraph cache store in anticipation of future data transfers.

### Claim 9

A reception apparatus comprises:
at least one network interface,
a satellite cache store, and
a data object integrator;
the network interface(s) communicatively coupled to the data object integrator and to the satellite cache store;
a circuit for reception of a pending transfer, the circuit for reception of a pending transfer coupled to
a circuit for transmission of a pending transfer,
the circuit for reception of a pending transfer coupled to
a primary transfer diary store, and the circuit for reception of a pending transfer coupled to
a satellite transfer diary store.

### Claim 10 (depends on 9)

The reception apparatus of claim 9 further comprising:
a data paragraph cache store; and
a transfer diary store whereby data paragraphs transmitted from the apparatus can be reused in receiving incoming data objects.

### Claim 11 (depends on 9)

The reception apparatus of claim 9 further comprising:
a circuit configured to receive a hash of a pending transfer of a data paragraph,
a circuit configured to receive a data paragraph,
and a satellite transfer diary store coupled to the circuit to receive a pending transfer.

### Claim 12 (depends on 11)

The reception apparatus of claim 11 further comprising:
a circuit configured to receive a plurality of packets containing data paragraphs, hashes, and remainders; and
a circuit configured to search a satellite transfer diary for hashes of data paragraphs stored in satellite cache store.
