IP Library › Granted Patent US 12,355,624
Granted Patent B2
US 12,355,624 · App. 17/942,211 · Granted Jul 8, 2025

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

Inventor: Steven C. Davis (Saint Peters, MO)
Assignee: MASTERCARD INTERNATIONAL INCORPORATED
H04L41/0886H04L41/0836H04L47/286H04L67/52H04L69/16H04L69/165H04L43/10H04L45/02H04L45/26H04L67/104
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,355,624
App. No.
17/942,211
Granted
Jul 8, 2025
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 configuration of a partition-resistant communication network, comprising:

electronically transmitting a request message to a plurality of computing devices;

receiving one or more agreement messages, wherein each agreement message is received from one of the plurality of computing devices, each of the one or more agreement messages including a geographic location of the respective one of the plurality of computing devices;

identifying one distant computing device and at least one local computing device of the plurality of computing devices based on the geographic location included in the one or more agreement messages, wherein the distant computing device has a greater geographic distance to a processing server than the at least one local computing device, and the greater geographic distance of the distant computing device to the processing server increasing the resistance of the network to partitioning; and

establishing a communication connection to the distant computing device and the at least one local computing device.

2. The method of claim 1 , further comprising:

storing a plurality of location profiles, wherein each location profile includes at least the geographic location and an associated communication address designator for each of the plurality of computing devices; and

wherein the identifying the one distant computing device and the at least one local computing device includes:

executing query on the location database to identify a location profile for the distant computing device and the at least one local computing device where the included communication address designator corresponds to a communication address associated with the respective computing device.

3. The method of claim 1 , wherein the request message is electronically transmitted as a broadcast message using a predefined user datagram protocol (UDP) port,

the broadcast message is transmitted to the at least one local computing device with a first time to live,

the broadcast message is transmitted to the distant computing device with a second time to live, and

the second time to live has a higher value than the first time to live.

4. The method of claim 1 , wherein the request message further includes a blockchain network address derived using a public key associated with the processing server.

5. The method of claim 4 , 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.

6. The method of claim 1 , wherein each of the one or more agreement messages further includes a communication address associated with the respective computing device and a specified transmission control protocol (TCP) port; and

wherein the communication connection to the distant computing device is established via the TCP port specified in the respective agreement message.

7. The method of claim 6 , wherein each of the one or more agreement messages further includes a blockchain network address derived using a public key associated with the respective computing device.

8. The method of claim 1 , including:

repeating the electronically transmitting the request message to the plurality of computing devices a plurality of times, each of the plurality of request messages having a request message time to live, each of the plurality of request message times to live having an increasingly longer time to live;

wherein the one or more agreement messages include an agreement message received in response to each of the plurality of request messages; and

wherein identifying the one distant computing device is based on the agreement message received in response to the request message with the longest time to live.

9. The method of claim 1 , wherein the geographic location of each of the plurality of computing devices includes at least one of: a latitude and longitude, a zip code, a postal code, a city, a state, a country, and a municipality.

10. The method of claim 1 , wherein the establishing the communication connection to the distant computing device and the at least one local computing device includes:

establishing a communication connection to a predefined number of the plurality of communication devices.

11. A system for configuration of a partition-resistance communication network, comprising:

a transmitting device of a processing server configured to electronically transmit a request message to a plurality of computing devices;

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, each of the one or more agreement messages including a geographic location of the respective one of the plurality of computing devices;

the processing device of the processing server is further configured to:

identify one distant computing device and at least one local computing device of the plurality of computing devices based on the geographic location included in the one or more agreement messages, wherein the distant computing device has a greater geographic distance to the processing server than the at least one local computing device, and the greater geographic distance of the distant computing device to the processing server increasing the resistance of the network to partitioning; and

establish a communication connection to the distant computing device and the at least one local computing device.

12. The system of claim 11 , further comprising:

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

wherein the identifying the one distant computing device and the at least one local computing device includes:

the processing device of the processing server configured to execute a query on the location database to identify a location profile for the distant computing device and the at least one local computing device where the included communication address designator corresponds to a communication address associated with the respective computing device.

13. The system of claim 11 , wherein the generated request message is electronically transmitted as a broadcast message using a predefined user datagram protocol (UDP) port,

the broadcast message is transmitted to the at least one local computing device with a first time to live,

the broadcast message is transmitted to the distant computing device with a second time to live, and

the second time to live has a higher value than the first time to live.

14. The system of claim 11 , wherein the request message further includes a blockchain network address derived using a public key associated with the processing server.

15. The system of claim 14 , 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.

16. The system of claim 11 , wherein each of the one or more agreement messages further includes a communication address associated with the respective computing device and a specified transmission control protocol (TCP) port; and

wherein the communication connection to the distant computing device is established via the TCP port specified in the respective agreement message.

17. The system of claim 16 , wherein each of the one or more agreement messages further includes a blockchain network address derived using a public key associated with the respective computing device.

18. The system of claim 11 , including:

repeating the electronically transmitting, by the transmitting device of the processing server, the request message to the plurality of computing devices a plurality of times, each of the plurality of request messages having a request message time to live, each of the plurality of request message times to live having an increasingly longer time to live;

wherein the one or more agreement messages include an agreement message received in response to each of the plurality of request messages; and

wherein identifying the one distant computing device is based on the agreement message received in response to the request message with the longest time to live.

19. The system of claim 11 , wherein the geographic location of each of the plurality of computing devices includes at least one of: a latitude and longitude, a zip code, a postal code, a city, a state, a country, and a municipality.

20. The system of claim 11 , wherein the establishing the communication connection to the distant computing device and the at least one local computing device further includes the processing device of the processing server is further configured to:

establish a communication connection to a predefined number of the plurality of communication devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2022
From: DAVIS, STEVEN C.
To: MASTERCARD INTERNATIONAL INCORPORATED
Reel/Frame 061057/0316 →
Continuity (3)
Continuation 16567112 · Sep 11, 2019
Continuation 15211076 · Jul 15, 2016
Related Publication 20230006882A1 · Jan 5, 2023
References Cited (36)
US 4816702A · Salina et al. · 1989 [cited by applicant]
US 6760309B1 · Rochberger et al. · 2004 [cited by applicant]
US 9852221B1 · Callau · 2017 [cited by examiner]
US 10454765B2 · Davis · 2019 [cited by applicant]
US 20060173967A1 · Jennings et al. · 2006 [cited by applicant]
US 20070258389A1 · Suzuki · 2007 [cited by examiner]
US 20080285520A1 · Forte · 2008 [cited by examiner]
US 20090113034A1 · Krishnappa et al. · 2009 [cited by applicant]
US 20100202346A1 · Sitzes et al. · 2010 [cited by applicant]
US 20110219072A1 · Yang · 2011 [cited by examiner]
US 20120017252A1 · Li et al. · 2012 [cited by applicant]
US 20130059656A1 · Kim et al. · 2013 [cited by applicant]
US 20130061232A1 · Bernbo · 2013 [cited by examiner]
US 20130115872A1 · Huang et al. · 2013 [cited by applicant]
US 20130191434A1 · Smith · 2013 [cited by examiner]
US 20150347538A1 · Ohno · 2015 [cited by applicant]
US 20160203522A1 · Shiffert · 2016 [cited by examiner]
US 20160260171A1 · Ford · 2016 [cited by examiner]
US 20170243212A1 · Castinado et al. · 2017 [cited by applicant]
US 20170372417A1 · Gaddam · 2017 [cited by examiner]
CN 105051726A · 2015 [cited by applicant]
CN 105164991A · 2015 [cited by applicant]
CN 105719185A · 2016 [cited by applicant]
EP 2153623A2 · 2010 [cited by applicant]
EP 2408173A1 · 2012 [cited by applicant]
WO 2008049870A2 · 2008 [cited by applicant]
Office Action (The Second Office Action) issued on May 19, 2021, by the State Intellectual Property Office of People's Republic of China in corresponding Chinese Patent Application No. 201780042699.X and English Transla… [cited by applicant]
Notification to Grant Patent Right for Invention issued Oct. 18, 2021, by the China National Intellectual Property Administration in corresponding Chinese Patent Application No. 201780042699.X and an English Translation… [cited by applicant]
Office Action (The First Office Action) issued on Oct. 28, 2020, by the State Intellectual Property Office of People's Republic of China in corresponding Chinese Patent Application No. 201780042699.X and an English Tran… [cited by applicant]
Office Action (First Examination Report) issued on Jun. 8, 2020, by the Intellectual Property India in corresponding India Patent Application No. 201817006257 and English Translation of the Office Action (7 pages). [cited by applicant]
The extended European Search Report issued Nov. 25, 2020, by the European Patent Office in corresponding European Patent Application No. 20191630.1-1215 (13 pages). [cited by applicant]
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority issued on Sep. 21, 2017 in International Application No. PCT/US2017/036240 (14 pages). [cited by applicant]
Extended European Search Report, dated Nov. 21, 2023, issued in corresponding European Application No. 23206547.4, 12 pages. [cited by applicant]
Ardaiz et al, “Xweb: A Framework for Application Network Deployment in a Programmable Internet Service Infrastructure”, Proceedings of the 12th Euromicro Conference on Parallel, Distributed and Network-Based Processing … [cited by applicant]
Brambilla G, Amoretti M, Medioli F, Zanichelli F. Blockchain-based Proof of Location. arXiv preprint arXiv:1607.00174. Jul. 1, 2016. [cited by applicant]
First Office Action, dated Jan. 24, 2024, issued in corresponding Chinese Application No. 202111404292.1, 8 pages. [cited by applicant]