IP Library Granted Patent US 9,792,308
Granted Patent B2
US 9,792,308 · App. 13/875,884 · Granted Oct 17, 2017

Content estimation data compression

Inventors: James J. Fallon (Armonk, NY); Paul F. Pickel (Bethpage, NY); Stephen J. McErlain (Astoria, NY); John Buck (Baldwin, NY)
Assignee: Realtime Data, LLC
G06F17/30312
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 9,792,308
App. No.
13/875,884
Granted
Oct 17, 2017
Kind
B2
Abstract

The present disclosure is directed to systems and methods for providing fast and efficient data compression using a combination of content dependent, content estimation, and content independent data compression. In one aspect of the disclosure a method for compressing data comprises the steps of: analyzing a data block of an input data stream to identify a data type of the data block, the input data stream comprising a plurality of disparate data types; performing content dependent data compression on the data block, if the data type of the data block is identified; performing content estimation data compression if the content is estimable; and performing content independent data compression on the data block, if the data type of the data block is not identified or estimable. In another aspect of the present invention LZDR compression is applied to simultaneously perform one method of compression while computing statistics useful in estimating the optimal form of compression to be applied.

Claims (14)

1. A system for content estimation data compression, the system comprising:

a memory configured to store a data block; and

one or more processors including a run length encoder and a dictionary compression encoder configured to execute on the one or more processors,

wherein the one or more processors are configured to:

determine whether the data block is parsable, and in response to determining that the data block is parsable, compress the data block using content dependent data compression;

in response to determining that the data block is not parsable, determine whether the data block content is estimable by applying run length encoding and dictionary encoding, performing a compression error check on results of the applying, and compiling one or more compression statistics on the data block, wherein the applying of run length encoding occurs before the applying of dictionary encoding;

in response to determining that the data block is not parsable and that the data block content is not estimable based on the results of the applying, compress the data block using content independent data compression; and

in response to determining that the data block is not parsable and that the data block content is estimable based on the results of the applying, estimate the content of the data block, aggregate the data block with a second data block of estimated data content to produce an accumulated data block for generating a higher compression ratio relative to individually compressed blocks, select one or more encoders to be applied to the accumulated data block based on the estimated content of the data block, wherein the one or more selected encoders to be applied to the data block utilize the one or more compression statistics, and compress the accumulated data block with the one or more selected encoders to a smaller size than the first and second data blocks in uncompressed form.

2. The system of claim 1 , wherein the one or more applied encoders output encoded data when a compression ratio of compressed data exceeds a compression threshold.

3. The system of claim 1 , wherein the one or more applied encoders output unencoded data when a compression ratio of compressed data is less than a compression threshold.

4. The system of claim 1 , wherein the applying run length encoding includes utilizing an LZDR compression technique.

5. The system of claim 1 , wherein the applying dictionary encoding includes utilizing a Huffman encoding technique.

6. The system of claim 1 , wherein the performing the compression error check includes determining whether a failure has occurred in creating a compression table during the application of the dictionary encoding.

7. The system of claim 1 , wherein the one or more processors are further configured to compress the accumulated data block in response to determining that a predefined minimum quantity of data has been aggregated.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2013
From: FALLON, JAMES J.; PICKEL, PAUL F.; MCERLAIN, STEPHEN J.; BUCK, JOHN
To: REALTIME DATA LLC DBA IXO
Reel/Frame 030484/0161 →
Continuity (15)
Continuation In Part 14936312 · Nov 9, 2015
Continuation 14727309 · Jun 1, 2015
Continuation 14495574 · Sep 24, 2014
Continuation 14251453 · Apr 11, 2014
Continuation 14035561 · Sep 24, 2013
Continuation 13154211 · Jun 6, 2011
Continuation 12703042 · Feb 9, 2010
Continuation 11651366 · Jan 8, 2007
Continuation 11651365 · Jan 8, 2007
Continuation 10668768 · Sep 22, 2003
Continuation 10016355 · Oct 29, 2001
Continuation In Part 09705446 · Nov 3, 2000
Continuation 09210491 · Dec 11, 1998
Provisional Application 61641684 · May 2, 2012
Related Publication 20130297575A1 · Nov 7, 2013