IP Library › Granted Patent US 12,700,945
Granted Patent B2
US 12,700,945 · App. 18/338,131 · Granted Aug 4, 2026

Systems, apparatuses and methods for network packet management

Inventor: Sergey Ignatchenko (Weidling, AT)
Assignee: Six Impossible Things Before Breakfast Limited
H04L1/00H04L43/0864H04L43/087H04L43/0894H04L45/24H04L45/302H04L45/3065H04L45/70H04L45/741H04L45/745H04L47/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,700,945
App. No.
18/338,131
Filed
Jun 20, 2023
Granted
Aug 4, 2026
Kind
B2
Art Unit
2469
USPC
370/392
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 (66)

1 . A method of managing packets, the method comprising:

obtaining, by a computing device, a plurality of packets having a plurality of fields, wherein the computing device is communicatively coupled to a plurality of devices including at least a first target device;

generating, by the computing device, at least a first copy-packet of a first packet to be transmitted to the first target device via a first interface of the computing device;

identifying, by the computing device, at least one characteristic of the first packet, wherein the at least one characteristic of the first packet comprises one or more of an app type and a detected packet rate;

determining, by the computing device, a time period for delaying transmission of one of the first packet and the first copy-packet with respect to transmission of the other of the first packet and the first copy-packet based upon the at least one characteristic; and

transmitting, by the computing device, the first packet and the first copy-packet to the first target device via the first interface of the computing device, wherein transmission of one of the first packet and the first copy-packet via the first interface is delayed with respect to transmission of the other of the first packet and the first copy-packet via the first interface according to the time period.

2 . The method of claim 1 , further comprising:

setting, by the computing device, a content of a target address field of the first packet to reflect an address of the first target device.

3 . The method of claim 2 , wherein the step of changing the content of the target address field is performed before the step of generating the first copy-packet.

4 . The method of claim 1 , wherein the first target device is a latency-oriented proxy.

5 . The method of claim 1 , further comprising:

setting, by the computing device, a content of a first source address field of the first packet and a content of a second source address field of the first copy-packet to reflect an address of the first interface.

6 . The method of claim 1 , wherein the first interface is a physical interface.

7 . The method of claim 1 , wherein the first interface is a virtual interface, and wherein the virtual interface is configured to transmit and receive packets via a physical interface, and wherein the virtual interface is configured to have a different address than the physical interface.

8 . The method of claim 1 , further comprising:

establishing, by the computing device, a session for at least the first packet based on at least one characteristic of the first packet;

obtaining, by the computing device, a second packet having a same at least one characteristic as the first packet; and

prioritizing, by the computing device, transmission of the second packet over transmission of one or more other packets.

9 . The method of claim 1 , the method further comprising determining, by the computing device, whether to generate the first copy-packet based upon at least one characteristic of the first packet, wherein the at least one characteristic comprises one or more of a port number, an IP address, a protocol, a domain name, and a value of a differential services field.

10 . The method of claim 1 , wherein a packet in the plurality of packets is an IPV4 packet or an Ipv6 packet.

11 . The method of claim 1 , wherein the plurality of fields of the first packet comprises a differential services field including a Differentiated Services Code Point (DSCP) value, the method further comprising setting, by the computing device, the DSCP value to a predefined value.

12 . The method of claim 11 , wherein the step of setting the DSCP value is performed before the step of generating the first copy-packet.

13 . The method of claim 11 , wherein the step of setting the DSCP value of the differential services field of the first packet is limited by a rate at which the router receives packets.

14 . The method of claim 13 , wherein the limit is determined based on statistics on a number of packets having a same DSCP value.

15 . The method of claim 1 , wherein the first packet comprises a target IP address field including a target address associated with the first target device, wherein the method further comprises determining, by the computing device, whether to copy the first packet based on whether the target IP address in the target IP address field is an IP address associated with an autonomous system according to an autonomous system number (ASN) table.

16 . The method of claim 15 , wherein at least one autonomous system listed in the ASN table indicates an app type associated with the at least one autonomous system, and wherein determining whether to copy the first packet further comprises determining the app type associated with the first packet according to the ASN table.

17 . The method of claim 1 , wherein the computing device stores at least the first packet and one or more of the plurality of packets in a queue, and wherein the computing device selects a next packet to transmit from the queue based upon an active queue management algorithm.

18 . The method of claim 17 , wherein the active queue management algorithm comprises one of random early detection, controlled delay, class-based queue scheduling, hierarchical token bucket, and hierarchical fair service curve.

19 . A method of managing packets, the method comprising:

obtaining, by a computing device, a plurality of packets having a plurality of fields, wherein the computing device is communicatively coupled to a plurality of devices including at least a first target device;

generating, by the computing device, at least a first copy-packet of a first packet to be transmitted to the first target device via a first interface of the computing device;

transmitting, by the computing device, the first packet and the first copy-packet to the first target device via the first interface of the computing device, wherein transmission of one of the first packet and the first copy-packet via the first interface is delayed with respect to transmission of the other of the first packet and the first copy-packet via the first interface according to a time period, wherein the time period is based upon a synchronization technique, and wherein the synchronization technique is a phase-locked loop or a delay-locked loop.

20 . A computing device comprising:

one or more interfaces configured to obtain and transmit a plurality of packets having a plurality of fields, the one or more interfaces including at least a first interface, wherein the computing device is communicatively coupled to a plurality of devices including at least a first target device; and

a processor configured to:

generate at least a first copy-packet of a first packet to be transmitted to the first target device via the first interface of the computing device;

identify at least one characteristic of the first packet, wherein the at least one characteristic of the first packet comprises one or more of an app type and a detected packet rate;

determine the time period for delaying transmission of one of the first packet and the first copy-packet with respect to transmission of the other of the first packet and the first copy-packet based upon the at least one characteristic; and

transmit the first packet and the first copy-packet to the first target device via the first interface, wherein transmission of one of the first packet and the first copy-packet via the first interface is delayed with respect to transmission of the other of the first packet and the first copy-packet via the first interface according to the time period.

21 . The computing device of claim 20 , wherein the processor is further configured to:

set a content of a target address field of the first packet to reflect an address of the first target device.

22 . The computing device of claim 21 , wherein the processor is further configured to change the content of the target address field before the processor generates the first copy-packet.

23 . The computing device of claim 20 , wherein the first target device is a latency-oriented proxy.

24 . The computing device of claim 20 , wherein the processor is further configured to:

set a content of a first source address field of the first packet and a content of a second source address field of the first copy-packet to reflect an address of the first interface.

25 . The computing device of claim 20 , wherein the first interface is a physical interface.

26 . The computing device of claim 20 , wherein the first interface is a virtual interface, and wherein the virtual interface is configured to transmit and receive packets via a physical interface, and wherein the virtual interface is configured to have a different address than the physical interface.

27 . The computing device of claim 20 , wherein the processor is further configured to:

establish a session for at least the first packet based on at least one characteristic of the first packet,

obtain a second packet having a same at least one characteristic as the first packet; and

prioritize transmission of the second packet over transmission of one or more other packets.

28 . The computing device of claim 20 , wherein the processor is configured to determine whether to generate the first copy-packet based upon at least one characteristic of the first packet, wherein the at least one characteristic comprises one or more of a port number, an IP address, a protocol, a domain name, and a value of a differential services field.

29 . The computing device of claim 20 , wherein a packet in the plurality of packets is an IPV4 packet or an IPV6 packet.

30 . The computing device of claim 20 , wherein the plurality of fields of the first packet comprises a differential services field including a Differentiated Services Code Point (DSCP) value, and wherein the processor is further configured to set the DSCP value to a predefined value.

31 . The computing device of claim 30 , wherein the processor is configured to set the DSCP value before the processor generates the first copy-packet.

32 . The computing device of claim 30 , wherein when setting the DSCP value of the differential services field of the first packet, the computing device is limited by a rate at which the router receives packets.

33 . The computing device of claim 32 , wherein the limit is determined based on statistics on a number of packets having a same DSCP value.

34 . The computing device of claim 20 , wherein the first packet comprises a target IP address field including a target IP address associated with the first target device, wherein the processor is further configured to determine whether to copy the first packet based on whether the target IP address in the target IP address field is an IP address associated with an autonomous system according to an autonomous system number (ASN) table.

35 . The computing device of claim 34 , wherein at least one autonomous system listed in the ASN table indicates an app type associated with the at least one autonomous system, and wherein to determine whether to copy the first packet, the processor is further configured to determine the app type associated with the first packet according to the ASN table.

36 . The computing device of claim 20 , wherein the processor stores at least the first packet and one or more of the plurality of packets in a queue, and wherein the processor selects a next packet to transmit from the queue based upon an active queue management algorithm.

37 . The computing device of claim 36 , wherein the active queue management algorithm comprises one of random early detection, controlled delay, class-based queue scheduling, hierarchical token bucket, and hierarchical fair service curve.

38 . A computing device comprising:

one or more interfaces configured to obtain and transmit a plurality of packets having a plurality of fields, the one or more interfaces including at least a first interface, wherein the computing device is communicatively coupled to a plurality of devices including at least a first target device; and

a processor configured to:

generate at least a first copy-packet of a first packet to be transmitted to the first target device via the first interface of the computing device;

transmit the first packet and the first copy-packet to the first target device via the first interface, wherein transmission of one of the first packet and the first copy-packet via the first interface is delayed with respect to transmission of the other of the first packet and the first copy-packet via the first interface according to a time period, wherein the time period is based upon a synchronization technique, and wherein the synchronization technique is a phase-locked loop or a delay-locked loop.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2023
From: IGNATCHENKO, SERGEY
To: OLOGN TECHNOLOGIES AG
Reel/Frame 065512/0671 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2023
From: OLOGN TECHNOLOGIES AG
To: SIX IMPOSSIBLE THINGS BEFORE BREAKFAST LIMITED
Reel/Frame 065512/0683 →
Continuity (7)
Continuation 17097847 · 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 20240031287A1 · Jan 25, 2024
References Cited (91)
US 7224693B1 · Zhou et al. · 2007 [cited by applicant]
US 7242679B1 · Colby et al. · 2007 [cited by applicant]
US 7266686B1 · Monteiro et al. · 2007 [cited by applicant]
US 7359380B1 · Maufer et al. · 2008 [cited by applicant]
US 8179838B2 · Tang et al. · 2012 [cited by applicant]
US 8351445B1 · Kaniz et al. · 2013 [cited by applicant]
US 8787400B1 · Colby et al. · 2014 [cited by applicant]
US 9270426B1 · Atlas et al. · 2016 [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 11563684B2 · Ignatchenko · 2023 [cited by applicant]
US 11601366B2 · Ignatchenko · 2023 [cited by applicant]
US 11689460B2 · Igantchenko · 2023 [cited by applicant]
US 11689461B2 · Ignatchenko · 2023 [cited by applicant]
US 11689462B2 · Ignatchenko · 2023 [cited by applicant]
US 11855895B2 · Ignatchenko · 2023 [cited by applicant]
US 12149447B2 · Ignatchenko · 2024 [cited by applicant]
US 12212492B2 · Ignatchenko · 2025 [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 20040228363A1 · Adamczyk et al. · 2004 [cited by applicant]
US 20050122966A1 · Bowes · 2005 [cited by applicant]
US 20050265371A1 · Sharma et al. · 2005 [cited by applicant]
US 20060040699A1 · Kim et al. · 2006 [cited by applicant]
US 20060133364A1 · Venkatsubra · 2006 [cited by applicant]
US 20070177594A1 · Kompella · 2007 [cited by examiner]
US 20080074996A1 · Fourcand · 2008 [cited by examiner]
US 20080225846A1 · Kanevsky et al. · 2008 [cited by applicant]
US 20080243990A1 · Mallik et al. · 2008 [cited by applicant]
US 20090019505A1 · Gopalakrishnan · 2009 [cited by examiner]
US 20090238074A1 · Vasseur et al. · 2009 [cited by applicant]
US 20090316698A1 · Menten · 2009 [cited by applicant]
US 20100037056A1 · Follis et al. · 2010 [cited by applicant]
US 20100061272A1 · Veillette · 2010 [cited by examiner]
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 · 2013 [cited by examiner]
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 examiner]
US 20140101331A1 · Bartlett · 2014 [cited by examiner]
US 20140164640A1 · Ye et al. · 2014 [cited by applicant]
US 20140314401A1 · Fujimori · 2014 [cited by examiner]
US 20140376427A1 · Hui et al. · 2014 [cited by applicant]
US 20150085657A1 · Hoehne · 2015 [cited by examiner]
US 20150244761A1 · Tsyganok et al. · 2015 [cited by applicant]
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 20160381119A1 · Araki · 2016 [cited by applicant]
US 20170346709A1 · Menon · 2017 [cited by examiner]
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]
US 20240031286A1 · Ignatchenko · 2024 [cited by applicant]
US 20240031287A1 · Ignatchenko · 2024 [cited by applicant]
US 20250240115A1 · Ignatchenko · 2025 [cited by applicant]
US 20250267097A1 · Ignatchenko · 2025 [cited by applicant]
CN 1716944A · 2006 [cited by applicant]
EP 2493131A1 · 2012 [cited by applicant]
EP 2849397A1 · 2015 [cited by applicant]
EP 3013004A1 · 2016 [cited by applicant]
KR 20070020531A · 2007 [cited by applicant]
TW 201002010A · 2010 [cited by applicant]
WO WO0141380A2 · 2001 [cited by applicant]
WO WO2009005162A2 · 2009 [cited by applicant]
Boulanger et al., “Companng 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]
Extended European Search Report dated Feb. 6, 2026, issued in European Appln. 25221797.1. [cited by applicant]