IP Library Granted Patent US 8,929,402
Granted Patent B1
US 8,929,402 · App. 13/657,733 · Granted Jan 6, 2015

Systems and methods for compressing packet data by predicting subsequent data

Inventor: David Anthony Hughes (Los Altos Hills, CA)
Assignee: Silver Peak Systems, Inc.
H04L69/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,929,402
App. No.
13/657,733
Granted
Jan 6, 2015
Kind
B1
Abstract

A system, method, and computer program for compressing packet data is provided. In exemplary embodiments, one or more prefix arrays may be generated for retrieved data, and used as the basis for predicting subsequent data. The packet data may be compressed based, at least partially, on the predicted subsequent data. Accordingly, the compressed packet data may be transferred over a communication network.

Claims (25)

1. A method for compressing data using predicted subsequent characters, comprising:

retrieving a character;

locating a position for a prefix of the retrieved character in a prefix array, the prefix array comprising characters received to that point in a process;

generating at least one prediction of a subsequent character based on a neighborhood of retrieved characters of the prefix of the received character in the prefix array;

ranking the at least one predicted subsequent characters;

determining if the retrieved character is one of the at least one predicted subsequent characters; and

outputting a rank value if the subsequent character is one of the at least one predicted subsequent characters, and transmitting an escape value and the retrieved character if the retrieved character is not one of the at least one predicted subsequent characters.

2. The method of claim 1 , further comprising encoding the escape value and the retrieved character, or the rank value, using an arithmetic encoder.

3. The method of claim 1 , wherein an arithmetic encoder uses neighborhood characters as a context.

4. The method of claim 1 , further comprising inserting the prefix of the retrieved character into the prefix array along with the retrieved character.

5. The method of claim 1 , wherein the rank value is based at least in part on the frequency of occurrence of the predicted subsequent character in the neighborhood of the prefix array.

6. The method of claim 1 , wherein the rank value is based at least in part on the length of prefix of the retrieved character in the prefix array.

7. The method of claim 1 , further comprising priming the prefix array with prefixes from one or more network memory pages.

8. The method of claim 7 , wherein the one or more network memory pages are selected by a scan module.

9. The method of claim 1 , further comprising:

receiving the rank value or the escape value and the retrieved character;

locating the predicted subsequent character based on the rank value in the prefix array; and

outputting the predicted subsequent character based on the rank value, or outputting the retrieved character if the escape value is received.

10. A non-transitory machine readable medium having embodied thereon a program, the program providing instructions for a method for compressing packets, the method comprising:

retrieving a character;

locating a position for a prefix of the retrieved character in a prefix array, the prefix array comprising characters received to that point in a process;

generating at least one prediction of a subsequent character based on a neighborhood of retrieved characters of the prefix of the received character in the prefix array;

ranking the at least one predicted subsequent characters;

determining if the retrieved character is one of the at least one predicted subsequent characters; and

outputting a rank value if the subsequent character is one of the at least one predicted subsequent characters, and transmitting an escape value and the retrieved character if the retrieved character is not one of the at least one predicted subsequent characters.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2022
From: SILVER PEAK SYSTEMS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 059683/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2022
From: SILVER PEAK SYSTEMS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 058984/0617 →
RELEASE OF SECURITY INTEREST Recorded Sep 22, 2020
From: GOLUB CAPITAL LLC
To: SILVER PEAK SYSTEMS, INC.
Reel/Frame 053852/0231 →
SECURITY INTEREST Recorded Apr 16, 2019
From: SILVER PEAK SYSTEMS, INC.
To: GOLUB CAPITAL LLC, AS AGENT
Reel/Frame 048921/0455 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2012
From: HUGHES, DAVID ANTHONY
To: SILVER PEAK SYSTEMS, INC.
Reel/Frame 029350/0200 →
Continuity (1)
Continuation In Part 12313618 · Nov 20, 2008