IP Library › Granted Patent US 11,689,460
Granted Patent B2
US 11,689,460 · App. 17/033,394 · Granted Jun 27, 2023

Systems, apparatuses and methods for network packet management

Inventor: Sergey Ignatchenko (Innsbruck, AT)
Assignee: Six Impossible Things Before Breakfast Limited
H04L45/745H04L1/00H04L43/087H04L43/0864H04L43/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 11,689,460
App. No.
17/033,394
Granted
Jun 27, 2023
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 (74)

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

receiving, by a routing device comprising a plurality of interfaces, a first packet of a plurality of packets comprising a target address field and a source address field, wherein the routing device is communicatively coupled to a plurality of devices via the plurality of interfaces;

generating, by the routing device, fragments based on the first packet, the fragments comprising at least a first fragment and a second fragment, wherein the fragments each comprise a subset of the first packet and whereby the first packet is capable of being reassembled from the fragments, and wherein the fragments each comprise a packet identifier field having a packet identifier associated with the first packet;

generating, by the routing device, at least one fragment-copy of the first fragment, wherein the at least one fragment-copy of the first fragment comprises a packet identifier field having a same packet identifier as the first fragment;

generating, by the routing device, at least one fragment-copy of the second fragment, wherein the at least one fragment-copy of the second fragment comprises a packet identifier field having a same packet identifier as the second fragment; and

identifying, by the routing device, at least one characteristic of the first packet;

determining, by the routing device, a first time period and a second time period based on the at least one characteristic; and

transmitting, by the routing device, the first fragment, the at least one fragment-copy of the first fragment, the second fragment, and the at least one fragment-copy of the second fragment to a target device, wherein transmission of the at least one fragment-copy of the first fragment is delayed with respect to transmission of the first fragment according to a first time period and transmission of the at least one fragment-copy of the second fragment is delayed with respect to transmission of the second fragment according to a second time period.

2. The method of claim 1 , wherein the transmitting comprises:

transmitting the first fragment and a first fragment-copy of the second fragment to the target device via a first interface; and

transmitting the second fragment and a first fragment-copy of the first fragment to the target device via a second interface.

3. The method of claim 2 , wherein the first interface and the second interface are physical interfaces.

4. The method of claim 2 , wherein the first interface and the second interface are virtual interfaces, and wherein the virtual interfaces are configured to transmit and receive packets or fragments via a physical interface of the routing device, and wherein the virtual interfaces are configured to have a different address than the physical interface.

5. The method of claim 2 , wherein the first fragment, the first fragment-copy of the first fragment, the second fragment, and the first fragment-copy of the second fragment each further comprise a source address field, the method further comprising:

changing, by the routing device, a content of the source address field of the first fragment and a content of the source address field of the first fragment-copy of the second fragment to reflect an address of the first interface; and

changing, by the routing device, a content of the source address field of the second fragment and a content of the source address field of the first fragment-copy of the first fragment to reflect an address of the second interface.

6. The method of claim 1 , wherein the first time period and the second time period are the same.

7. The method of claim 1 , wherein the at least one characteristic of the first packet is selected from the group comprising an app type and a detected packet rate, and wherein the detected packet rate is a number of the plurality of packets received over a predetermined amount of time.

8. The method of claim 1 , further comprising changing, by the routing device, a content of the target address field of the first packet to reflect an address of the target device, and wherein the fragments comprise a target address field including the address of the target device.

9. The method of claim 1 , wherein the fragments each further comprise a target address field, the method further comprising:

changing the target address field of the first fragment to reflect a first address of the target device; and

changing the target address field of the second fragment to reflect a second address of the target device.

10. The method of claim 1 , wherein at least one packet in the plurality of packets is an IPv4 packet or an IPv6 packet.

11. The method of claim 1 , wherein generating the further comprises determining, by the routing device, that the first packet exceeds a threshold size.

12. The method of claim 11 , wherein the threshold size is between 50 to 100 bytes.

13. The method of claim 11 , wherein the threshold size is between 100 to 200 bytes.

14. The method of claim 11 , wherein the threshold size is based upon an app type of the first packet.

15. The method of claim 1 , wherein the fragments each further comprise a field indicating a total number of fragments representing the first packet.

16. A routing device comprising:

a plurality of interfaces, wherein the routing device is communicatively coupled to a plurality of devices via the plurality of interfaces; and

a processor configured to:

receive a first packet of a plurality of packets comprising a target address field and a source address field;

generate fragments based on the first packet, the fragments comprising at least a first fragment and second fragment, wherein the fragments each comprise a subset of the first packet and whereby the first packet is capable of being reassembled from the fragments, and wherein the fragments each comprise a field indicating that the respective fragment is associated with the first packet;

generate at least one fragment-copy of the first fragment, wherein the at least one fragment-copy of the first fragment comprises a packet identifier field having a same packet identifier as the first fragment;

generate at least one fragment-copy of the second fragment, wherein the at least one fragment-copy of the second fragment comprises a packet identifier field having a same packet identifier as the second fragment; and

identify at least one characteristic of the first packet; and

determine a first time period and a second time period based on the at least one characteristic; and

transmit the first fragment, the at least one fragment-copy of the first fragment, the second fragment, and the at least one fragment-copy of the second fragment to a target device, wherein transmission of the at least one fragment-copy of the first fragment is delayed with respect to transmission of the first fragment according to a first time period and transmission of the at least one fragment-copy of the second fragment is delayed with respect to transmission of the second fragment according to a second time period.

17. The routing device of claim 16 , wherein to transmit the processor is configured to:

transmit the first fragment and a first fragment-copy of the second fragment to the target device via a first interface; and

transmit the second fragment and a first fragment-copy of the first fragment to the target device via a second interface.

18. The routing device of claim 17 , wherein the first interface and the second interface are physical interfaces.

19. The routing device of claim 17 , wherein the first interface and the second interface are virtual interfaces, and wherein the virtual interfaces are configured to transmit and receive packets or fragments via a physical interface of the routing device, and wherein the virtual interfaces are configured to have a different address than the physical interface.

20. The routing device of claim 17 , wherein the first fragment, the first fragment-copy of the first fragment, the second fragment, and the first fragment-copy of the second fragment each further comprise a source address field; and wherein the processor is further configured to:

change a content of the source address field of the first fragment and a content of the source address field of the first fragment-copy of the second fragment to reflect an address of the first interface; and

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

21. The routing device of claim 16 , wherein the first time period and the second time period are the same.

22. The routing device of claim 16 , wherein the at least one characteristic of the first packet is selected from the group comprising an app type and a detected packet rate, and wherein the detected packet rate is a number of the plurality of packets received over a predetermined amount of time.

23. The routing device of claim 16 , wherein the processor is further configured to change a content of the target address field of the first packet to reflect an address of the target device, and wherein the fragments comprise a target address field including the address of the target device.

24. The routing device of claim 16 , wherein the fragments each further comprise a target address field, and wherein the processor is further configured to:

change the target address field of the first fragment to reflect a first address of the target device; and

change the target address field of the second fragment to reflect a second address of the target device.

25. The routing device of claim 16 , wherein at least one packet in the plurality of packets is an IPv4 packet or an IPv6 packet.

26. The routing device of claim 16 , wherein the processor is further configured to determine that the first packet exceeds a threshold size.

27. The routing device of claim 26 , wherein the threshold size is between 50 to 100 bytes.

28. The routing device of claim 26 , wherein the threshold size is between 100 to 200 bytes.

29. The routing device of claim 26 , wherein the threshold size is based upon an app type of the first packet.

30. The routing device of claim 16 , wherein the fragments each further comprise a field indicating a total number of fragments representing the first packet.

31. A method of assembling a packet from a plurality of fragments, the method comprising:

receiving, by a routing device from a source device, at least a first and a second fragment, wherein each of the first fragment and the second fragment comprises a first field indicating that the respective fragment is associated with the packet, and one or more fields including information necessary to assemble the packet;

receiving, by the routing device from the source device, at least one copy of the first fragment, wherein the at least one copy of the first fragment is received by the routing device at a first time based on a delayed transmission by the source device of the at least one copy of the first fragment with respect to the transmission of the first fragment by the source device; wherein the transmission of the at least one copy of the first fragment is delayed with respect to the transmission of the second fragment by a second time period determined by the source device based on the characteristic of the packet;

receiving, by the routing device from the source device, at least one copy of the second fragment, wherein the at least one copy of the second fragment is received by the routing device at a second time based on a delayed transmission by the source device of the at least one copy of the second fragment with respect to the transmission of the second fragment by the source device; wherein the transmission of the at least one copy of the second fragment is delayed with respect to the transmission of the second fragment by a second time period determined by the source device based on the characteristic of the packet; and

assembling, by the routing device, the packet from a subset of the at least first fragment, the at least second fragment, the at least one copy of the first fragment, and the at least one copy of the second fragment.

32. A routing device comprising:

a first interface configured to communicate with a source device; and

a processor configured to:

receive at least a first and a second fragment from the source device, wherein each of the first fragment and the second fragment comprises a first field indicating that the respective fragment is associated with a packet, and one or more fields including information necessary to assemble the packet;

receive at least one copy of the first fragment from the source device at a first time based on a delayed transmission by the source device of the at least one copy of the first fragment with respect to the transmission of the first fragment by the source device; wherein the transmission of the at least one copy of the first fragment is delayed with respect to the transmission of the first fragment by a first time period determined by the source device based on a characteristic of the packet;

receive at least one copy of the second fragment from the source device at a second time based on a delayed transmission by the source device of the at least one copy of the second fragment with respect to the transmission of the second fragment by the source device; wherein the transmission of the at least one copy of the second fragment is delayed with respect to the transmission of the second fragment by a second time period determined by the source device based on the characteristic of the packet; and

assemble the packet from a subset of the at least first fragment, the at least second fragment, the at least one copy of the first fragment, and the at least one copy of the second fragment.

33. The method of claim 1 , wherein the first packet is capable of being reassembled from at least one of the first fragment and the at least one fragment-copy of the first fragment and at least one of the second fragment and the at least one fragment-copy of the second fragment.

34. The method of claim 1 , wherein the first time period is different than the second time period.

35. The routing device of claim 16 , wherein the first packet is capable of being reassembled from at least one of the first fragment and the at least one fragment-copy of the first fragment and at least one of the second fragment and the at least one fragment-copy of the second fragment.

36. The routing device of claim 16 , wherein the first time period is different that the second time period.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY PREVIOUSLY RECORDED ON REEL 060221 FRAME 0806. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 10, 2023
From: OLOGN TECHNOLOGIES AG
To: SIX IMPOSSIBLE THINGS BEFORE BREAKFAST LIMITED
Reel/Frame 063602/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2022
From: OLOGN TECHNOLOGIES AG
To: SIX IMPOSSIBLE THINGS BEFORE BREAKFAST
Reel/Frame 060221/0806 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2020
From: IGNATCHENKO, SERGEY
To: OLOGN TECHNOLOGIES AG
Reel/Frame 054053/0664 →
Continuity (7)
Continuation 15846680 · Dec 19, 2017
Continuation 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 20210058325A1 · Feb 25, 2021
Cited By (1)
US 12,700,945