IP Library › Granted Patent US 11,394,582
Granted Patent B2
US 11,394,582 · App. 17/361,351 · Granted Jul 19, 2022

Multi-part TCP connection over VPN

Inventors: Emanuelis Norbutas (Vilnius, LT); Tomas Okmanas (Vilnius, LT); Marijus Briedis (Vilnius, LT)
Assignee: 360 IT, UAB
H04L12/4641H04L12/4633H04L47/36
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,394,582
App. No.
17/361,351
Granted
Jul 19, 2022
Kind
B2
Abstract

A method for improving VPN service transmission quality is disclosed where end-to-end TCP connections, occurring over a VPN tunnel, are terminated at the VPN concentrator and converted into multi-part TCP connections with MSS parameter set independently for each part of the connectivity. To facilitate the termination and multi-part connection management a packet processing software may be implemented as part of the VPN concentrator functionality or as an independent component.

Claims (55)

1. A method for transmitting data over a VPN connection, the method comprising:

receiving, at a VPN concentrator, from a VPN user, an initiation request of a second connection to a target communicably coupled to the VPN concentrator;

terminating, at the VPN concentrator, the second connection;

establishing the second connection between the VPN concentrator and the VPN user, the second connection across a VPN tunnel between the VPN concentrator and the VPN user;

determining, between the VPN user device and the VPN concentrator, a first maximum segment size (MSS) for first data packets for transfer over the second connection;

establishing, between the VPN concentrator and the target, a third connection;

determining, between the VPN concentrator and the target, a second MSS for second data packets for transfer from the target to the VPN concentrator over the third connection;

transmitting, between the VPN concentrator and the VPN user, the first data packets with the first MSS over the second connection; and

transmitting, between the VPN concentrator and the target, the second data packets over the third connection,

wherein a second data payload of each of the second data packets, is greater than a first data payload of each of the first data packets,

wherein the first MSS is communicated by the user device to the VPN concentrator, and

wherein the second MSS is communicated by the VPN concentrator to the target.

2. The method of claim 1 , wherein the VPN concentrator calculates an independent round trip time (RTT) for at least one of the second connection, or the third connection.

3. The method of claim 1 , wherein either or both of the second connection or the third connection is one of a cross-continental connection, a long-distance connection, or is used to send data packets greater than 1500 bytes.

4. The method of claim 1 , wherein during the TCP session, the VPN user requests content from a plurality of targets, and wherein the VPN concentrator initiates a corresponding number of third connections to each of the plurality of Targets, each of the corresponding number of third connections with the second MSS.

5. The method of claim 1 , further comprising converting, at the VPN concentrator, the second data packets received from the target to the first data packets for being sent to the VPN user, the first data packets having the first MSS, and the second data packets having the second MSS.

6. The method of claim 5 , wherein the converting comprises adding an encapsulation overhead to each of the second data packets.

7. The method of claim 6 , wherein the converting further comprises buffering, queueing, deconstructing and reassembling a second data packet of the second data packets to generate a first data packet of the first data packets.

8. The method of claim 1 , further comprising at least maintaining or closing, at the VPN concentrator, the second connection and third connection.

9. An apparatus for transmitting data over a VPN connection, the apparatus comprising:

at least one processor; and

a memory coupled to the at least one processor, the memory comprising computer executable instructions, which when executed using the at least one processor, performs a method comprising:

receiving, at a VPN concentrator, from a VPN user, an initiation request of a second connection to a target communicably coupled to the VPN concentrator,

terminating, at the VPN concentrator, the second connection,

establishing the second connection between the VPN concentrator and the VPN user, the second connection across a VPN tunnel between the VPN concentrator and the VPN user,

determining, between the VPN user device and the VPN concentrator, a first maximum segment size (MSS) for first data packets for transfer over the second connection,

establishing, between the VPN concentrator and the target, a third connection,

determining, between the VPN concentrator and the target, a second MSS for second data packets for transfer from the target to the VPN concentrator over the third connection,

transmitting, between the VPN concentrator and the VPN user, the first data packets with the first MSS over the second connection, and

transmitting, between the VPN concentrator and the target, the second data packets over the third connection,

wherein a second data payload of each of the second data packets, is greater than a first data payload of each of the first data packets,

wherein the first MSS is communicated by the user device to the VPN concentrator, and

wherein the second MSS is communicated by the VPN concentrator to the target.

10. The method of claim 9 , wherein the VPN concentrator calculates an independent round trip time (RTT) for at least one of the second connection, or the third connection.

11. The method of claim 9 , wherein either or both of the second connection or the third connection is one of a cross-continental connection, a long-distance connection, or is used to send data packets greater than 1500 bytes.

12. The method of claim 9 , wherein during the TCP session, the VPN user requests content from a plurality of targets, and wherein the VPN concentrator initiates a corresponding number of third connections to each of the plurality of Targets, each of the corresponding number of third connections with the second MSS.

13. The method of claim 9 , further comprising converting, at the VPN concentrator, the second data packets received from the target to the first data packets for being sent to the VPN user, the first data packets having the first MSS, and the second data packets having the second MSS.

14. The method of claim 13 , wherein the converting comprises adding an encapsulation overhead to each of the second data packets.

15. The method of claim 14 , wherein the converting further comprises buffering, queueing, deconstructing and reassembling a second data packet of the second data packets to generate a first data packet of the first data packets.

16. The method of claim 9 , further comprising at least maintaining or closing, at the VPN concentrator, the second connection and third connection.

17. A non-transitory computer readable medium comprising executable instructions, which when executed using at least one processor, cause the at least one processor to perform a method for transmitting data over a VPN connection, the method comprising:

receiving, at a VPN concentrator, from a VPN user, an initiation request of a second connection to a target communicably coupled to the VPN concentrator;

terminating, at the VPN concentrator, the second connection;

establishing the second connection between the VPN concentrator and the VPN user, the second connection across a VPN tunnel between the VPN concentrator and the VPN user;

determining, between the VPN user device and the VPN concentrator, a first maximum segment size (MSS) for first data packets for transfer over the second connection;

establishing, between the VPN concentrator and the target, a third connection;

determining, between the VPN concentrator and the target, a second MSS for second data packets for transfer from the target to the VPN concentrator over the third connection;

transmitting, between the VPN concentrator and the VPN user, the first data packets with the first MSS over the second connection; and

transmitting, between the VPN concentrator and the target, the second data packets over the third connection,

wherein a second data payload of each of the second data packets, is greater than a first data payload of each of the first data packets,

wherein the first MSS is communicated by the user device to the VPN concentrator, and

wherein the second MSS is communicated by the VPN concentrator to the target.

18. The method of claim 17 , wherein the VPN concentrator calculates an independent round trip time (RTT) for at least one of the second connection, or the third connection.

19. The method of claim 17 , wherein either or both of the second connection or the third connection is one of a cross-continental connection, a long-distance connection, or is used to send data packets greater than 1500 bytes.

20. The method of claim 17 , wherein during the TCP session, the VPN user requests content from a plurality of targets, and wherein the VPN concentrator initiates a corresponding number of third connections to each of the plurality of Targets, each of the corresponding number of third connections with the second MSS.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE FROM 360 IT, UAB TO UAB 360 IT PREVIOUSLY RECORDED ON REEL 61770 FRAME 201. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 6, 2025
From: NORBUTAS, EMANUELIS; OKMANAS, TOMAS; BRIEDIS, MARIJUS
To: UAB 360 IT
Reel/Frame 070441/0651 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2022
From: NORBUTAS, EMANUELIS; OKMANAS, TOMAS; BRIEDIS, MARIJUS
To: 360 IT, UAB
Reel/Frame 061770/0201 →
Continuity (2)
Continuation In Part 16780925 · Feb 4, 2020
Related Publication 20210328832A1 · Oct 21, 2021