IP Library › Granted Patent US 12,362,765
Granted Patent B2
US 12,362,765 · App. 18/304,242 · Granted Jul 15, 2025

Cooperative compression in distributed databases

Inventor: Joseph Lynch (Gaithersburg, MD)
Assignee: NETFLIX, INC.
H03M7/3088H03M7/4062H03M7/6052
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 12,362,765
App. No.
18/304,242
Granted
Jul 15, 2025
Kind
B2
Abstract

In various embodiments a computer-implemented method for managing use of a shared compression dictionary in a distributed database environment. The method includes determining that a given version of the shared compression dictionary should be designated as a current primary version of the shared compression dictionary. The method also includes receiving, from a client device, first write data compressed with a previous primary version of the shared compression dictionary and in response to receiving the first write data, transmitting, to the client device, the current primary version of the shared compression dictionary and an instruction to compress new write data with the current primary version of the shared compression dictionary. Additionally, the method includes receiving, from the client device, a second write data compressed with the current primary version of the shared compression dictionary and storing the second write data in a database.

Claims (52)

1. A computer-implemented method, comprising:

determining that a given version of a shared compression dictionary should be designated as a current primary version of the shared compression dictionary;

receiving, from a client device, a first write data compressed with a previous primary version of the shared compression dictionary;

in response to receiving the first write data, transmitting, to the client device, the current primary version of the shared compression dictionary and an instruction to compress new write data with the current primary version of the shared compression dictionary;

receiving, from the client device, a second write data compressed with the current primary version of the shared compression dictionary; and

storing the second write data in a database.

2. The method of claim 1 , wherein receiving the first write data further comprises determining that the client device does not possess the current primary version of the shared compression dictionary.

3. The method of claim 2 , wherein determining that the client device does not possess the current primary version of the shared compression dictionary further comprises:

receiving metadata associated with the first write data, wherein the metadata includes a list of versions of the shared compression dictionary possessed by the client device; and

determining that the current primary version of the shared compression dictionary is not included in the list of versions of the shared compression dictionary.

4. The method of claim 1 , further comprising:

in response to determining the first write data was compressed with the previous primary version of the shared compression dictionary, compressing the first write data with the current primary version of the shared compression dictionary; and

storing the first write data in the database.

5. The method of claim 1 , wherein the instruction to compress new write data with the current primary version of the shared compression dictionary is included in metadata of a signal transmitted to the client device.

6. The method of claim 1 , further comprising transmitting a second instruction causing the client device to delete the previous primary version of the shared compression dictionary from storage of the client device.

7. The method of claim 6 , wherein the second instruction to delete the previous primary version of the shared compression dictionary is included in metadata of a signal transmitted to the client device.

8. The method of claim 1 , wherein determining that the given version of the shared compression dictionary should be designated as the current primary version of the shared compression dictionary further comprises:

training the given version of the shared compression dictionary; and

designating the given version of the shared compression dictionary as the current primary version of the shared compression dictionary in response to determining that a compression ratio achieved with the previous primary version of the shared compression dictionary is less than a threshold.

9. The method of claim 1 , wherein determining that the given version of the shared compression dictionary should be designated as the current primary version of the shared compression dictionary further comprises:

training the given version of the shared compression dictionary during a compaction process.

10. The method of claim 1 , further comprising expiring the previous primary version of the shared compression dictionary.

11. One or more non-transitory computer-readable storage media including instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:

determining that a given version of a shared compression dictionary should be designated as a current primary version of the shared compression dictionary;

receiving, from a client device, first write data compressed with a previous primary version of the shared compression dictionary;

in response to receiving the first write data, transmitting, to the client device, an instruction to compress new write data with the current primary version of the shared compression dictionary;

receiving, from the client device, a second write data compressed with the current primary version of the shared compression dictionary; and

storing the second write data in a database.

12. The one or more non-transitory computer-readable storage media of claim 11 , wherein the instructions further cause the one or more processors to perform the steps of:

determining that the client device does not possess the current primary version of the shared compression dictionary; and

in response to determining that the client device does not possess the current primary version of the shared compression dictionary, transmitting, to the client device, the current primary version of the shared compression dictionary.

13. The one or more non-transitory computer-readable storage media of claim 12 , wherein determining that the client device does not possess the current primary version of the shared compression dictionary further comprises:

receiving metadata associated with the first write data, wherein the metadata includes a list of versions of the shared compression dictionary possessed by the client device; and

determining that the current primary version of the shared compression dictionary is not included in the list of versions of the shared compression dictionary.

14. The one or more non-transitory computer-readable storage media of claim 11 , wherein the instructions further cause the one or more processors to perform the steps of:

in response to determining the first write data was compressed with the previous primary version of the shared compression dictionary, compressing the first write data with the current primary version of the shared compression dictionary; and

storing the first write data in the database.

15. The one or more non-transitory computer-readable storage media of claim 11 , wherein the instruction to compress new write data with the current primary version of the shared compression dictionary is included in metadata of a signal transmitted to the client device.

16. The one or more non-transitory computer-readable storage media of claim 11 , wherein the instructions further cause the one or more processors to perform the step of transmitting a second instruction causing the client device to delete the previous primary version of the shared compression dictionary from storage of the client device.

17. The one or more non-transitory computer-readable storage media of claim 16 , wherein the second instruction to delete the previous primary version of the shared compression dictionary is included in metadata of a signal transmitted to the client device.

18. The one or more non-transitory computer-readable storage media of claim 11 , wherein the instructions further cause the one or more processors to perform the steps of:

scheduling a time for expiring the previous primary version of the shared compression dictionary; and

expiring the previous primary version of the shared compression dictionary at the scheduled time.

19. A system comprising:

a memory storing a dictionary management service; and

a processor coupled to the memory, wherein when executed by the processor, the dictionary management service causes the processor to:

determine that a given version of a shared compression dictionary should be designated as a current primary version of the shared compression dictionary, wherein the shared compression dictionary is shared across a plurality of devices;

receive, from a client device included in the plurality of devices, first write data compressed with a previous primary version of the shared compression dictionary;

transmit, to the client device, the current primary version of the shared compression dictionary and an instruction to compress new write data with the current primary version of the shared compression dictionary;

receive, from the client device, a second write data compressed with the current primary version of the shared compression dictionary; and

store the second write data in a database.

20. The system of claim 19 , further comprising a server that includes the processor and the database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2023
From: LYNCH, JOSEPH
To: NETFLIX, INC.
Reel/Frame 063428/0135 →
Continuity (2)
Provisional Application 63334600 · Apr 25, 2022
Related Publication 20230344446A1 · Oct 26, 2023
References Cited (3)
US 11405054B1 · Micou · 2022 [cited by examiner]
US 11463559B1 · Agarwal · 2022 [cited by examiner]
Handte et al, “5 Ways Facebook Improved Compression at Scale With Zstandard”, Dec. 19, 2018, 10 pages, available at https://engineering.fb.com/2018/12/19/core-data/zstandard/. [cited by applicant]