IP Library › Granted Patent US 10,454,765
Granted Patent B2
US 10,454,765 · App. 15/211,076 · Granted Oct 22, 2019

Method and system for node discovery and self-healing of blockchain networks

Inventor: Steven Charles Davis (Saint Peters, MO)
Assignee: MASTERCARD INTERNATIONAL INCORPORATED
H04L41/0886H04L41/0836H04L47/286H04L67/18H04L69/16H04L69/165
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,454,765
App. No.
15/211,076
Granted
Oct 22, 2019
Kind
B2
Abstract

A method for automatic configuration of a communication network includes: generating a request message, the request message including a communication address associated; transmitting the generated request message as a broadcast message to a plurality of computing devices using a predefined user datagram protocol (UDP) port, the message being broadcast with a predetermined time to live; receiving agreement messages from computing devices transmitted by the respective computing device using the predefined UDP port, each agreement message including a communication address associated with the respective computing device and a specified transmission control protocol (TCP) port; identifying at least one of the one or more agreement messages for establishment of communication; and establishing a communication connection to the computing device associated with each identified agreement message using the specific TCP port.

Claims (51)

1. A method for automatic configuration of a communication network, comprising:

generating, by a generation module of a processing server, a request message, wherein the request message includes at least a communication address associated with the processing server and a service indicator indicating that the processing server is configured to operate as one or more blockchain node types in a blockchain network;

electronically transmitting, by a transmitting device of the processing server, the generated request message as a broadcast message to a plurality of computing devices in the blockchain network using a predefined user datagram protocol (UDP) port, wherein the broadcast message is transmitted with a first time to live and a blockchain network address for the processing server;

receiving, by a receiving device of the processing server, one or more agreement messages, wherein each agreement message is received from one of the plurality of computing devices in the blockchain network, is transmitted by the respective computing device using the predefined UDP port, and includes at least a blockchain network address associated with the respective computing device and a specified transmission control protocol (TCP) port;

identifying, by a data identification module of the processing server, at least one of the one or more agreement messages for establishment of communication;

repeating, by the processing server, the transmitting, receiving, and identifying steps using a second time to live, wherein the identified at least one agreement message using the first time to live does not include at least a predetermined number of agreement messages, the identified at least one agreement message using the second time to live includes at least the predetermined number of agreement messages, the second time to live is longer than the first time to live, identifying the at least one of the one or more agreement message using the second time to live includes prioritizing agreement messages that include blockchain network addresses corresponding to blockchain network addresses included in the at least one agreement message identified using the first time to live; and

establishing, by a communications module of the processing server, a communication connection to the computing device associated with at least the predetermined number of each of the at least one agreement messages identified using the second time to live, wherein the communication connection is established using the specific TCP port included in the respective agreement message.

2. The method of claim 1 , wherein

a combination of the at least one agreement message identified using the predetermined time to live and the at least one agreement message identified using the second time to live includes at least the predetermined number of agreement messages.

3. The method of claim 1 , wherein

communication connections are not established for agreement messages received using the predetermined time to live.

4. The method of claim 1 , wherein the request message and each of the one or more agreement messages further include a network identifier associated with a blockchain network.

5. The method of claim 4 , wherein

the blockchain network address included in the request message is derived using a public key associated with the processing server, and

the blockchain network address included in each of the one or more agreement message is derived using a public key associated with the respective computing device.

6. The method of claim 5 , wherein transmissions made by the processing server using the established communication channel are signed using the blockchain network address derived using the public key associated with the processing server.

7. The method of claim 1 , wherein

the request message further includes one or more service indicators,

each of the one or more agreement messages further includes at least one service indicator, and

the at least one service indicator included in each of the identified at least one agreement messages corresponds to one of the one or more service indicators included in the request message.

8. The method of claim 1 , further comprising:

establishing, by the processing device of the processing server, an additional communication connection to a computing device having a greater geographic distance to the processing server than a geographic distance of the computing device associated with each of the at least one identified agreement messages.

9. The method of claim 8 , wherein the computing device having a greater geographic distance to the processing server is identified by repeating the transmitting, receiving, identifying, and establishing steps with a second time to live, wherein the second time to live is a higher value than the predetermined time to live.

10. The method of claim 8 , further comprising:

storing, in a location database of the processing server, a plurality of location profiles, wherein each location profile includes at least a geographic location and an associated communication address designator, wherein

the computing device having a greater geographic distance to the processing server is identified based on the geographic location associated with a communication address designator corresponding to a communication address associated with the computing device.

11. A system for automatic configuration of a communication network, comprising:

a processing device of a processing server configured to generate a request message, wherein the request message includes at least a blockchain network address associated with the processing server and a service indicator indicating that the processing server is configured to operate as one or more blockchain node types in a blockchain network;

a transmitting device of the processing server configured to electronically transmit the generated request message as a broadcast message to a plurality of computing devices in the blockchain network using a predefined user datagram protocol (UDP) port, wherein the broadcast message is transmitted with a first time to live; and

a receiving device of the processing server configured to receive one or more agreement messages, wherein each agreement message is received from one of the plurality of computing devices in the blockchain network, is transmitted by the respective computing device using the predefined UDP port, and includes at least a blockchain network address associated with the respective computing device and a specified transmission control protocol (TCP) port, wherein

the processing device of the processing server is further configured to

identify at least one of the one or more agreement messages for establishment of communication;

repeat the transmitting, receiving, and identifying using a second time to live, wherein the identified at least one agreement message using the first time to live does not include at least a predetermined number of agreement messages, the identified at least one agreement message using the second time to live includes at least the predetermined number of agreement messages, the second time to live is longer than the first time to live, identifying the at least one of the one or more agreement message using the second time to live includes prioritizing agreement messages that include blockchain network addresses corresponding to blockchain network addresses included in the at least one agreement message identified using the first time to live; and

establish a communication connection to the computing device associated with at least the predetermined number of each of the at least one agreement messages identified using the second time to live, wherein the communication connection is established using the specific TCP port included in the respective agreement message.

12. The system of claim 11 , wherein

a combination of the at least one agreement message identified using the predetermined time to live and the at least one agreement message identified using the second time to live includes at least the predetermined number of agreement messages.

13. The system of claim 11 , wherein communication connections are not established for agreement messages received using the predetermined time to live.

14. The system of claim 11 , wherein the request message and each of the one or more agreement messages further include a network identifier associated with a blockchain network.

15. The system of claim 14 , wherein

the blockchain network address included in the request message is derived using a public key associated with the processing server, and

the blockchain network address included in each of the one or more agreement messages is derived using a public key associated with the respective computing device.

16. The system of claim 15 , wherein transmissions made by the processing server using the established communication channel are signed using the blockchain network address derived using the public key associated with the processing server.

17. The system of claim 11 , wherein

the request message further includes one or more service indicators,

each of the one or more agreement messages further includes at least one service indicator, and

the at least one service indicator included in each of the identified at least one agreement messages corresponds to one of the one or more service indicators included in the request message.

18. The system of claim 11 , wherein the processing device of the processing server is further configured to establish an additional communication connection to a computing device having a greater geographic distance to the processing server than a geographic distance of the computing device associated with each of the at least one identified agreement messages.

19. The system of claim 18 , wherein the computing device having a greater geographic distance to the processing server is identified by repeating the transmitting, receiving, identifying, and establishing steps with a second time to live, wherein the second time to live is a higher value than the predetermined time to live.

20. The system of claim 18 , further comprising:

a location database of the processing server configured to store a plurality of location profiles, wherein each location profile includes at least a geographic location and an associated communication address designator, wherein

the computing device having a greater geographic distance to the processing server is identified based on the geographic location associated with a communication address designator corresponding to a communication address associated with the computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2016
From: DAVIS, STEVEN C.
To: MASTERCARD INTERNATIONAL INCORPORATED
Reel/Frame 039164/0465 →
Continuity (1)
Related Publication 20180019921A1 · Jan 18, 2018
Cited By (1)
US 12,355,624