IP Library › Granted Patent US 12,231,334
Granted Patent B2
US 12,231,334 · App. 18/365,446 · Granted Feb 18, 2025

Ultra reliable segment routing

Inventors: Thierry Van de Velde (Meise, BE); Satish Kanugovi (Bengaluru, IN)
Assignee: Nokia Solutions and Networks Oy
H04L45/50H04L45/306H04L45/74H04L67/63H04L69/22
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,231,334
App. No.
18/365,446
Granted
Feb 18, 2025
Kind
B2
Abstract

SR-enabled network nodes capable of replicating and recombining data packets in a manner that enables reliable, low-latency communications. In an example embodiment, a replicator node transmits to a combinator node multiple copies of a payload over different respective network paths, with the SR headers of the corresponding packets each having a replication segment identifier or a respective SID stack that includes the replication segment identifier. The combinator node delivers/forwards to the corresponding application/destination only the first-to-arrive payload copy and discards any subsequent payload copies based on the replication segment identifier. Some embodiments may beneficially reduce latency and packet loss concurrently and consistently. For example, packet loss may be reduced due to the transmission of multiple copies of the same payload over multiple network paths. Effective latency may be reduced due to the selection of the first-to-arrive payload copy for delivery/forwarding.

Claims (36)

1. An apparatus comprising a first node that comprises packet-processing circuitry and a memory, the first node being configured to receive from a second node a packet set of two or more egress packets in response to the second node receiving an ingress packet, each of the two or more egress packets being transmitted via a different respective network path connecting the first and second nodes, wherein:

each egress packet of the two or more egress packets comprises:

a copy of a payload of the ingress packet;

a packet header comprising a replication segment identifier (RSID) identifying a replication segment, wherein the RSID is based on the payload of the ingress packet; and

the memory is configured to store each egress packet received from the second node; and

the packet-processing circuitry is configured to determine whether or not to delete the egress packet from the memory based on the egress packet's RSID, wherein:

for each ingress packet, the two or more egress packets have the same RSID; and

the length of the RSID in the egress packets is different for at least two different ingress packets.

2. The apparatus of claim 1 , wherein the packet-processing circuitry is configured to:

copy the payload of the egress packet into a corresponding outgoing packet if the packet-processing circuitry determines that the egress packet is a first-to-arrive packet of the packet set; and

discard the egress packet if the packet-processing circuitry determines that the egress packet is a subsequent packet of the packet set.

3. The apparatus of claim 2 , wherein the first node is configured to transmit the outgoing packet to a third node or deliver the outgoing packet to an application.

4. The apparatus of claim 2 , wherein the packet-processing circuitry is configured to compute a padding value for a packet header of the outgoing packet.

5. The apparatus of claim 1 , further comprising user equipment configured to implement the first node.

6. The apparatus of claim 1 , wherein the packet-processing circuitry is configured to save in a lookup table the RSID of the egress packet if the packet-processing circuitry determines that the egress packet is a first-to-arrive packet of the corresponding packet set.

7. The apparatus of claim 6 , wherein the packet-processing circuitry is configured to delete the saved RSID from the lookup table in response to an earlier of (i) a run-out of an expiration timer associated with the saved RSID and (ii) receipt of all of the two or more packets of the packet set.

8. The apparatus of claim 1 , wherein the first node further comprises a packet multiplexer to connect the memory to the different network paths.

9. The apparatus of claim 1 , wherein the packet header further comprises a segment-routing identifier identifying a segment of the respective network path for the egress packet for reaching the second node.

10. A method for an apparatus comprising a first node that comprises packet-processing circuitry and a memory, the first node receiving from a second node a packet set of two or more egress packets in response to the second node receiving an ingress packet, each of the two or more egress packets being transmitted via a different respective network path connecting the first and second nodes, wherein:

each egress packet of the two or more egress packets comprises:

a copy of a payload of the ingress packet;

a packet header comprising a replication segment identifier (RSID) identifying a replication segment, wherein the RSID is based on the payload of the ingress packet; and

the memory stores each egress packet received from the second node; and

the packet-processing circuitry determines whether or not to delete the egress packet from the memory based on the egress packet's RSID, wherein:

for each ingress packet, the two or more egress packets have the same RSID; and

the length of the RSID in the egress packets is different for at least two different ingress packets.

11. The method of claim 10 , wherein the packet-processing circuitry:

copies the payload of the egress packet into a corresponding outgoing packet if the packet-processing circuitry determines that the egress packet is a first-to-arrive packet of the packet set; and

discards the egress packet if the packet-processing circuitry determines that the egress packet is a subsequent packet of the packet set.

12. The method of claim 11 , wherein the first node transmits the outgoing packet to a third node or delivers the outgoing packet to an application.

13. The method of claim 11 , wherein the packet-processing circuitry computes a padding value for a packet header of the outgoing packet.

14. The method of claim 10 , wherein user equipment implements the first node.

15. The method of claim 10 , wherein the packet-processing circuitry saves in a lookup table the RSID of the egress packet if the packet-processing circuitry determines that the egress packet is a first-to-arrive packet of the corresponding packet set.

16. The method of claim 15 , wherein the packet-processing circuitry deletes the saved RSID from the lookup table in response to an earlier of (i) a run-out of an expiration timer associated with the saved RSID and (ii) receipt of all of the two or more packets of the packet set.

17. The method of claim 10 , wherein a packet multiplexer connects the memory to the different network paths.

18. The method of claim 10 , wherein the packet header further comprises a segment-routing identifier identifying a segment of the respective network path for the egress packet for reaching the second node.

Continuity (2)
Continuation 16867788 · May 6, 2020
Related Publication 20230379244A1 · Nov 23, 2023
References Cited (42)
US 9497075B2 · DeCusatis et al. · 2016 [cited by applicant]
US 10063475B2 · Previdi et al. · 2018 [cited by applicant]
US 10237175B2 · Pignataro et al. · 2019 [cited by applicant]
US 10382334B2 · Previdi et al. · 2019 [cited by applicant]
US 10469370B2 · Filsfils et al. · 2019 [cited by applicant]
US 10554537B2 · Ceccarelli et al. · 2020 [cited by applicant]
US 10601707B2 · Previdi et al. · 2020 [cited by applicant]
US 20020075873A1 · Lindhorst-Ko et al. · 2002 [cited by applicant]
US 20030016672A1 · Rosen et al. · 2003 [cited by applicant]
US 20060149840A1 · Thompson et al. · 2006 [cited by applicant]
US 20060256768A1 · Chan · 2006 [cited by applicant]
US 20110096682A1 · Koch et al. · 2011 [cited by applicant]
US 20120170585A1 · Mehra et al. · 2012 [cited by applicant]
US 20130114606A1 · Schrum, Jr. et al. · 2013 [cited by applicant]
US 20140281831A1 · Polehn et al. · 2014 [cited by applicant]
US 20170331743A1 · Rimmer et al. · 2017 [cited by applicant]
US 20180253234A1 · Fine et al. · 2018 [cited by applicant]
US 20180343137A1 · Van de Velde et al. · 2018 [cited by applicant]
US 20190104437A1 · Bartfai-Walcott et al. · 2019 [cited by applicant]
US 20190273813A1 · Mirsky · 2019 [cited by applicant]
US 20200195568A1 · Ali et al. · 2020 [cited by applicant]
US 20200228446A1 · Geng · 2020 [cited by examiner]
US 20200358698A1 · Song et al. · 2020 [cited by applicant]
US 20210092052A1 · Tantsura et al. · 2021 [cited by applicant]
US 20210136046A1 · Lu et al. · 2021 [cited by applicant]
US 20210203603A1 · Fouli et al. · 2021 [cited by applicant]
US 20210385169A1 · Urman · 2021 [cited by examiner]
Ford, A. et al. “RFC 6824—TCP Extensions for Multipath Operation with Multiple Addresses”, IETF (Jan. 2013): pp. 1-64. [cited by applicant]
Filsfils, C. et al. “RFC 8402—Segment Routing Architecture”, IETF (Jul. 2018): pp. 1-32. [cited by applicant]
Filsfils, C. et al. “RFC 8754—IPV6 Segment Routing Header (SRH)”, IETF (Mar. 2020): pp. 1-27. [cited by applicant]
Technical Specification “123 501 V15.2.0 (Jun. 2018)—5G; System Architecture for the 5G System (3GPP TS 23.501 version 15.2.0 Release 15)”, ETSI (Jun. 2018): pp. 1-219. [cited by applicant]
Technical Specification “3GPP TS 23.501 V16.4.0 (Mar. 2020)—3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; System architecture for the 5G System (5GS); Stage 2 (Release 16… [cited by applicant]
Technical Specification “3GPP TS 23.502 V16.4.0 (Mar. 2020)—3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Procedures for the 5G System (5GS); Stage 2 (Release 16)”, 3GPP … [cited by applicant]
Filsfils, C. et al. “Internet-Draft: IPv6 Segment Routing Header (SRH)”, Document Code: draft-ietf-6man-segment-routing-header-26, IETF (Oct. 2019): pp. 1-32. [cited by applicant]
Filsfils, C. et al. “Internet-Draft: Network Programming extension: SRv6 uSID instruction”, Document Code: draft-filsfils-spring-net-pgm-extension-srv6-usid-04, IETF (Feb. 2020): pp. 1-14. [cited by applicant]
Filsfils, C. et al. “Internet-Draft: Segment Routing Policy Architecture”, Document Code: draft-filsfils-spring-segment-routing-policy-06.txt, IETF (May 2018): pp. 1-34. [cited by applicant]
Ventre, Pier Luigi, et al. “Segment Routing: A Comprehensive Survey of Research Activities, Standardization Efforts and Implementation Results.” arXiv preprint arXiv: 1904.03471 (Jan. 2019): pp. 1-36. [cited by applicant]
“466 Tbps: The Global Internet Continues to Expand”, www.telegeography.com, 2019 [retrieved on Aug. 6, 2020] Retrieved from Internet: <URL: https://blog.telegeography.com/466-tbps-the-global-internet-continues-to-expand… [cited by applicant]
“Early effects of COVID-19 lockdowns on service provider networks: the networks soldier on!”, www.nokia.com, 2020 [retrieved on Aug. 6, 2020] Retrieved from the Internet: <URL: https://www.nokia.com/blog/early-effects-c… [cited by applicant]
“YouTube Slashes Video Quality to Save Bandwidth”, www.wired.com, 2020 [retrieved on Aug. 6, 2020] Retrieved from the Internet: <URL: https://www.wired.com/story/youtube-slashes-video-quality-save-bandwidth/> (5 pages). [cited by applicant]
“Impact of Packet Loss, Jitter, and Latency on VoIP”, www.netbeez.net, 2016 [retrieved on Aug. 6, 2020] Retrieved from the Internet: <URL: https://netbeez.net/blog/impact-of-packet-loss-jitter-and-latency-on-voip/> (11 … [cited by applicant]
“TCP tuning”, www.wikipedia.org, 2020 [retrieved on Aug. 6, 2020] Retrieved from the Internet: <URL: https://en.wikipedia.org/wiki/TCP_tuning> (4 pages). [cited by applicant]