IP Library Granted Patent US 12,683,898
Granted Patent B2
US 12,683,898 · App. 18/188,897 · Granted Jul 14, 2026

Conditional routing delivery in a compromised network

Inventors: Uma S. Chunduri (Fremont, CA); Stewart Bryant (Merstham, GB); Alexander Clemm (Los Gatos, CA); Toerless Eckert (Mountain View, CA); Richard Li (Fremont, CA)
Assignee: Huawei Technologies Co., Ltd.
H04L47/127H04L45/22H04L45/302
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,683,898
App. No.
18/188,897
Filed
Mar 23, 2023
Granted
Jul 14, 2026
Kind
B2
Art Unit
2476
USPC
370/389
Abstract

A computer-implemented method for processing a data packet in a network node includes determining a level of deterioration of a primary path between the network node and the destination node. The determined level of deterioration is based at least on a non-congestion-related loss for a primary link associated with one or more subsequent hops of the data packet from the network node toward the destination node along the primary path. Based on the determined level of deterioration of the primary path being above a threshold, the primary path is changed to an alternate path from the network node to the destination node. The data packet is forwarded to a next network node on the alternate path.

Claims (84)

1 . A computer-implemented method for conditionally routing a data packet in a network node, the computer-implemented method comprising:

determining a level of deterioration of a primary path between the network node and a destination node, the determined level of deterioration based at least on a non-congestion-related loss for a primary link associated with one or more subsequent hops of the data packet from the network node towards the destination node along the primary path;

parsing the data packet to determine a threshold; and

comparing the determined level of deterioration of the primary path to the threshold, and based on the determined level of deterioration of the primary path being above the threshold:

changing the primary path to an alternate path from the network node to the destination node; and

forwarding the data packet to a next network node on the alternate path, wherein:

the data packet includes a conditional command specifying at least a condition and a command;

the condition specifying the threshold for the level of deterioration of the primary path; and

the command specifying the changing of the primary path to the alternate path when the determined level of deterioration of the primary path is above the threshold.

2 . The computer-implemented method of claim 1 , wherein:

the determining the level of deterioration of the primary path includes determining a non-congestion-related loss for a next link associated with a next hop of the one or more subsequent hops of the data packet along the primary path; and

the changing the primary path to the alternate path includes:

changing the next link in the primary path to a next link in the alternate path; and

forwarding the data packet to the next link in the alternate path.

3 . The computer-implemented method of claim 2 , wherein the next link associated with the next hop is directly coupled to the network node, and wherein:

the determining the level of deterioration of the primary path includes determining the non-congestion-related loss for a remote link along the primary path, the remote link being at least one hop away from the next link; and

the changing the primary path to the alternate path includes:

changing the next link in the primary path to a next link in the alternate path based on the non-congestion-related loss for the remote link; and

forwarding the data packet to the next link in the alternate path.

4 . The computer-implemented method of claim 3 , wherein the changing the next link in the primary path to the next link in the alternate path includes:

determining the non-congestion-related loss for the next link in the alternate path; and

changing the next link in the primary path to the next link in the alternate path when the next link in the alternate path exhibits less non-congestion-related loss than the next link in the primary path.

5 . The computer-implemented method of claim 4 , wherein the determining the non-congestion-related loss in the next link in the alternate path includes:

sending, by the network node, a probe packet to the destination node using the alternate path; and

determining a measure of non-congestion-related loss of the next link of the alternate path based on a response to the probe packet received from the destination node.

6 . The computer-implemented method of claim 5 , wherein the determining the non-congestion-related loss for the next link in the alternate path or the next link in the primary path includes determining a bit error rate (BER).

7 . The computer-implemented method of claim 1 , further comprising notifying a network controller of the non-congestion-related loss.

8 . The computer-implemented method of claim 7 , further comprising:

determining a measure of congestion-related loss for the primary path; and

notifying the network controller of the measure of the congestion-related loss.

9 . The computer-implemented method of claim 1 , wherein the changing the primary path to the alternate path further includes determining that a service requirement for the data packet indicates a performance level that is greater than a second threshold.

10 . The computer-implemented method of claim 1 , wherein the primary path is a traffic-engineered (TE) path conforming to at least one service level objective (SLO), and the alternate path is a pre-provisioned alternate TE path conforming to the SLO of the primary path.

11 . The computer-implemented method of claim 1 , wherein the primary path is a best-effort (BE) path, and the alternate path is a loop-free alternative (LFA) path, remote loop-free alternative (RLFA) path, or an Internet protocol fast reroute (IP FRR) path.

12 . The computer-implemented method of claim 1 , wherein the changing the primary path to the alternate path is based on execution of the command.

13 . A system for conditionally routing a data packet in a network node, the system comprising:

a memory storing instructions; and

at least one processor in communication with the memory, the at least one processor configured, upon execution of the instructions, to perform the following steps:

determining a level of deterioration of a primary path between the network node and a destination node, the determined level of deterioration based at least on a non-congestion-related loss for a primary link associated with one or more subsequent hops of the data packet from the network node towards the destination node along the primary path;

parsing the data packet to determine a threshold; and

comparing the determined level of deterioration of the primary path to the threshold, and based on the determined level of deterioration of the primary path being above the threshold:

changing the primary path to an alternate path from the network node to the destination node; and

forwarding the data packet to a next network node on the alternate path, wherein:

the data packet includes a conditional command specifying at least a condition and a command;

the condition specifying the threshold for the level of deterioration of the primary path; and

the command specifying the changing of the primary path to the alternate path when the determined level of deterioration of the primary path is above the threshold.

14 . The system of claim 13 , wherein:

the determining the level of deterioration of the primary path includes determining a non-congestion-related loss for a next link associated with a next hop of the one or more subsequent hops of the data packet along the primary path; and

the changing the primary path to the alternate path includes:

changing the next link in the primary path to a next link in the alternate path; and

forwarding the data packet to the next link in the alternate path.

15 . The system of claim 14 , wherein the next link associated with the next hop is directly coupled to the network node and wherein:

the determining the level of deterioration of the primary path includes determining the non-congestion-related loss for a remote link along the primary path, the remote link being at least one hop away from the next link; and

the changing the primary path to the alternate path includes:

changing the next link in the primary path to a next link in the alternate path based on the non-congestion-related loss for the remote link; and

forwarding the data packet to the next link in the alternate path.

16 . The system of claim 15 , wherein:

the changing the next link in the primary path to the next link in the alternate path includes:

determining the non-congestion-related loss for the next link in the alternate path; and

changing the next link in the primary path to the next link in the alternate path when the next link in the alternate path exhibits less non-congestion-related loss than the next link in the primary path; and

the determining the non-congestion-related loss in the next link in the alternate path includes:

sending, by the network node, a probe packet to the destination node using the alternate path; and

determining a measure of non-congestion-related loss of the next link of the alternate path based on a response to the probe packet received from the destination node.

17 . A non-transitory computer-readable media storing computer instructions for conditionally routing a data packet in a network node, that configure at least one processor, upon execution of the instructions, to perform the following steps:

determining a level of deterioration of a primary path between the network node and a destination node, the determined level of deterioration based at least on a non-congestion-related loss for a primary link associated with one or more subsequent hops of the data packet from the network node towards the destination node along the primary path;

parsing the data packet to determine a threshold; and

comparing the determined level of deterioration of the primary path to the threshold, and based on the determined level of deterioration of the primary path being above the threshold:

changing the primary path to an alternate path from the network node to the destination node; and

forwarding the data packet to a next network node on the alternate path, wherein:

the data packet includes a conditional command specifying at least a condition and a command;

the condition specifying the threshold for the level of deterioration of the primary path; and

the command specifying the changing of the primary path to the alternate path when the determined level of deterioration of the primary path is above the threshold.

18 . The non-transitory computer-readable media of claim 17 , wherein:

the determining the level of deterioration of the primary path includes determining a non-congestion-related loss for a next link associated with a next hop of the one or more subsequent hops of the data packet along the primary path; and

the changing the primary path to the alternate path includes:

changing the next link in the primary path to a next link in the alternate path; and

forwarding the data packet to the next link in the alternate path.

19 . The non-transitory computer-readable media of claim 18 , wherein the next link associated with the next hop is directly coupled to the network node, and wherein:

the determining the level of deterioration of the primary path includes determining the non-congestion-related loss for a remote link along the primary path, the remote link being at least one hop away from the next link;

the changing the primary path to the alternate path includes:

changing the next link in the primary path to a next link in the alternate path based on the non-congestion-related loss for the remote link; and

forwarding the data packet to the next link in the alternate path; and

the changing of the next link in the primary path to the next link in the alternate path includes:

determining non-congestion-related loss for the next link in the alternate path; and

changing the next link in the primary path to the next link in the alternate path when the next link in the alternate path exhibits less non-congestion-related loss than the next link in the primary path.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2023
From: FUTUREWEI TECHNOLOGIES, INC.
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 064300/0486 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2023
From: CHUNDURI, UMA S.; BRYANT, STEWART; CLEMM, ALEXANDER; ECKERT, TOERLESS; LI, RICHARD
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 063079/0703 →
Continuity (2)
Continuation PCTUS2020070587 · Sep 28, 2020
Related Publication 20230231798A1 · Jul 20, 2023
References Cited (62)
US 7836156B1 · Ou · 2010 [cited by examiner]
US 9253079B2 · Ernström · 2016 [cited by examiner]
US 9923798B1 · Bahadur et al. · 2018 [cited by applicant]
US 10567293B1 · Pularikkal · 2020 [cited by examiner]
US 12402061B2 · Wei · 2025 [cited by examiner]
US 20070058679A1 · Pelletier · 2007 [cited by examiner]
US 20070183317A1 · Vasseur · 2007 [cited by examiner]
US 20140010147A1 · Cao · 2014 [cited by examiner]
US 20140355447A1 · Gohite et al. · 2014 [cited by applicant]
US 20150263963A1 · Minakuchi · 2015 [cited by examiner]
US 20160021014A1 · Wetterwald · 2016 [cited by examiner]
US 20160028616A1 · Vasseur · 2016 [cited by examiner]
US 20160142222A1 · Fang · 2016 [cited by examiner]
US 20160182177A1 · Weiny · 2016 [cited by examiner]
US 20160277280A1 · Liu · 2016 [cited by examiner]
US 20170012848A1 · Zhao · 2017 [cited by examiner]
US 20170053258A1 · Carney · 2017 [cited by examiner]
US 20170134268A1 · Easale · 2017 [cited by examiner]
US 20180069780A1 · Dhanabalan · 2018 [cited by examiner]
US 20180234524A1 · Cheng · 2018 [cited by examiner]
US 20180367457A1 · Minakuchi · 2018 [cited by examiner]
US 20190082363A1 · Park · 2019 [cited by examiner]
US 20190104075A1 · Li et al. · 2019 [cited by applicant]
US 20190104437A1 · Bartfai-Walcott · 2019 [cited by examiner]
US 20190319873A1 · Shelar · 2019 [cited by examiner]
US 20200099610A1 · Heron · 2020 [cited by examiner]
US 20200187079A1 · Nagakubo · 2020 [cited by examiner]
US 20200267717A1 · Ramanath · 2020 [cited by examiner]
US 20200404569A1 · Cho · 2020 [cited by examiner]
US 20210029021A1 · Torvi · 2021 [cited by examiner]
US 20210084506A1 · Kimba Dit Adamou · 2021 [cited by examiner]
US 20210105698A1 · Jactat · 2021 [cited by examiner]
US 20210105795A1 · Zhu · 2021 [cited by examiner]
US 20210144086A1 · Bidgoli · 2021 [cited by examiner]
US 20210258249A1 · Torvi · 2021 [cited by examiner]
US 20210297327A1 · Kumar · 2021 [cited by examiner]
US 20220006726A1 · Michael · 2022 [cited by examiner]
US 20220151006A1 · Muhammad · 2022 [cited by examiner]
US 20220159768A1 · Zhu · 2022 [cited by examiner]
US 20220279383A1 · Amend · 2022 [cited by examiner]
US 20230049573A1 · Zhang · 2023 [cited by examiner]
US 20230292217A1 · Jung · 2023 [cited by examiner]
US 20240129802A1 · Wang · 2024 [cited by examiner]
WO WO2022066199A1 · 2022 [cited by applicant]
“International Application Serial No. PCT/US2020/070587, International Search Report mailed May 27, 2021”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/US2020/070587, Written Opinion mailed May 27, 2021”, 7 pgs. [cited by applicant]
“IS-IS TLV Codepoints”, [online]. [retrieved Jun. 19, 2020]. Retrieved from the Internet: <URL: https://www.jana.org/assignments/isis-tiv-codepoints/isis-tiv-codepoints.xhtml>, (created May 6, 2003; updated Jun. 17, 202… [cited by applicant]
“Multiprotocol Label Switching”, Wikipedia, (Jun. 8, 2020), 7 pgs. [cited by applicant]
“The Loss Network for Data Centers”, Huawei Technologies Co. Ltd., Revision 1.0, (Nov. 7, 2017), 1-14 (15 pgs.). [cited by applicant]
Atlas, A., et al., “RFC 5286, Basic Specification for IP Fast Reroute: Loop-Free Alternates”, RFC 5286, Network Working Group, (Sep. 2008), 31 pgs. [cited by applicant]
Bryant, S., et al., “Preferred Path Loop-Free Alternative (pIFA)”, Futurewei Technologies Inc., Routing Area Working Group, (Jul. 2, 2019), 20 pgs. [cited by applicant]
Bryant, S., et al., “RFC 7490, Remote Loop-Free Alternative”, Internet Engineering Task Force (IETF), (Apr. 2015), 29 pgs. [cited by applicant]
Chunduri, U., “Preferred Path Routing (PPR) in IS-IS”, LSR Working Group, (Mar. 8, 2020), 26 pgs. [cited by applicant]
Chunduri, U., et al., “Resources for Preferred Path Routes in IGPs”, LSR Working Group, (Jul. 16, 2018), 16 pgs. [cited by applicant]
Edgeworth, Brad, et al., “Introduction of Performance Routing (Pfr)”, [online]. [retrieved Jun. 19, 2020]. Retrieved from the Internet: <URL: https://www.ciscopress.com/articles/article.asp?p=2755712>, (Jan. 10, 2016), … [cited by applicant]
Filsfils, C., et al., “RFC 8402, Segment Routing Architecture”, Internet Engineering Task Force, (Jul. 2018), 32 pgs. [cited by applicant]
Giacalone, S., et al., “RFC 7471, OSPF Traffic Engineering (TE) Metric Extensions”, (Mar. 2015), 19 pgs. [cited by applicant]
Ginsburg, L., et al., “RFC 8570, IS-IS Traffic Engineering (TE) Metric Extensions”, Internet Engineering Task Force (IETF), (Mar. 2019), 22 pgs. [cited by applicant]
Litkowski, S., et al., “Topology Independent Fast Reroute using Segment Routing”, Network Working Group, (Mar. 4, 2020), 25 pgs. [cited by applicant]
Richard Li, et al., “New IP: A Data Packet Framework to Evolve the Internet”, 12 pgs. [cited by applicant]
Shand, M., et al., “RFC 5714, IP Fast Reroute Framework”, Internet Engineering Task Force (IETF), (Jan. 2010), 15 pgs. [cited by applicant]
“International Application Serial No. PCT/US2020/070587, International Preliminary Report on Patentability mailed Apr. 6, 2023”, 9 pgs. [cited by applicant]