IP Library › Granted Patent US 12,212,492
Granted Patent B2
US 12,212,492 · App. 18/542,584 · Granted Jan 28, 2025

Systems, apparatuses and methods for network packet management

Inventor: Sergey Ignatchenko (Innsbruck, AT)
Assignee: Six Impossible Things Before Breakfast Limited
H04L45/745H04L1/00H04L43/0864H04L43/087H04L43/0894H04L45/24H04L45/302H04L45/3065H04L45/70H04L45/741H04L47/2416H04L47/56
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,212,492
App. No.
18/542,584
Granted
Jan 28, 2025
Kind
B2
Abstract

Methods and systems are provided for latency-oriented router. An incoming packet is received on a first interface. The type of the incoming packet is determined. Upon the detection that the incoming packet belongs to latency-critical traffic, the incoming packet is duplicated into one or more copies. Subsequently, the duplicated copies are sent to a second interface in a delayed fashion where the duplicated copies are spread over a time period. The duplicated copies are received and processed at the second interface.

Claims (46)

1. A method of managing latency critical network traffic, the method comprising:

receiving, by a routing device via a first set of one or more interfaces, a plurality of packets from a first source device and a plurality of packets from a second source device;

determining, by the routing device, that the plurality of packets from the first source device comprise latency-critical packets and that the plurality of packets from the second source device comprise non-critical packets;

detecting, by the routing device, a potential issue with the received plurality of packets by determining one or more characteristic of the plurality of packets received through the first set of one or more interfaces, wherein detecting the potential issue with the received packets comprises measuring a round trip time of packets transmitted to and packets received from the first source device, wherein at least one packet of the plurality of packets received from the first source device further comprises a first field indicating a reference identifier and a second field indicating an amount of time from when a first packet with the reference identifier was received by the target device to when the at least one packet was sent by the target device to the routing device;

suppressing, by the routing device, transmission of the non-critical packets received from the second source device based on the detection of the potential issue;

transmitting, by the routing device, the latency-critical packets to a first client device via a second set of one or more interfaces; and

transmitting, by the routing device, the non-critical packets to a second client device via the second set of one or more interfaces.

2. The method of claim 1 , wherein the first source device and the second source device are the same device.

3. The method of claim 1 , wherein the first client device and the second client device are the same device.

4. The method of claim 1 , wherein the non-critical packets received from the second source device are associated with a logical connection, wherein the logical connection is selected from among the group comprising: a Transmission Control Protocol (TCP) connection, a BitTorrent User Datagram Protocol (UDP) Tracker connection, and Quick UDP Internet Connection (QUIC).

5. The method of claim 4 , wherein suppressing the transmission of the non-critical packets is performed on a per logical connection basis.

6. The method of claim 1 , wherein detecting the potential issue with the received packets further comprises detecting a rate of loss of ping packets received from an external device.

7. The method of claim 6 , wherein the ping packets are Internet Control Message Protocol (ICMP) packets.

8. The method of claim 6 , wherein the external device and the first source device are the same device.

9. The method of claim 1 , wherein detecting the potential issue with the received packets further comprises measuring jitter.

10. The method of claim 1 , wherein detecting the potential issue with the received packets further comprises receiving from the first source device a packet indicating a connection quality between the first set of one or more interfaces and the first source device.

11. The method of claim 1 , wherein detecting the potential issue with the received packets further comprises determining a number of packets lost in transit between the first source device and the first set of one or more interfaces.

12. The method of claim 11 , wherein determining the number of packets lost in transit comprises comparing the number of packets received from the first source device to an expected packet rate.

13. The method of claim 1 , wherein suppressing the transmission of the non-critical packets comprises dropping one or more of the non-critical packets received from the second source device.

14. The method of claim 13 , wherein dropping the one or more of the non-critical packets comprises dropping a percentage of the non-critical packets.

15. The method of claim 1 , wherein suppressing the transmission of the non-critical packets comprises delaying transmission of one or more of the non-critical packets received from the second source device.

16. The method of claim 1 , further comprising transmitting, by the routing device, packets to the second source device, wherein suppressing the transmission of the non-critical packets comprises attaching an Explicit Congestion Notification to packets transmitted from the routing device to the second source device.

17. A routing device comprising:

a first set of one or more interfaces and a second set of one or more interfaces; and

a processor configured to:

receive a plurality of packets from a first source device via the first set of one or more interfaces and a plurality of packets from a second source device via the first set of one or more interfaces;

determine that the plurality of packets from the first source device comprise latency-critical packets and that the plurality of packets from the second source device comprise non-critical packets;

detect a potential issue with the received plurality of packets by determining one or more characteristics of the plurality of packets received through the first set of one or more interfaces, wherein to detect the potential issue with the received packets, the processor is further configured to measure a round trip time of packets transmitted to and packets received from the first source device, wherein at least one packet of the plurality of packets received from the first source device further comprises a first field indicating a reference identifier and a second field indicating an amount of time from when a first packet with the reference identifier was received by the target device to when the at least one packet was sent by the target device to the routing device;

suppress transmission of the non-critical packets received from the second source device based on the detection of the potential issue;

transmit the latency-critical packets to a first client device via the second set of one or more interfaces; and

transmit the non-critical packets to a second client device via the second set of one or more interfaces.

18. The routing device of claim 17 , wherein the first source device and the second source device are the same device.

19. The routing device of claim 17 , wherein the first client device and the second client device are the same device.

20. The routing device of claim 17 , wherein the non-critical packets received from the second source device are associated with a logical connection, wherein the logical connection is selected from among the group comprising: a Transmission Control Protocol (TCP) connection, a BitTorrent User Datagram Protocol (UDP) Tracker connection, and a Quick UDP Internet Connection (QUIC).

21. The routing device of claim 20 , wherein the processor suppresses the transmission of the non-critical packets by the second source device on a per logical connection basis.

22. The routing device of claim 17 , wherein to detect the potential issue with the received packets, the processor is further configured to detect a rate of loss of ping packets received from an external device.

23. The routing device of claim 22 , wherein the ping packets are Internet Control Message Protocol (ICMP) packets.

24. The routing device of claim 22 , wherein the external device and the first source device are the same device.

25. The routing device of claim 17 , wherein to detect the potential issue with the received packets, the processor is further configured to measure jitter.

26. The routing device of claim 17 , wherein to detect the potential issue with the received packets, the processor is further configured to receive from the first source device a packet indicating a connection quality between the first set of one or more interfaces and the first source device.

27. The routing device of claim 17 , wherein to detect the potential issue with the received packets, the processor is further configured to determine a number of packets lost in transit between the first source device and the first set of one or more interfaces.

28. The routing device of claim 27 , wherein to determine the number of packets lost in transit, the processor is configured to compare the number of packets received from the first source device to an expected packet rate.

29. The routing device of claim 17 , wherein to suppress the transmission of the non-critical packets, the processor is configured to drop one or more of the non-critical packets received from the second source device.

30. The routing device of claim 29 , wherein to drop the one or more of the non-critical packets, the processor is configured to drop a percentage of the non-critical packets.

31. The routing device of claim 17 , wherein to suppress the transmission of the non-critical packets, the processor is configured to delay transmission of one or more of the non-critical packets received from the second source device.

32. The routing device of claim 17 , wherein the processor is further configured to transmit packets to the second source device, wherein to suppress the transmission of the non-critical packets, the processor is configured to attach an Explicit Congestion Notification to packets transmitted from the routing device to the second source device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2023
From: IGNATCHENKO, SERGEY
To: OLOGN TECHNOLOGIES AG
Reel/Frame 065901/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2023
From: OLOGN TECHNOLOGIES AG
To: SIX IMPOSSIBLE THINGS BEFORE BREAKFAST LIMITED
Reel/Frame 065901/0144 →
Continuity (8)
Continuation 18158222 · Jan 23, 2023
Continuation 17097899 · Nov 13, 2020
Division 15640565 · Jul 2, 2017
Provisional Application 62526116 · Jun 28, 2017
Provisional Application 62421193 · Nov 11, 2016
Provisional Application 62376073 · Aug 17, 2016
Provisional Application 62358341 · Jul 5, 2016
Related Publication 20240205151A1 · Jun 20, 2024
References Cited (59)
US 7224693B1 · Zhou et al. · 2007 [cited by applicant]
US 7266686B1 · Monteiro et al. · 2007 [cited by applicant]
US 8351445B1 · Kaniz et al. · 2013 [cited by applicant]
US 10791052B2 · Ignatchenko · 2020 [cited by applicant]
US 10841222B2 · Ignatchenko · 2020 [cited by applicant]
US 10841223B2 · Ignatchenko · 2020 [cited by applicant]
US 10841224B2 · Ignatchenko · 2020 [cited by applicant]
US 20010012294A1 · Kadambi et al. · 2001 [cited by applicant]
US 20020063916A1 · Chiu et al. · 2002 [cited by applicant]
US 20030081605A1 · Egevang · 2003 [cited by applicant]
US 20030128746A1 · Lener et al. · 2003 [cited by applicant]
US 20050122966A1 · Bowes · 2005 [cited by applicant]
US 20060133364A1 · Venkatsubra · 2006 [cited by applicant]
US 20070177594A1 · Kompella · 2007 [cited by examiner]
US 20080074996A1 · Fourcand · 2008 [cited by applicant]
US 20080243990A1 · Mallik et al. · 2008 [cited by applicant]
US 20090019505A1 · Gopalakrishnan et al. · 2009 [cited by applicant]
US 20100061272A1 · Veillette · 2010 [cited by applicant]
US 20100202378A1 · Youn et al. · 2010 [cited by applicant]
US 20100226243A1 · Lee et al. · 2010 [cited by applicant]
US 20100226247A1 · Plamondon · 2010 [cited by applicant]
US 20110093540A1 · Eisenberg et al. · 2011 [cited by applicant]
US 20130016724A1 · Thaler · 2013 [cited by applicant]
US 20130201316A1 · Binder et al. · 2013 [cited by applicant]
US 20130205040A1 · Naor et al. · 2013 [cited by applicant]
US 20140047266A1 · Borthakur et al. · 2014 [cited by applicant]
US 20140050150A1 · Conte · 2014 [cited by applicant]
US 20140068357A1 · Georges et al. · 2014 [cited by applicant]
US 20140086256A1 · Raniere · 2014 [cited by applicant]
US 20140101331A1 · Bartlett · 2014 [cited by applicant]
US 20140164640A1 · Ye et al. · 2014 [cited by applicant]
US 20140314401A1 · Fujimori · 2014 [cited by applicant]
US 20140376427A1 · Hui · 2014 [cited by examiner]
US 20150085657A1 · Hoehne · 2015 [cited by examiner]
US 20150295752A1 · Yamashita et al. · 2015 [cited by applicant]
US 20150373162A1 · Mosko et al. · 2015 [cited by applicant]
US 20160112308A1 · Ficara et al. · 2016 [cited by applicant]
US 20170346709A1 · Menon et al. · 2017 [cited by applicant]
US 20180048567A1 · Ignatchenko · 2018 [cited by applicant]
US 20180123958A1 · Ignatchenko · 2018 [cited by applicant]
US 20180139131A1 · Ignatchenko · 2018 [cited by applicant]
US 20180176133A1 · Ignatchenko · 2018 [cited by applicant]
US 20180234341A1 · Ignatchenko · 2018 [cited by applicant]
US 20210058325A1 · Ignatchenko · 2021 [cited by applicant]
US 20210067446A1 · Ignatchenko · 2021 [cited by applicant]
US 20210067447A1 · Ignatchenko · 2021 [cited by applicant]
US 20210135989A1 · Ignatchenko · 2021 [cited by applicant]
US 20210135990A1 · Ignatchenko · 2021 [cited by applicant]
EP 2849397A1 · 2015 [cited by applicant]
WO WO0141380A2 · 2001 [cited by applicant]
WO WO2009005162A2 · 2009 [cited by applicant]
Boulanger et al., “Comparing interest management algorithms for massively multiplayer games,” [cited by applicant]
Extended European Search Report issued Jan. 17, 2023 in European Appln. 22198038.6. [cited by applicant]
Ignatchenko., “An Algorithm for Online Data Compression,” [cited by applicant]
International Search Report and Written Opinion issued Feb. 5, 2018 in International Patent Application No. PCT/IB2017/000972. [cited by applicant]
International Search Report and Written Opinion issued Feb. 8, 2018 in International Patent Application No. PCT/IB2017/057061. [cited by applicant]
Jin et al., “P-Code: A New RAID-6 Code With Optimal Properties,” [cited by applicant]
Plank et al., “Minimum density RAID-6 codes,” [cited by applicant]
Plank, “The Raid-6 Liber8Tion Code,” [cited by applicant]
Cited By (1)
US 12,700,945