IP Library Granted Patent US 9,727,629
Granted Patent B2
US 9,727,629 · App. 14/064,891 · Granted Aug 8, 2017

System, methods, and media for compressing non-relational database objects

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,727,629
App. No.
14/064,891
Granted
Aug 8, 2017
Kind
B2
Abstract

Method, media, and systems for compressing objects, comprising: receiving a request to write a first object including a first key and a first value, wherein the first object is of a given type; receiving a request to write a second object including a second key and a second value, wherein the second object is of the given type; classifying the first object to a compression dictionary according to at least one rule based on a value of the first object and/or the key of the first object; classifying the second object to the compression dictionary according to at least one rule based on a value of the second object and/or the key of the second object; and compressing the first object and the second object based on the compression dictionary.

Claims (37)

1. A method for compressing objects, comprising:

receiving a request to write a first object including a first key and a first value, wherein the first object is of a given type, to an in-memory, non-relational data store;

receiving a request to write a second object including a second key and a second value, wherein the second object is of the given type, to the in-memory, non-relational data store;

classifying the first object to a compression dictionary according to at least one rule based on a value of the first object and/or the key of the first object;

classifying the second object to the compression dictionary according to at least one rule based on a value of the second object and/or the key of the second object;

writing the first object to the in-memory, non-relational data store as an uncompressed object before the first object is compressed;

compressing the first object and the second object based on the compression dictionary to form a first compressed object and a second compressed object, respectively; and

writing the first compressed object and the second compressed object to the in-memory, non-relational data store,

wherein writing the first compressed object comprises overwriting the uncompressed object with the first compressed object.

2. The method of claim 1 , further comprising automatically identifying classification rules for classifying objects.

3. The method of claim 1 , further comprising determining when multiple uncompressed versions of an object have been written to in-memory, non-relational data store before the compressed form of a first of the versions has been formed, and preventing the compressed form from overwriting a subsequent version of the object written to in-memory, non-relational data store.

4. The method of claim 1 , further comprising removing an obj ect from in-memory, non-relational storage if it has been expired or based on total hits on the object during a predefined period and an amount of time since the object was last requested.

5. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for compressing objects, the method comprising:

receiving a request to write a first object including a first key and a first value, wherein the first object is of a given type, to an in-memory, non-relational data store;

receiving a request to write a second object including a second key and a second value, wherein the second object is of the given type, to the in-memory, non-relational data store;

classifying the first object to a compression dictionary according to at least one rule based on a value of the first object and/or the key of the first object;

classifying the second object to the compression dictionary according to at least one rule based on a value of the second object and/or the key of the second object;

writing the first object to the in-memory, non-relational data store as an uncompressed object before the first object is compressed;

compressing the first object and the second object based on the compression dictionary to form a first compressed object and a second compressed object, respectively; and

writing the first compressed object and the second compressed object to the in-memory, non-relational data store,

wherein writing the first compressed object comprises overwriting the uncompressed object with the first compressed object.

6. The non-transitory medium of claim 5 , the method further comprising automatically identifying classification rules for classifying objects.

7. The non-transitory medium of claim 5 , the method further comprising determining when multiple uncompressed versions of an object have been written to in-memory, non-relational data store before the compressed form of a first of the versions has been formed, and preventing the compressed form from overwriting a subsequent version of the object written to in-memory, non-relational data store.

8. The non-transitory medium of claim 5 , the method further comprising removing an object from in-memory, non-relational storage if it has been expired or based on total hits on the object during a predefined period and an amount of time since the object was last requested.

9. A system for compressing objects, comprising:

at least one hardware processor that:

receives a request to write a first object including a first key and a first value, wherein the first object is of a given type, to an in-memory, non-relational data store;

receives a request to write a second object including a second key and a second value, wherein the second object is of the given type, to the in-memory, non-relational data store;

classifies the first object to a compression dictionary according to at least one rule based on a value of the first object and/or the key of the first object;

classifies the second object to the compression dictionary according to at least one rule based on a value of the second object and/or the key of the second object;

writes the first object to the in-memory, non-relational data store as an uncompressed object before the first object is compressed;

compresses the first object and the second object based on the compression dictionary to form a first compressed object and a second compressed object, respectively; and

writes the first compressed object and the second compressed object to the in-memory, non-relational data store,

wherein writing the first compressed object comprises overwriting the uncompressed object with the first compressed object.

10. The system of claim 9 , wherein the at least one hardware processor also automatically identifies classification rules for classifying objects.

11. The system of claim 9 , wherein the at least one hardware processor also determines when multiple uncompressed versions of an object have been written to the in-memory, non-relational data store before the compressed form of a first of the versions has been formed, and prevents the compressed form from overwriting a subsequent version of the object written to the in-memory, non-relational data store.

12. The system of claim 10 , wherein the at least one hardware processor also removes an object from an in-memory, non-relational store when it has been expired or based on total hits on the object during a predefined period and an amount of time since the object was last requested.

Assignments (7)
SECURITY INTEREST Recorded Jan 9, 2023
From: REDIS LTD
To: SILICON VALLEY BANK
Reel/Frame 062315/0312 →
CHANGE OF NAME Recorded Sep 13, 2021
From: REDIS LABS LTD
To: REDIS LTD
Reel/Frame 057494/0270 →
SECOND AMENDMENT TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 11, 2019
From: REDIS LABS LTD
To: SILICON VALLEY BANK
Reel/Frame 048301/0621 →
FIRST AMENDMENT TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 25, 2017
From: REDIS LABS LTD.
To: SILICON VALLEY BANK
Reel/Frame 042328/0088 →
SECURITY AGREEMENT Recorded Jun 23, 2015
From: REDIS LABS LTD
To: SILICON VALLEY BANK
Reel/Frame 036011/0849 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: SHOOLMAN, YIFTACH; BENGAL, OFER
To: GARANTIA DATA LTD
Reel/Frame 034675/0981 →
CHANGE OF NAME Recorded Jan 9, 2015
From: GARANTIA DATA LTD
To: REDIS LABS LTD.
Reel/Frame 034746/0466 →