IP Library Granted Patent US 10,887,254
Granted Patent B2
US 10,887,254 · App. 15/886,662 · Granted Jan 5, 2021

Enterprise messaging using blockchain system

Inventor: Ondrej Zizka (Brno, CZ)
Assignee: Red Hat, Inc.
H04L51/02G06F9/541G06Q10/107H04L9/0637H04L63/123H04L67/104H04L2209/38
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 10,887,254
App. No.
15/886,662
Granted
Jan 5, 2021
Kind
B2
Abstract

Enterprise messaging using a blockchain system. A method of the disclosure includes receiving, by a first node of a blockchain system of an enterprise service bus, a message transmitted by a second node of the blockchain system. The blockchain system may be configured to store a plurality of messages communicated via the enterprise service bus in a distributed ledger. The method also includes determining, by the first node, whether the first node should process the message. The method further includes processing, by the first node, the message in response to determining that the message should be processed by the first node. The method further includes updating the distributed ledger to indicate that the message has been processed by the first node.

Claims (35)

1. A method, comprising:

receiving, by a first node of a blockchain system of an enterprise service bus, a message transmitted by a second node of the blockchain system, wherein the blockchain system is configured to store a plurality of messages communicated via the enterprise service bus in a distributed ledger;

determining, by the first node, whether the first node should process the message in view of whether the message has been completely processed by one or more other nodes of the blockchain system;

processing, by the first node, the message in response to determining that the message should be processed by the first node;

determining that a first group of nodes of the blockchain system comprises a first copy of the distributed ledger and that a second group of nodes of the blockchain system comprises a second copy of the distributed ledger, wherein the first copy of the distributed ledger is different from the second copy of the distributed ledger;

reconciling the first copy of the distributed ledger with the second copy of the distributed ledger by:

determining that the first copy of the distributed ledger comprises reversible messages; and

reversing one or more actions based on the reversible messages; and

updating the distributed ledger to indicate that the message has been processed by the first node.

2. The method of claim 1 , wherein receiving the message comprises:

determining that a block comprising the message has been added to the distributed ledger.

3. The method of claim 1 , wherein determining whether to process the message comprises:

determining whether the message is addressed to the first node.

4. The method of claim 1 , wherein processing the message comprises:

decrypting the message using a private key of the first node, wherein a payload of the message is encrypted with a public key of the first node.

5. The method of claim 1 , wherein the distributed ledger is distributed across a plurality of nodes of the blockchain system.

6. The method of claim 1 , wherein reconciling the first copy of the distributed ledger with the second copy of the distributed ledger further comprises:

determining that the first copy of the distributed ledger is shorter than the second copy of the distributed ledger; and

providing the first copy of the distributed ledger to a set of nodes that have the second copy of the distributed ledger.

7. The method of claim 1 , wherein reconciling the first copy of the distributed ledger with the second copy of the distributed ledger further comprises:

determining that a larger number of nodes have the first copy of the distributed ledger than the second copy of the distributed ledger; and

providing the first copy of the distributed ledger to a set of nodes that have the second copy of the distributed ledger.

8. An apparatus, comprising:

a memory to store a distributed ledger; and

a processing device operatively coupled to the memory, the processing device to:

receive a message transmitted by a node of a blockchain system of an enterprise service bus, wherein the blockchain system is to store a plurality of messages communicated via the enterprise service bus in the distributed ledger;

determine whether to process the message in view of whether the message has been completely processed by one or more other nodes of the blockchain system;

process the message in response to determining that the message should be processed;

determine that a first group of nodes of the blockchain system comprises a first copy of the distributed ledger and that a second group of nodes of the blockchain system comprises a second copy of the distributed ledger, wherein the first copy of the distributed ledger is different from the second copy of the distributed ledger;

reconcile the first copy of the distributed ledger with the second copy of the distributed ledger, where to reconcile, the processing device to:

determine that the first copy of the distributed ledger comprises reversible messages; and

reverse one or more actions based on the reversible messages; and

update the distributed ledger to indicate that the message has been processed.

9. The apparatus of claim 8 , wherein to process the message the processing device is further to:

decrypt the message using a private key of the apparatus, wherein a payload of the message is encrypted with a public key of the apparatus.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2018
From: ZIZKA, ONDREJ
To: RED HAT, INC.
Reel/Frame 044805/0355 →
Continuity (1)
Related Publication 20190238486A1 · Aug 1, 2019