US 12,309,001 B2
Systems and methods for providing a global virtual network (GVN)
Joseph E. Rubenstein, Beijing (CN); Carlos Eduardo Ore, Saint-Herblain (FR); Thibaud Auguste Bernard Jean Saint-Martin, Aubignan (FR); Fred Broussard, Indianapolis, IN (US); and Jørn Allan Dose Knutsen, Oslo (NO)
Assigned to UMBRA Technologies Ltd., British Virgin Islands (GB)
Filed by UMBRA Technologies Ltd., Hong Kong (CN)
Filed on Dec. 13, 2024, as Appl. No. 18/981,108.
Application 18/981,108 is a continuation of application No. 18/358,519, filed on Jul. 25, 2023, granted, now 12,184,451.
Application 18/358,519 is a continuation of application No. 17/888,249, filed on Aug. 15, 2022, granted, now 11,750,419.
Application 17/888,249 is a continuation of application No. 17/461,624, filed on Aug. 30, 2021, granted, now 11,418,366.
Application 17/461,624 is a continuation of application No. 17/000,997, filed on Aug. 24, 2020, granted, now 11,108,595.
Application 17/000,997 is a continuation of application No. 15/563,253, granted, now 10,756,929, previously published as PCT/US2016/026489, filed on Apr. 7, 2016.
Claims priority of provisional application 62/151,174, filed on Apr. 22, 2015.
Claims priority of provisional application 62/144,293, filed on Apr. 7, 2015.
Prior Publication US 2025/0112802 A1, Apr. 3, 2025
Int. Cl. G06F 15/16 (2006.01); G06F 9/4401 (2018.01); G06F 21/57 (2013.01); H04L 9/08 (2006.01); H04L 9/40 (2022.01); H04L 12/46 (2006.01); H04L 45/00 (2022.01); H04L 45/28 (2022.01); H04L 45/302 (2022.01); H04L 45/64 (2022.01)
CPC H04L 12/465 (2013.01) [G06F 9/4401 (2013.01); G06F 9/4416 (2013.01); G06F 21/575 (2013.01); H04L 9/08 (2013.01); H04L 12/4633 (2013.01); H04L 45/22 (2013.01); H04L 45/28 (2013.01); H04L 45/302 (2013.01); H04L 45/64 (2013.01); H04L 63/02 (2013.01); H04L 63/0218 (2013.01); H04L 63/0236 (2013.01); H04L 63/0254 (2013.01); H04L 63/0263 (2013.01); H04L 63/0272 (2013.01); H04L 12/4641 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A method of operating an overlay networking protocol (ONP) on a group of packet networking devices, the method comprising:
at each given first device of a plurality of packet networking devices, establishing a respective secure application programming interface mechanism (APIM) with one or more respective other devices of the plurality of packet networking devices that are reachable by that given first device for ONP communication; and
for each given first device designated as an ONP tunnel builder device, automatically
maintaining, for each of one or more designated ONP tunnel listener second devices of the respective other devices, a respective pool of combinations of transport addresses and ports that are authorized for ONP tunneling between that ONP tunnel builder device and that second device,
accepting, at one or more inbound interfaces, one or more first packets for transport to a first network destination,
determining a first route toward the first network destination,
when the determined first route passes through a given second device of the ONP tunnel listener devices, and a tunnel has not yet been built for forwarding the first packets, performing a new tunnel creation process comprising
selecting, from the respective pool of combinations of transport addresses and ports for the given second device, an unused first transport address/port combination for a first tunnel to be built to the second device,
contacting a tunnel listener on the given second device, and exchanging information via the APIM with that given second device to establish the first tunnel,
binding the first tunnel to a virtual interface (VIF) to service the first route toward the first network destination for the first packets, and
marking the first transport address/port combination as in use, when the first route directs the first packets to the VIF,
processing the first packets for transport through the first tunnel using the first transport address/port combination, and
forwarding the processed first packets to the given second device through the first tunnel, and
for one or more second packets accepted for transport to a second network destination on a second route through the given second device,
repeating the new tunnel creation process to create a second tunnel to the given second device with a second transport address/port combination from the respective pool, bound to the VIF to service the second route toward the second network destination, and
when the second route directs the second packets to the VIF,
processing the second packets for transport through the second tunnel using the second transport address/port combination, and
forwarding the processed second packets to the given second device through the second tunnel;
wherein the first and second tunnels are concurrently active.