IP Library › Granted Patent US 11,665,067
Granted Patent B2
US 11,665,067 · App. 17/303,479 · Granted May 30, 2023

Managing reconfigurations of distributed computing systems

Inventors: Matej Pavlovic (Adliswil, CH); Chrysoula Stathakopoulou (Zurich, CH); Selma Steinhoff (Bülach, CH); Marko Vukolić (Zurich, CH)
Assignee: International Business Machines Corporation
H04L41/5025H04L41/042H04L41/0816
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 11,665,067
App. No.
17/303,479
Granted
May 30, 2023
Kind
B2
Abstract

A computer manages reconfigurations of a Byzantine fault-tolerant, distributed computing system comprising a network of first nodes adhering to a given consensus protocol at a reconfiguration service. The computer services the network by receiving a request of change of status of a second node with respect to the network. The computer informs at least a subset of the first nodes of the received request. The computer obtains an approval of the request, whereby at least a subset of the first nodes collectively approve the change of status as a result of contributions processed according to the given consensus protocol. The computer updates a configuration log according to request approvals obtained by servicing the network. The computer addresses requests of clients about configurations of the network based on the updated configuration log.

Claims (63)

1. A method of managing reconfigurations of a Byzantine fault-tolerant, distributed computing system comprising a network of first nodes adhering to a given consensus protocol at a reconfiguration service, comprising:

servicing the network by;

receiving a request of change of status of a second node with respect to the network,

informing at least a subset of the first nodes of the received request, and

obtaining an approval of the request, whereby at least a subset of the first nodes collectively approve the change of status as a result of contributions processed according to the given consensus protocol;

updating a configuration log according to request approvals obtained by servicing the network; and

addressing requests of clients about configurations of the network based on the updated configuration log.

2. The method according to claim 1 , wherein the reconfiguration service is

implemented at one of a distributed computing system and a distinct distributed computing system, and

adheres to a further consensus protocol that is logically distinct from said given consensus protocol.

3. The method according to claim 2 , wherein

the reconfiguration service is implemented as a smart contract executed according to said further consensus protocol.

4. The method according to claim 2 , wherein

the reconfiguration service is implemented at the distinct distributed computing system.

5. The method according to claim 2 , wherein

the further consensus protocol uses a proof of work mechanism.

6. The method according to claim 1 , wherein, at servicing the network,

the given consensus protocol of the network uses a proof of stake mechanism,

the approval is obtained by the reconfiguration service based on those contributions from a subset of the first nodes having stakes in respect of the request of change of status.

7. The method according to claim 1 , wherein

the distributed system is configured as a permissioned blockchain.

8. The method according to claim 1 , wherein, at servicing the network,

the first nodes are informed by the reconfiguration service of the received request during a same epoch, so as to be able to make said contributions at an end of that same epoch; and

the approval of the request is obtained by the reconfiguration service at the earliest at the end of that same epoch.

9. The method according to claim 1 , wherein, at servicing the network,

the approval of the request is obtained at the reconfiguration service by validating the request when a sufficient number of said contributions are available to the reconfiguration service.

10. The method according to claim 1 , wherein the method further comprises,

at each of the first nodes, batching successive ones of their contributions in respect of successive requests of change of status as informed of by the reconfiguration service while servicing the network.

11. The method according to claim 1 , wherein servicing the network further comprises:

informing the first nodes of a configurational change of the network reflecting the approved change of status.

12. The method according to claim 1 , wherein the method further comprises, at the second node,

obtaining a confirmation from the first nodes that they have been informed of the request of change of status; and

confirming the request to the first nodes for the latter to start making said contributions based on the confirmed request.

13. The method according to claim 12 , wherein the method further comprises:

obtaining said approval of the request at the second node, in addition to obtaining this approval at the reconfiguration service, for the second node to start acting with respect to the network according to the approved request.

14. The method according to claim 12 , wherein the method further comprises, at the second node,

sending the request of change of status to both the reconfiguration service and the first nodes, for the reconfiguration service to accordingly inform the first nodes and the first nodes to confirm they have been informed of the request and then start making said contributions.

15. The method according to claim 1 , wherein the method further comprises,

at the reconfiguration service, requesting the second node to provision credits for the reconfiguration service to compensate the first nodes according to a protocol run at the reconfiguration service.

16. The method according to claim 1 , wherein

a configuration of the reconfiguration service is managed by a further configuration service.

17. The method according to claim 1 , wherein

the received request is one of:

a request to join the network;

a request to leave the network; and

a request to evict one or more of the nodes of the network.

18. The method according to claim 1 , wherein

the network comprises n nodes, n≥4, and the distributed computing system is configured to tolerate at most f Byzantine nodes, where f<n/3.

19. A system of managing reconfigurations of a Byzantine fault-tolerant, distributed computing system comprising a network of first nodes adhering to a given consensus protocol at a reconfiguration service, which comprises:

a computer system comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to:

service the network by

receiving a request of change of status of a second node with respect to the network,

informing at least a subset of the first nodes of the received request, and

obtaining an approval of the request, whereby at least a subset of the first nodes collectively approve the change of status as a result of contributions processed according to the given consensus protocol;

updating a configuration log according to request approvals obtained by servicing the network; and

addressing requests of clients about configurations of the network based on the updated configuration log.

20. A computer program product for managing reconfigurations of a Byzantine fault-tolerant, distributed computing system comprising a network of first nodes adhering to a given consensus protocol, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors, to cause the reconfiguration service to:

service the network by

receiving a request of change of status of a second node with respect to the network,

informing at least a subset of the first nodes of the received request, and

obtaining an approval of the request, whereby at least a subset of the first nodes collectively approve the change of status as a result of contributions processed according to the given consensus protocol;

update a configuration log according to request approvals obtained by continually servicing the network; and

address requests of clients about configurations of the network based on the updated configuration log.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2021
From: PAVLOVIC, MATEJ; STATHAKOPOULOU, CHRYSOULA; STEINHOFF, SELMA; VUKOLIC, MARKO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 056449/0061 →
Continuity (1)
Related Publication 20220385549A1 · Dec 1, 2022