IP Library Granted Patent US 12,726,432
Granted Patent B2
US 12,726,432 · App. 18/489,328 · Granted Sep 1, 2026

Segment compaction in segment routing with resiliency to restoration

Inventors: Todd Defilippi (Redwood City, CA); Cengiz Alaettinoglu (Sherman Oaks, CA)
Assignee: Ciena Corporation
H04L45/28H04L45/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,726,432
App. No.
18/489,328
Granted
Sep 1, 2026
Kind
B2
Abstract

Systems and methods for segment compaction in Segment Routing with resiliency to restoration include, responsive to a path having been computed in a Segment Routing network from a source node to a destination node, assuming all failed links in the Segment Routing network are temporarily restored; and determining a segment list, with all of the failed links assumed temporarily restored, that corresponds to the computed path, such as by preferring node segments over adjacency segments to match the computed path.

Claims (42)

1 . A non-transitory computer-readable medium comprising instructions that, when executed, cause one or more processors, to perform steps of:

responsive to a path having been computed in a Segment Routing network including a plurality of nodes interconnected by links, wherein the computed path is from a source node to a destination node through one or more nodes, assuming all failed links of the links in the Segment Routing network are temporarily restored;

determining a segment list, with all of the failed links assumed temporarily restored, that corresponds to the computed path such that the segment list expands to the computed path before and after restoration of any of the failed links; and

providing the segment list as Segment Identifiers (SIDs) to the source node in the Segment Routing network for establishing the path therein, wherein the assuming all failed links are temporarily restored allows a Path Computation Element (PCE) or a controller to not continuously monitor and recalculate segment lists in response to restoration events in the Segment Routing network.

2 . The non-transitory computer-readable medium of claim 1 , wherein the determining includes preferring node segments over adjacency segments to match the computed path.

3 . The non-transitory computer-readable medium of claim 1 , wherein the path is for a circuit-style service in the Segment Routing network.

4 . The non-transitory computer-readable medium of claim 1 , wherein the determining the segment list is performed by traversing the computed path from a current node to determine a furthest node segment available matching a corresponding section of the computed path, and, if a furthest node associated with the furthest node segment is not the current node, utilizing the furthest node segment in the segment list.

5 . The non-transitory computer-readable medium of claim 4 , wherein, if the furthest node is the current node, the determining the segment list includes selecting an adjacency segment matching a next node from the current node in the computed path.

6 . The non-transitory computer-readable medium of claim 1 , wherein the determining the segment list includes:

(a) from a current node that starts with the source node, traversing the computed path to determine a furthest node segment available matching a corresponding section of the computed path;

(b) if a furthest node associated with the furthest node segment is not the current node, utilizing the furthest node segment in the segment list;

(c) if the furthest node is the current node, utilizing an adjacency segment to get to a next node in the computed path; and

(d) setting the current node to be the furthest node or the next node, and repeating (a)-(c) until the furthest node or the next node is the destination node.

7 . The non-transitory computer-readable medium of claim 1 , wherein the steps further include:

assuming a service for the computed path is on the computed path for traffic engineering purposes, without continually monitoring the service to ensure it is on the computed path.

8 . An apparatus comprising:

at least one processor, and

memory storing instructions that, when executed, cause the at least one processor to:

responsive to a path having been computed in a Segment Routing network including a plurality of nodes interconnected by links, wherein the computed path is from a source node to a destination node through one or more nodes, assuming all failed links of the links in the Segment Routing network are temporarily restored;

determine a segment list, with all of the failed links assumed temporarily restored, that corresponds to the computed path such that the segment list expands to the computed path before and after restoration of any of the failed links; and

provide the segment list as Segment Identifiers (SIDs) to the source node in the Segment Routing network for establishing the path therein, wherein the assuming all failed links are temporarily restored allows a Path Computation Element (PCE) or a controller to not continuously monitor and recalculate segment lists in response to restoration events in the Segment Routing network.

9 . The apparatus of claim 8 , wherein the segment list is determined by preferring node segments over adjacency segments to match the computed path.

10 . The apparatus of claim 8 , wherein the path is for a circuit-style service in the Segment Routing network.

11 . The apparatus of claim 8 , wherein the segment list is determined by traversing the computed path from a current node to determine a furthest node segment available matching a corresponding section of the computed path, and, if a furthest node associated with the furthest node segment is not the current node, utilizing the furthest node segment in the segment list.

12 . The apparatus of claim 8 , wherein the segment list is determined by

(a) from a current node that starts with the source node, traversing the computed path to determine a furthest node segment available matching a corresponding section of the computed path,

(b) if a furthest node associated with the furthest node segment is not the current node, utilizing the furthest node segment in the segment list,

(c) if the furthest node is the current node, utilizing an adjacency segment to get to a next node in the computed path, and

(d) setting the current node to be the furthest node or the next node, and repeating (a)-(c) until the furthest node or the next node is the destination node.

13 . The apparatus of claim 8 , wherein the instructions that, when executed, further cause the at least one processor to:

assume a service for the computed path is on the computed path for traffic engineering purposes, without continually monitoring the service to ensure it is on the computed path.

14 . A method comprising steps of:

responsive to a path having been computed in a Segment Routing network including a plurality of nodes interconnected by links, wherein the computed path is from a source node to a destination node through one or more nodes, assuming all failed links of the links in the Segment Routing network are temporarily restored;

determining a segment list, with all of the failed links assumed temporarily restored, that corresponds to the computed path such that the segment list expands to the computed path before and after restoration of any of the failed links; and

providing the segment list as Segment Identifiers (SIDs) to the source node in the Segment Routing network for establishing the path therein, wherein the assuming all failed links are temporarily restored allows a Path Computation Element (PCE) or a controller to not continuously monitor and recalculate segment lists in response to restoration events in the Segment Routing network.

15 . The method of claim 14 , wherein the segment list is determined by preferring node segments over adjacency segments to match the computed path.

16 . The method of claim 14 , wherein the determining the segment list is performed by traversing the computed path from a current node to determine a furthest node segment available matching a corresponding section of the computed path, and, if a furthest node associated with the furthest node segment is not the current node, utilizing the furthest node segment in the segment list.

17 . The method of claim 14 , wherein the determining the segment list includes:

(a) from a current node that starts with the source node, traversing the computed path to determine a furthest node segment available matching a corresponding section of the computed path;

(b) if a furthest node associated with the furthest node segment is not the current node, utilizing the furthest node segment in the segment list;

(c) if the furthest node is the current node, utilizing an adjacency segment to get to a next node in the computed path; and

(d) setting the current node to be the furthest node or the next node, and repeating (a)-(c) until the furthest node or the next node is the destination node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2023
From: DEFILIPPI, TODD; ALAETTINOGLU, CENGIZ
To: CIENA CORPORATION
Reel/Frame 065267/0155 →
Continuity (1)
Related Publication 20250133013A1 · Apr 24, 2025
References Cited (34)
US 7120792B1 · Jacobson et al. · 2006 [cited by applicant]
US 7197573B1 · Jacobson et al. · 2007 [cited by applicant]
US 7539191B1 · Jacobson et al. · 2009 [cited by applicant]
US 8135834B1 · Jacobson et al. · 2012 [cited by applicant]
US 8274901B1 · Casner et al. · 2012 [cited by applicant]
US 8422502B1 · Alaettinoglu et al. · 2013 [cited by applicant]
US 8937946B1 · Kanna et al. · 2015 [cited by applicant]
US 9026674B1 · Kanna et al. · 2015 [cited by applicant]
US 9369371B2 · Filsfils · 2016 [cited by examiner]
US 9485150B2 · Filsfils · 2016 [cited by examiner]
US 9838246B1 · Hegde · 2017 [cited by examiner]
US 10757012B2 · Lazzeri · 2020 [cited by examiner]
US 11032197B2 · Nainar · 2021 [cited by examiner]
US 11057278B1 · Côté et al. · 2021 [cited by applicant]
US 11102109B1 · Narasimhan · 2021 [cited by examiner]
US 11418428B2 · Margaria · 2022 [cited by examiner]
US 11677659B2 · Sidebottom · 2023 [cited by examiner]
US 11695688B2 · Sidebottom · 2023 [cited by examiner]
US 11777841B2 · Alaettinoglu · 2023 [cited by examiner]
US 11882032B2 · Alaettinoglu · 2024 [cited by examiner]
US 20140269422A1 · Filsfils et al. · 2014 [cited by applicant]
US 20140369238A1 · Alaettinoglu et al. · 2014 [cited by applicant]
US 20160057049A1 · Jacobson et al. · 2016 [cited by applicant]
US 20210099378A1 · Alaettinoglu et al. · 2021 [cited by applicant]
US 20220086078A1 · Sivabalan et al. · 2022 [cited by applicant]
US 20220103463A1 · Margaria et al. · 2022 [cited by applicant]
US 20230067946A1 · Alaettinoglu et al. · 2023 [cited by applicant]
US 20230095297A1 · Alaettinoglu et al. · 2023 [cited by applicant]
US 20230098528A1 · Alaettinoglu et al. · 2023 [cited by applicant]
US 20230146226A1 · Sivabalan et al. · 2023 [cited by applicant]
EP 4254898A1 · 2023 [cited by applicant]
WO 2023038818A1 · 2023 [cited by applicant]
Zahraa N. Abdullah et al. “Segment Routing in Software Defined Networks: A Survey”, IEEE Communications Surveys and Tutorials, vol. 21, No. 1, First Quarter 2019, 23 pages. (Year: 2019). [cited by examiner]
Jan. 31, 2025, International Search Report and Written Opinion for International Patent Application No. PCT/US2024/051435. [cited by applicant]