Systems and methods are disclosed for configuring a communications network. In disclosed embodiments, for a communication network comprising fiber optic cables connected by switches and transceiver-transponders, a graph representing the communication network can be obtained with edges representing the fiber optic cables, and nodes representing the switches and transceiver-transponders. A set of service links can be determined for a path in the communication network based on a set of demands for the path. Each service link can represent data transmission by one of the transceiver-transponders through one or more of the fiber optic cables connected by zero or more of the switches. Sets of service links can be iteratively selected for progressively longer initial segments of the path. When the initial segment comprises the path, the set of service links for the initial segment can be selected as the set of service links for the path.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: determining a set of service links for a path in a communication network based on demands for the path, determining the set of service links comprising: determining, for a segment of the path, a first division of the segment into a first portion and a second portion, determining the first division comprising selecting a second set of service links for the second portion that satisfy the demands; determining a second weight for the second portion based on the second set of service links for the second portion; determining an overall weight for the first division based on a first weight for the first portion and the second weight for the second portion; comparing the overall weight for the first division and overall weights for alternative divisions of the segment; and selecting, for the segment in the path and based on the comparison, a first set of service links for the first portion and the second set of service links for the second portion; and configuring the communication network to satisfy the demands using the set of service links, the set of service links including the first set of service links and the second set of service links.
2. The method of claim 1 , wherein: determining the set of service links comprises extending the segment along the path.
3. The method of claim 1 , wherein: the second set of service links for the second portion is selected based in part on: the demands; a metric value associated with the second portion; and transceiver data types specifying capacity bounds, metric value bounds, and weights for differing types of service links; and the second weight depends on the weights for the differing types of service links.
4. The method of claim 3 , wherein: selection of the second set of service links is constrained by a requirement that each service link in the second set of service links span the second portion.
5. The method of claim 3 , wherein: a greedy selection algorithm is used to select the second set of service links.
6. The method of claim 3 , wherein: the second set of service links is selected to minimize the second weight.
7. The method of claim 3 , wherein: selecting the second set of service links comprises solving an integer linear programming problem including constraints dependent on the demands, the capacity bounds, the metric value associated with the second portion, and the metric value bounds.
8. The method of claim 1 , wherein: the first set of service links was previously selected for a prior segment.
9. The method of claim 1 , wherein: each demand in the demands is associated with a subset of the service links, a union of the service links in the subset spanning the path, the union of the service links being associated with the each demand; and each service link in the set of service links is associated with a subset of the demands, a sum of the demands in the subset associated with the each service link being less than a capacity bound of the each service link.
10. The method of claim 1 , wherein: the path comprises a sequence of edges; and determining the set of service links comprises iteratively determining divisions for segments of the path, each of the segments comprising a number of the edges in the sequence, the number incrementing with each iteration.
11. A non-transitory computer readable medium containing instructions that, when executed by at least one processor of a system, cause the system to perform operations comprising: determining a set of service links for a path in a communication network based on demands for the path, determining the set of service links comprising: determining, for a segment of the path, a first division of the segment into a first portion and a second portion, determining the first division comprising selecting a second set of service links for the second portion that satisfy the demands; determining a second weight for the second portion based on the second set of service links for the second portion; determining an overall weight for the first division based on a first weight for the first portion and the second weight for the second portion; comparing the overall weight for the first division and overall weights for alternative divisions of the segment; and selecting, for the segment in the path and based on the comparison, a first set of service links for the first portion and the second set of service links for the second portion; and configuring the communication network to satisfy the demands using the set of service links, the set of service links including the first set of service links and the second set of service links.
12. The non-transitory computer readable medium of claim 11 , wherein: determining the set of service links comprises extending the segment along the path.
13. The non-transitory computer readable medium of claim 11 , wherein: the second set of service links for the second portion is selected based in part on: the demands; a metric value associated with the second portion; and transceiver data types specifying capacity bounds, metric value bounds, and weights for differing types of service links; and the second weight depends on the weights for the differing types of service links.
14. The non-transitory computer readable medium of claim 13 , wherein: selection of the second set of service links is constrained by a requirement that each service link in the second set of service links span the second portion.
15. The non-transitory computer readable medium of claim 13 , wherein: a greedy selection algorithm is used to select the second set of service links.
16. The non-transitory computer readable medium of claim 13 , wherein: the second set of service links is selected to minimize the second weight.
17. The non-transitory computer readable medium of claim 13 , wherein: selecting the second set of service links comprises solving an integer linear programming problem including constraints dependent on the demands, the capacity bounds, the metric value associated with the second portion, and the metric value bounds.
18. The non-transitory computer readable medium of claim 11 , wherein: the first set of service links was previously selected for a prior segment.
19. The non-transitory computer readable medium of claim 11 , wherein: each demand in the demands is associated with a subset of the service links, a union of the service links in the subset spanning the path, the union of the service links being associated with the each demand; and each service link in the set of service links is associated with a subset of the demands, a sum of the demands in the subset associated with the each service link being less than a capacity bound of the each service link.
20. The non-transitory computer readable medium of claim 11 , wherein: the path comprises a sequence of edges; and determining the set of service links comprises iteratively determining divisions for segments of the path, each of the segments comprising a number of the edges in the sequence, the number incrementing with each iteration.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 25, 2021
June 7, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.