IP Library Granted Patent US 12,407,612
Granted Patent B2
US 12,407,612 · App. 18/355,836 · Granted Sep 2, 2025

Programmable path computation engine

Inventors: Todd Defilippi (Redwood City, CA); Cengiz Alaettinoglu (Sherman Oaks, CA); Parag Amritkar (Pune, IN); Peeyush Deshpande (Pune, IN)
Assignee: Ciena Corporation
H04L47/125H04L47/76
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,407,612
App. No.
18/355,836
Granted
Sep 2, 2025
Kind
B2
Abstract

Systems and methods for computing paths through a network are provided. A method, according to one implementation, includes the step of storing and managing a first set of objects including one or more Segment Routing (SR) policies and Traffic Engineering (TE) tunnels, where the first set of objects represents custom behavior received from a network operator for defining intended characteristics of traffic flowing through a network. The method also includes the step of storing and managing a second set of objects representing one or more managed paths through the network, where the managed paths are calculated by a TE technique using the one or more SR policies and TE tunnels.

Claims (41)

1. A non-transitory computer-readable medium storing computer logic having instructions that, when executed, enable a processing system in a Path Computation Element (PCE) to:

store and manage a first set of objects including one or more Segment Routing (SR) policies and Traffic Engineering (TE) tunnels, the first set of objects representing custom behavior received from a network operator for defining intended characteristics of traffic flowing through a network; and

store and manage a second set of objects representing one or more managed paths through the network, the one or more managed paths calculated by a TE technique using the one or more SR policies and TE tunnels,

wherein the first set of objects and the second set of objects are managed separately where monitoring and modifying of the intended characteristics is via Create/Read/Update/Delete (CRUD) operations on the first set of objects and modifying the one or more managed paths is performed exclusively through internal path calculation procedures and rule-based engines without CRUD operations on the second set of objects.

2. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, further enable the processing system to instantiate the one or more managed paths in the network to enable the traffic to flow from a source node to a destination node through one of the one or more managed paths.

3. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, further enable the processing system to group a plurality of managed paths of the one or more managed paths and associate the group with the first set of objects such that changes thereto apply to the plurality of managed paths in a single action.

4. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, further enable the processing system to utilize bandwidth requests in the first set of objects to reserve bandwidth resources in the network.

5. The non-transitory computer-readable medium of claim 4 , wherein the instructions, when executed, further enable the processing system to:

allow the one or more managed paths to be added or removed from the Path Computation Engine (PCE) when managed Candidate Paths (CPs) and Label Switched Paths (LSPs) are added or removed; and

automatically modify the one or more managed paths based on changes to corresponding objects of the first set of objects.

6. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, further enable the processing system to:

collect bandwidth capacity of interfaces in the network; and

track bandwidth of the TE tunnels or the SR policies based on the collected bandwidth capacity.

7. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, further enable the processing system to:

determine protocols and events in the network; and

calculate the one or more managed paths based on the determined protocols and events.

8. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, further enable the processing system to track and monitor the one or more managed paths.

9. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, further enable the processing system to implement one or more customizable rules on any of the first and second sets of objects, wherein the one or more customizable rules are based on custom behavior received from the network operator.

10. The non-transitory computer-readable medium of claim 1 , wherein each of the TE tunnels or the SR policies includes constraints including one or more of link affinities, shared risk link groups, resource diversity from other TE paths, explicit inclusions or exclusions of specific nodes and links, and bandwidth reservation.

11. The non-transitory computer-readable medium of claim 1 , wherein the processing system further comprising a database for storing the first and second sets of objects, wherein the instructions, when executed, further enable the processing system to manage the first and second sets of objects via a database management system.

12. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, further enable the processing system to convert custom behavior into one or more customized rules.

13. The non-transitory computer-readable medium of claim 1 , wherein the one or more SR policies include a primary candidate path and one or more standby candidate paths, and wherein the one or more TE tunnels include a primary Label-Switched Path (LSP) and one or more standby LSPs.

14. The non-transitory computer-readable medium of claim 13 , wherein the one or more TE tunnels are set up and routed via RSVP or SR techniques.

15. A Path Computation Engine (PCE) comprising a processing system and memory configured for storing computer logic having instructions that, when executed, cause one or more processing devices to:

store and manage a first set of objects including one or more Segment Routing (SR) policies and Traffic Engineering (TE) tunnels, the first set of objects representing custom behavior received from a network operator for defining intended characteristics of traffic flowing through a network; and

store and manage a second set of objects representing one or more managed paths through the network, the one or more managed paths calculated by a TE technique using the one or more SR policies and TE tunnels,

wherein the first set of objects and the second set of objects are managed separately where monitoring and modifying of the intended characteristics is via Create/Read/Update/Delete (CRUD) operations on the first set of objects and modifying the one or more managed paths is performed exclusively through internal path calculation procedures and rule-based engines without CRUD operations on the second set of objects.

16. The PCE of claim 15 , wherein the instructions, when executed, further cause the one or more processing devices to instantiate the one or more managed paths in the network to enable the traffic to flow from a source node to a destination node through one of the one or more managed paths.

17. The PCE of claim 15 , wherein the instructions, when executed, further cause the one or more processing devices to group a plurality of managed paths of the one or more managed paths and associate the group with the first set of object such that changes thereto apply to the plurality of paths in a single action.

18. A method implemented in a Path Computation Element (PCE) comprising the steps of:

storing and managing a first set of objects including one or more Segment Routing (SR) policies and Traffic Engineering (TE) tunnels, the first set of objects representing custom behavior received from a network operator for defining intended characteristics of traffic flowing through a network; and

storing and managing a second set of objects representing one or more managed paths through the network, the one or more managed paths calculated by a TE technique using the one or more SR policies and TE tunnels,

wherein the first set of objects and the second set of objects are managed separately where monitoring and modifying of the intended characteristics is via Create/Read/Update/Delete (CRUD) operations on the first set of objects and modifying the one or more managed paths is performed exclusively through internal path calculation procedures and rule-based engines without CRUD operations on the second set of objects.

19. The method of claim 18 , further comprising the steps of:

allowing the one or more managed paths to be added or removed from a Path Computation Engine (PCE) when managed Candidate Paths (CPs) and Label Switched Paths (LSPs) are added or removed; and

automatically modifying the one or more managed paths based on changes to corresponding objects of the first set of objects.

20. The method of claim 18 , further comprising the steps of:

collecting bandwidth capacity of interfaces in the network;

tracking bandwidth of the TE tunnels and SR policies based on the collected bandwidth capacity;

determining protocols and events in the network; and

calculating the one or more managed paths based on the determined protocols and events.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2023
From: DEFILIPPI, TODD; ALAETTINOGLU, CENGIZ; AMRITKAR, PARAG; DESHPANDE, PEEYUSH
To: CIENA CORPORATION
Reel/Frame 064328/0591 →
Priority Claims (1)
IN 202311037219 · May 30, 2023 · national
Continuity (1)
Related Publication 20240406110A1 · Dec 5, 2024
References Cited (27)
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 8743768B2 · Vasseur · 2014 [cited by examiner]
US 8937946B1 · Kanna et al. · 2015 [cited by applicant]
US 9026674B1 · Kanna · 2015 [cited by examiner]
US 10567293B1 · Pularikkal · 2020 [cited by examiner]
US 11057278B1 · Côté et al. · 2021 [cited by applicant]
US 12120018B2 · Hu · 2024 [cited by examiner]
US 20140369238A1 · Alaettinoglu · 2014 [cited by examiner]
US 20160028834A1 · Agrawal · 2016 [cited by examiner]
US 20160057049A1 · Jacobson · 2016 [cited by examiner]
US 20160191349A1 · Buege · 2016 [cited by examiner]
US 20160218964A1 · Liljenstolpe · 2016 [cited by examiner]
US 20170064717A1 · Filsfils · 2017 [cited by examiner]
US 20180048525A1 · Karasaridis · 2018 [cited by examiner]
US 20210099378A1 · Alaettinoglu et al. · 2021 [cited by applicant]
US 20220086078A1 · Sivabalan et al. · 2022 [cited by applicant]
US 20230021278A1 · Filsfils · 2023 [cited by examiner]
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]
WO 2023038818A1 · 2023 [cited by applicant]