IP Library › Granted Patent US 10,791,052
Granted Patent B2
US 10,791,052 · App. 15/846,680 · Granted Sep 29, 2020

Systems, apparatuses and methods for network packet management

Inventor: Sergey Ignatchenko (Innsbruck, AT)
Assignee: OLogN Technologies AG
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 10,791,052
App. No.
15/846,680
Granted
Sep 29, 2020
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 (60)

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, a modified first packet further comprising a packet identifier field including a packet identifier;

generating, by the routing device, at least a first and a second fragment from the modified first packet, wherein the at least first and second fragments each comprise a subset of the modified first packet and whereby the modified first packet is capable of being reassembled from the at least first and second fragments, and wherein the at least first and second fragments each comprise a packet identifier field having a same packet identifier as the modified 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;

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 the 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 the 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 modified first packet to reflect an address of the target device, and wherein the at least first and second fragments comprise a target address field including the address of the target device.

9. The method of claim 1 , wherein the at least first and second fragments 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 at least first and second fragments 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 at least first and second fragments each further comprise a field indicating a total number of fragments comprising the modified 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 a modified first packet further comprising a packet identifier field including a packet identifier;

generate at least a first and a second fragment from the modified first packet, wherein the at least first and second fragments each comprise a subset of the modified first packet and whereby the modified first packet is capable of being reassembled from the at least first and second fragments, and wherein the at least first and second fragments each comprise a packet identifier field having a same packet identifier as the modified 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;

identify at least one characteristic of the first packet;

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 the processor is configured to delay transmission of the at least one fragment-copy of the first fragment with respect to transmission of the first fragment according to the first time period and delay transmission of the at least one fragment-copy of the second fragment with respect to transmission of the second fragment according to the 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 proxy 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 modified first packet to reflect an address of the target device, and wherein the at least first and second fragments comprise a target address field including the address of the target device.

24. The routing device of claim 16 , wherein the at least first and second fragments 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 to generate the at least first and second fragments, 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 at least first and second fragments each further comprise a field indicating a total number of fragments comprising the modified first packet.

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 Dec 19, 2017
From: IGNATCHENKO, SERGEY
To: OLOGN TECHNOLOGIES AG
Reel/Frame 044434/0706 →
Continuity (6)
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 20180123958A1 · May 3, 2018
Cited By (4)
US 12,212,492 US 12,224,990 US 12,238,003 US 12,700,945