Deadlock-Free Traffic Rerouting in Software-Defined Networking Networks
Abstract
Concepts and technologies disclosed herein are directed to deadlock-free traffic rerouting in software-defined networking (“SDN”) networks. According to one aspect of the concepts and technologies disclosed herein, a centralized SDN controller can determine that a packet flow along a path within at least a portion of a network is to be rerouted from the path to a new path. The centralized SDN controller can initiate a reroute of the packet flow to the new path. The centralized SDN controller can request a bandwidth for the new path. The bandwidth can be determined such that bandwidth oversubscription on the new path is avoided. In response to the packet flow settling on the new path, the centralized SDN controller can adjust a requested bandwidth of the packet flow to a desired value to complete the reroute of the packet flow from the path to the new path.
Claims
exact text as granted — not AI-modified1 . A software-defined network comprising:
a plurality of network nodes that, in various combinations, form a plurality of network links, each of which has a specific bandwidth capacity; and a software-defined networking controller comprising
a processor, and
memory having instructions stored thereon that, when executed by the processor, cause the processor to perform operations comprising
determining that a portion of the plurality of network links is in a congested state, wherein the congested state comprises the specific bandwidth capacity of the portion of the plurality of network links being exceeded by a bandwidth demand of a path,
determining, based upon the congested state, that the path is to be rerouted to a new path,
determining that the path cannot be rerouted to the new path due to a deadlock condition,
initiating, due to the deadlock condition, a reroute of the path to the new path by requesting a requested bandwidth comprising a bandwidth value of the bandwidth demand of the path, and
completing the reroute by adjusting the requested bandwidth from the bandwidth value to a desired bandwidth value.
2 . The software-defined network of claim 1 , wherein the operations further comprise:
determining that a further portion of the plurality of network links is in the congested state, wherein the congested state further comprises the specific bandwidth capacity of the further portion of the plurality of network links being exceeded by a further bandwidth demand of a further path; determining, based upon the congested state, that the further path is to be rerouted to a further new path; determining that the further path cannot be rerouted to the further new path due to the deadlock condition; initiating, due to the deadlock condition, a further reroute of the further path to the further new path by requesting a further requested bandwidth comprising a further bandwidth value of the further bandwidth demand of the further path; and completing the further reroute by adjusting the requested bandwidth from the bandwidth value to a desired bandwidth value.
3 . The software-defined network of claim 2 , wherein the operations for initiating the reroute, completing the reroute, initiating the further reroute, and completing the further reroute are based upon at least one routing model.
4 . The software-defined network of claim 3 , wherein initiating the reroute, completing the reroute, initiating the further reroute, and completing the further reroute each comprises generating commands directed to at least one network node of the plurality of network nodes, and sending the commands to the at least one network node.
5 . The software-defined network of claim 2 , wherein the bandwidth value comprises a proportionally small bandwidth, and wherein the further bandwidth value comprises a further proportionally small bandwidth.
6 . The software-defined network of claim 2 , wherein the further bandwidth value comprises a further percentage of a total bandwidth, and wherein the further desired bandwidth value comprises the total bandwidth.
7 . The software-defined network of claim 1 , wherein the bandwidth value comprises a percentage of a total bandwidth, and wherein the desired bandwidth value comprises the total bandwidth.
8 . A computer-readable storage medium comprising computer-executable instructions that, when executed by a processor, causes the processor to perform operations comprising:
determining that a portion of a plurality of network links is in a congested state, wherein the congested state comprises a specific bandwidth capacity of the portion of the plurality of network links being exceeded by a bandwidth demand of a path; determining, based upon the congested state, that the path is to be rerouted to a new path; determining that the path cannot be rerouted to the new path due to a deadlock condition; initiating, due to the deadlock condition, a reroute of the path to the new path by requesting a requested bandwidth comprising a bandwidth value of the bandwidth demand of the path; and completing the reroute by adjusting the requested bandwidth from the bandwidth value to a desired bandwidth value.
9 . The computer-readable storage medium of claim 8 , wherein the operations further comprise:
determining that a further portion of the plurality of network links is in the congested state, wherein the congested state further comprises the specific bandwidth capacity of the further portion of the plurality of network links being exceeded by a further bandwidth demand of a further path; determining, based upon the congested state, that the further path is to be rerouted to a further new path; determining that the further path cannot be rerouted to the further new path due to the deadlock condition; initiating, due to the deadlock condition, a further reroute of the further path to the further new path by requesting a further requested bandwidth comprising a further bandwidth value of the further bandwidth demand of the further path; and completing the further reroute by adjusting the requested bandwidth from the bandwidth value to a desired bandwidth value.
10 . The computer-readable storage medium of claim 9 , wherein the operations for initiating the reroute, completing the reroute, initiating the further reroute, and completing the further reroute are based upon at least one routing model.
11 . The computer-readable storage medium of claim 10 , wherein initiating the reroute, completing the reroute, initiating the further reroute, and completing the further reroute each comprises generating commands directed to at least one network node of the plurality of network nodes, and sending the commands to the at least one network node.
12 . The computer-readable storage medium of claim 9 , wherein the bandwidth value comprises a proportionally small bandwidth, and wherein the further bandwidth value comprises a further proportionally small bandwidth.
13 . The computer-readable storage medium of claim 9 , wherein the further bandwidth value comprises a further percentage of a total bandwidth, and wherein the further desired bandwidth value comprises the total bandwidth.
14 . The computer-readable storage medium of claim 8 , wherein the bandwidth value comprises a percentage of a total bandwidth, and wherein the desired bandwidth value comprises the total bandwidth.
15 . A method comprising:
determining, by a software-defined networking controller, that a portion of the plurality of network links is in a congested state, wherein the congested state comprises a specific bandwidth capacity of the portion of the plurality of network links being exceeded by a bandwidth demand of a path; determining, by the software-defined networking controller, based upon the congested state, that the path is to be rerouted to a new path; determining, by the software-defined networking controller, that the path cannot be rerouted to the new path due to a deadlock condition; initiating, by the software-defined networking controller, due to the deadlock condition, a reroute of the path to the new path by requesting a requested bandwidth comprising a bandwidth value of the bandwidth demand of the path; and completing, by the software-defined networking controller, the reroute by adjusting the requested bandwidth from the bandwidth value to a desired bandwidth value.
16 . The method of claim 15 , comprising:
determining that a further portion of the plurality of network links is in the congested state, wherein the congested state further comprises the specific bandwidth capacity of the further portion of the plurality of network links being exceeded by a further bandwidth demand of a further path; determining, based upon the congested state, that the further path is to be rerouted to a further new path; determining that the further path cannot be rerouted to the further new path due to the deadlock condition; initiating, due to the deadlock condition, a further reroute of the further path to the further new path by requesting a further requested bandwidth comprising a further bandwidth value of the further bandwidth demand of the further path; and completing the further reroute by adjusting the requested bandwidth from the bandwidth value to a desired bandwidth value.
17 . The method of claim 16 , wherein initiating the reroute, completing the reroute, initiating the further reroute, and completing the further reroute are based upon at least one routing model.
18 . The method of claim 16 , wherein initiating the reroute, completing the reroute, initiating the further reroute, and completing the further reroute each comprises generating commands directed to at least one network node of the plurality of network nodes, and sending the commands to the at least one network node.
19 . The method of claim 15 , wherein the bandwidth value comprises a proportionally small bandwidth.
20 . The method of claim 15 , wherein the further bandwidth value comprises a proportionally small bandwidth.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.