IP Library Granted Patent US 12,457,095
Granted Patent B2
US 12,457,095 · App. 18/166,355 · Granted Oct 28, 2025

Adaptive asymmetric-key compression for idempotent data stores in computer messaging

Inventors: Andrea Cosentino (Rome, IT); Paolo Antinori (Novara, IT)
Assignee: Red Hat, Inc.
H04L9/0822H03M7/6064H04L9/0825
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,457,095
App. No.
18/166,355
Granted
Oct 28, 2025
Kind
B2
Abstract

A method includes: receiving, by a server node, a first notification indicating that a first message received by a first node of a cluster of nodes is not a redundant message and cannot be stored by a data store of the nodes, wherein the nodes are managed by the server node; determining to invoke a compression process used to compress message identifiers stored in the first node; receiving a first public key associated with the first node; generating a compression key; generating a first encrypted compression key by encrypting the compression key with the first public key; sending, to the first node, the first encrypted compression key; and receiving, from the first node, a second notification of storing, in a compressed form using a key decrypted from the first encrypted compression key, at least one message identifier in a data store of the first node.

Claims (62)

1. A method, comprising:

receiving, by a server node, a first notification indicating that a first message received by a first node of a cluster of nodes is not a redundant message and cannot be stored by a data store of the nodes, wherein the nodes are managed by the server node;

determining to invoke a compression process used to compress message identifiers stored in the first node;

receiving a first public key associated with the first node;

generating a compression key;

generating, responsive to determining to invoke the compression process used to compress the message identifiers stored in the first node, a first encrypted compression key by encrypting the compression key with the first public key;

sending, to the first node, the first encrypted compression key; and

receiving, from the first node, a second notification of storing, in a compressed form using a key decrypted from the first encrypted compression key, at least one message identifier in a data store of the first node.

2. The method of claim 1 , wherein determining to invoke the compression process is performed responsive to receiving the first notification.

3. The method of claim 1 , wherein determining to invoke the compression process is performed responsive to evaluating a threshold criterion of compression.

4. The method of claim 3 , wherein evaluating the threshold criterion of compression comprises:

determining whether a remaining resource of the first node satisfies a first threshold criterion of compression; and

determining whether a remaining resource of each node listed in a proximity table of the first node satisfies a respective threshold criterion of compression, wherein data of the remaining resource of each node is received from the first node.

5. The method of claim 1 , further comprising:

responsive to receiving the first notification, determining to invoke the compression process used to compress message identifiers stored in each node listed in a proximity table of the first node.

6. The method of claim 1 , further comprising:

generating, by the server node, a compression table, wherein the compression table specifies a list of nodes each associated with an indication of a compression status of message identifiers stored in a data store of a respective node.

7. The method of claim 6 , further comprising:

responsive to receiving the second notification, updating the compression table.

8. The method of claim 1 , further comprising:

determining, by the server node, to invoke a decompression process used to decompress compressed message identifiers stored in the first node; and

sending, to the first node, an instruction to decompress compressed message identifiers stored in the first node.

9. The method of claim 8 , further comprising:

determining whether a remaining resource of the first node satisfies a first threshold criterion of decompression; and

determining whether a remaining resource of each node listed in a proximity table of the first node satisfies a respective threshold criterion of decompression.

10. A system comprising:

a memory; and

a processing device coupled to the memory, the processing device to perform operations comprising:

determining, by a server node, to invoke a compression process used to compress message identifiers stored in a first node of a cluster of nodes, wherein the nodes are managed by the server node;

receiving a first public key associated with the first node;

generating a compression key;

generating, responsive to determining to invoke the compression process used to compress the message identifiers stored in the first node, a first encrypted compression key by encrypting the compression key with the first public key;

sending, to the first node, the first encrypted compression key; and

receiving, from the first node, a second notification of storing, in a compressed form using a key decrypted from the first encrypted compression key, at least one message identifier in a data store of the first node.

11. The system of claim 10 , wherein the processing device is to perform operations further comprising:

receiving, a first notification indicating that a first message received by the first node is not a redundant message and cannot be stored by a data store of the nodes,

wherein determining to invoke the compression process is performed responsive to receiving the first notification.

12. The system of claim 11 , wherein the processing device is to perform operations further comprising:

responsive to receiving the first notification, determining to invoke the compression process used to compress message identifiers stored in each node listed in a proximity table of the first node.

13. The system of claim 10 , wherein determining to invoke the compression process is performed responsive to evaluating a threshold criterion of compression.

14. The system of claim 13 , wherein evaluating the threshold criterion of compression comprises:

determining whether a remaining resource of the first node satisfies a first threshold criterion of decompression; and

determining whether a remaining resource of each node listed in a proximity table of the first node satisfies a respective threshold criterion of compression, wherein data of the remaining resource of each node is received from the first node.

15. The system of claim 10 , wherein the processing device is to perform operations further comprising:

generating, by the server node, a compression table, wherein the compression table specifies a list of nodes each associated with an indication of a compression status of message identifiers stored in a data store of a respective node.

16. The system of claim 15 , wherein the processing device is to perform operations further comprising:

responsive to receiving the second notification, updating the compression table.

17. The system of claim 10 , wherein the processing device is to perform operations further comprising:

determining, by the server node, to invoke a decompression process used to decompress compressed message identifiers stored in the first node; and

sending, to the first node, an instruction to decompress the compressed message identifiers stored in the first node.

18. The system of claim 10 , wherein the processing device is to perform operations further comprising:

determining whether a remaining resource of the first node satisfies a first threshold criterion of decompression; and

determining whether a remaining resource of each node listed in a proximity table of the first node satisfies a respective threshold criterion of decompression.

19. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:

receiving, by a server node, a first notification indicating that a first message received by a first node of a cluster of nodes is not a redundant message and cannot be stored by a data store of the nodes, wherein the nodes are managed by the server node;

determining to invoke a compression process used to compress message identifiers stored in the first node;

receiving a first public key associated with the first node;

generating a compression key;

generating, responsive to determining to invoke the compression process used to compress the message identifiers stored in the first node, a first encrypted compression key by encrypting the compression key with the first public key;

sending, to the first node, the first encrypted compression key; and

receiving, from the first node, a second notification of storing, in a compressed form using a key decrypted from the first encrypted compression key, at least one message identifier in a data store of the first node.

20. The computer-readable non-transitory storage medium of claim 18 , wherein determining to invoke the compression process is performed responsive to receiving the first notification or evaluating a threshold criterion of compression.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2023
From: COSENTINO, ANDREA; ANTINORI, PAOLO
To: RED HAT, INC.
Reel/Frame 063226/0537 →