Systems and methods for improving tolerance of delay and disruption of a control-to-data-plane interface in a software-defined network
This disclosure provides systems and methods for improving tolerance of delay and disruption of a control-to-data-plane interface (CDPI) in a software-defined network. A system can include a plurality of moving nodes and an SDN controller communicatively coupled to the plurality of moving nodes. The SDN controller can be configured to send a first control message to a first moving node of the plurality of moving nodes according to a CDPI protocol. The first control message can include instructions for the first moving node to execute a modification of a physical network topology parameter. The SDN controller also can be configured to send a second control message to the first moving node according to the CDPI protocol. The second control message can include instructions for the first moving node to modify routing information stored by the first node based on the modification of the physical network topology parameter.
1 . A system for configuring a software-defined network (SDN), the system comprising:
a plurality of moving nodes; and
an SDN controller communicatively coupled to the plurality of moving nodes, wherein the SDN controller is configured to:
send a first control message to a first moving node of the plurality of moving nodes according to a control-to-data-plane interface (CDPI) protocol, the first control message including instructions for the first moving node to execute a modification of a physical network topology parameter, including at least instructions to cause the first moving node to aim a wireless transceiver towards a second moving node; and
send a second control message to the first moving node according to the CDPI protocol, the second control message including instructions for the first moving node to modify routing information stored by the first moving node based on the modification of the physical network topology parameter.
2 . The system of claim 1 , wherein the SDN controller is further configured to send the first control message specifying a first future time at which the first moving node is to execute the modification of the physical network topology parameter.
3 . The system of claim 2 , wherein the SDN controller is further configured to send the second control message specifying a second future time, later than the first future time, at which the first moving node is to modify the routing information.
4 . The system of claim 1 , wherein the SDN controller is further configured to receive, from the first moving node, a confirmation message indicating that the modification of the physical network topology parameter and the modification of the routing information stored by the first moving node have both been executed.
5 . The system of claim 1 , wherein the SDN controller is further configured to:
receive, from the first moving node, a confirmation message indicating that the modification of the physical network topology parameter has been executed; and
send the second control message responsive to receiving the confirmation message.
6 . The system of claim 1 , wherein the first control message includes instructions to cause the first moving node to modify at least one parameter associated with a transmitter of the first moving node.
7 . The system of claim 6 , wherein the at least one parameter associated with the transmitter of the first moving node includes at least one of a transmission power, a transmission frequency, and a modulation scheme.
8 . A method for configuring a software-defined network (SDN), the method comprising:
sending, by an SDN controller communicatively coupled to a plurality of moving nodes, a first control message to a first moving node of the plurality of moving nodes according to a control-to-data-plane interface (CDPI) protocol, the first control message including instructions for the first moving node to execute a modification of a physical network topology parameter, including at least instructions to cause the first moving node to aim a wireless transceiver towards a second moving node; and
sending, by the SDN controller, a second control message to the first moving node according to the CDPI protocol, the second control message including instructions for the first moving node to modify routing information stored by the first moving node based on the modification of the physical network topology parameter.
9 . The method of claim 8 , wherein the method further comprises sending, by the SDN controller, the first control message specifying a first future time at which the first moving node is to execute the modification of the physical network topology parameter.
10 . The method of claim 9 , wherein the method further comprises sending, by the SDN controller, the second control message specifying a second future time, later than the first future time, at which the first moving node is to modify the routing information.
11 . The method of claim 8 , wherein the method further comprises receiving, by the SDN controller from the first moving node, a confirmation message indicating that the modification of the physical network topology parameter and the modification of the routing information stored by the first moving node have both been executed.
12 . The method of claim 8 , wherein the method further comprises:
receiving, by the SDN controller from the first moving node, a confirmation message indicating that the modification of the physical network topology parameter has been executed; and
sending, by the SDN controller, the second control message responsive to receiving the confirmation message.
13 . The method of claim 8 , wherein sending the first control message includes sending instructions to cause the first moving node to modify at least one parameter associated with a transmitter of the first moving node.
14 . The method of claim 13 , wherein sending the first control message includes sending instructions to cause the first moving node to modify at least one of a transmission power, a transmission frequency, and a modulation scheme.
15 . A non-transitory computer-readable medium having instructions encoded thereon which, when executed by one or more processors, cause the one or more processors to perform a method for configuring a software-defined network (SDN), the method comprising:
sending, by an SDN controller communicatively coupled to a plurality of moving nodes, a first control message to a first moving node of the plurality of moving nodes according to a control-to-data-plane interface (CDPI) protocol, the first control message including instructions for the first moving node to execute a modification of a physical network topology parameter, including at least instructions to cause the first moving node to aim a wireless transceiver towards a second moving node; and
sending, by the SDN controller, a second control message to the first moving node according to the CDPI protocol, the second control message including instructions for the first moving node to modify routing information stored by the first moving node based on the modification of the physical network topology parameter.
16 . The non-transitory computer-readable medium 15 , wherein the method further comprises sending, by the SDN controller, the first control message specifying a first future time at which the first moving node is to execute the modification of the physical network topology parameter.
17 . The non-transitory computer-readable medium of claim 16 , wherein the method further comprises sending, by the SDN controller, the second control message specifying a second future time, later than the first future time, at which the first moving node is to modify the routing information.
18 . The non-transitory computer-readable medium of claim 15 , wherein the method further comprises receiving, by the SDN controller from the first moving node, a confirmation message indicating that the modification of the physical network topology parameter and the modification of the routing information stored by the first moving node have both been executed.
19 . The non-transitory computer-readable medium of claim 15 , wherein the method further comprises:
receiving, by the SDN controller from the first moving node, a confirmation message indicating that the modification of the physical network topology parameter has been executed; and
sending, by the SDN controller, the second control message responsive to receiving the confirmation message.
20 . The non-transitory computer-readable medium of claim 15 , wherein sending the first control message includes sending instructions to cause the first moving node to modify at least one parameter associated with a transmitter of the first moving node.
21 . The non-transitory computer-readable medium of claim 20 , wherein sending the first control message includes sending instructions to cause the first moving node to modify at least one of a transmission power, a transmission frequency, and a modulation scheme.
22. A system comprising:
a network controller configured to:
receive information from a plurality of nodes of a network, the plurality of nodes including one node that is in motion relative to another node;
determine a topology of the network for a given point in time based on the received information, the topology indicating which links between nodes in the network are possible and which are not possible;
determine a plurality of flows for the determined topology based on client data information to be transmitted through the network, each of the plurality of flows comprising one or more requirements for a routing path through the network;
generate instructions regarding a plurality of links to form for the determined topology based on based on the determined plurality of flows, the plurality of links being a set of the possible links in the topology of the network; and
send the generated instructions to at least one node of the plurality of nodes of the network to cause the at least one node to form one or more of the plurality of links at the given point in time,
wherein the generated instructions include routing information through the plurality of links;
wherein the network controller is configured to send the generated instructions in at least two parts, and
wherein a first part of the generated instructions is sent before a second part, and the second part of the generated instructions is sent after confirmation is received at the network controller that the first part of the generated instructions has been executed.
23. The system of claim 22 , further comprising the plurality of nodes.
24. The system of claim 22 , wherein the plurality of nodes includes one or more high-altitude platforms.
25. The system of claim 22 , wherein the plurality of nodes is configured to communicate with one another using steerable wireless transceivers.
26. The system of claim 22 , wherein the generated instructions include a first point in time scheduled for forming the one or more of the plurality of links and a second point in time scheduled for the routing information.
27. The system of claim 22 , wherein the network controller is configured to send the generated instructions in at least two parts,
wherein a first part of the generated instructions is sent to a first node of the network and a second part of the generated instructions is sent to a second node of the network.
28. The system of claim 22 , wherein the generated instructions are sent prior to a scheduled time or time frame during which the one or more of the plurality of links is to be formed.
29. The system of claim 22 , wherein the generated instructions sent to the at least one node cause the at least one node to steer one or more transceivers to form the one or more of the plurality of links.
30. The system of claim 22 , wherein the network controller is further configured to:
determine that a confirmation that the generated instructions have been executed has not been received; and
determine a new topology of the network for the given point in time.
31. A method comprising:
receiving, by one or more processors, information from a plurality of nodes of a network, the plurality of nodes including one node that is in motion relative to another node;
determining, by the one or more processors, a topology of the network for a given point in time based on the received information, the topology indicating which links between nodes in the network are possible and which are not possible;
determining, by the one or more processors, a plurality of flows for the determined topology based on client data information to be transmitted through the network, each of the plurality of flows comprising one or more requirements for a routing path through the network;
generating, by the one or more processors, instructions regarding a plurality of links to form for the determined topology based on the determined plurality of flows, the plurality of links being a set of the possible links in the topology of the network; and
sending, by the one or more processors, the generated instructions to at least one node of the plurality of nodes of the network to cause the at least one node to form one or more of the plurality of links at the given point in time,
wherein the generated instructions include routing information through the plurality of links;
wherein the sending of the generated instructions includes:
sending a first part of the generated instructions;
receiving confirmation that the first part of the generated instructions has been executed; and
sending a second part of the generated instructions.
32. The method of claim 31 , wherein the plurality of nodes includes one or more high-altitude platforms.
33. The method of claim 31 , wherein the plurality of nodes is configured to communicate with one another using steerable wireless transceivers.
34. The method of claim 31 , wherein the generated instructions include a first point in time scheduled for forming the one or more of the plurality of links and a second point in time scheduled for the routing information.
35. The method of claim 31 , wherein the sending of the generated instructions includes:
sending a first part of the generated instructions a first node of the network; and
sending a second part of the generated instructions to a second node of the network.
36. The method of claim 31 , wherein the sending of the generated instructions is performed prior to a scheduled time or time frame during which the one or more of the plurality of links is to be formed.
37. The method of claim 31 , wherein the generated instructions cause the at least one node to steer one or more transceivers to form the one or more of the plurality of links.