US 12,323,296 B2
Hybrid software-defined networking and mobile ad-hoc networking routing in mesh networks
Brian Barritt, San Jose, CA (US); Ian Coolidge, San Diego, CA (US); and David Mandle, Mountain View, CA (US)
Assigned to AALYRIA TECHNOLOGIES, INC., Livermore, CA (US)
Filed by Aalyria Technologies, Inc., Livermore, CA (US)
Filed on Dec. 15, 2022, as Appl. No. 18/066,919.
Application 18/066,919 is a continuation of application No. 17/138,019, filed on Dec. 30, 2020, granted, now 11,552,849.
Prior Publication US 2023/0119905 A1, Apr. 20, 2023
Int. Cl. H04L 41/0816 (2022.01); H04B 7/185 (2006.01); H04L 41/08 (2022.01); H04L 41/0853 (2022.01); H04L 41/12 (2022.01); H04L 45/00 (2022.01); H04L 45/24 (2022.01); H04W 84/06 (2009.01); H04W 40/26 (2009.01)
CPC H04L 41/0816 (2013.01) [H04B 7/18528 (2013.01); H04B 7/18534 (2013.01); H04L 41/0856 (2013.01); H04L 41/0886 (2013.01); H04L 41/12 (2013.01); H04L 45/20 (2013.01); H04L 45/24 (2013.01); H04W 84/06 (2013.01); H04W 40/26 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a network controller in communication with a plurality of nodes of a network, the plurality of nodes including a first node that is in motion relative to a second node, wherein the first node is a high altitude platform; and
wherein the network controller includes one or more processors, the one or more processors being configured to:
receive node information from the plurality of nodes of the network, wherein the node information includes location information and flight information for the first node;
determine current and predicted paths for the first node based on the location information and the flight information;
determine available nodes and possible links in the network based on the received node information;
determine a current topology and a future topology of the network based on the available nodes and possible links;
receive, from one or more client devices, client data information related to client data to be transmitted through the network, the client data including at least a destination node;
determine a primary network configuration for the current topology, wherein the primary network configuration includes one or more first routing paths for the client data;
determine a first forwarding rule for each node of the network based on the one or more first routing paths;
determine a secondary network configuration for the future topology, wherein the secondary network configuration includes one or more second routing paths for the client data;
determine a second forwarding rule for each node of the network based on the secondary network configuration; and
send implementation instructions to the plurality of nodes of the network, wherein the implementation instructions cause storage of the first forwarding rule and the second forwarding rule, the first forwarding rule having a higher priority of implementation than the second forwarding rule at each of the plurality of nodes, and cause the plurality of nodes to implement the primary network configuration and to switch to the secondary network configuration under a circumstance, wherein the circumstance includes transmitted client data not being received at the destination node.