IP Library Granted Patent US 11,050,587
Granted Patent B1
US 11,050,587 · App. 16/780,925 · Granted Jun 29, 2021

Multi-part TCP connection over VPN

Inventors: Emanuelis Norbutas (Vilnius, LT); Tomas Okmanas (Vilnius, LT); Marijus Briedis (Jurbarkai, LT)
Assignee: 360 IT, UAB
H04L12/4641H04L12/4633H04L47/36H04L65/1069
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,050,587
App. No.
16/780,925
Granted
Jun 29, 2021
Kind
B1
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 (61)

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, at 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, at the VPN concentrator, 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, and

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

2. The method of claim 1 , wherein the VPN concentrator calculates independent Round Trip Time (RTT) for the Second connection and for the Third connection.

3. The method of claim 1 , wherein either or both 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 the VPN user, during the TCP session, 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 , wherein the initiation request of the second connection is from the VPN user to a plurality of targets, the method further comprising:

establishing a corresponding plurality of third connections between the VPN concentrator and the plurality of targets; and

determining, at the VPN concentrator, a corresponding plurality of second MSS for each of the plurality of third connections for transfer of data from the plurality of targets to the VPN concentrator.

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

7. The method of claim 6 , wherein the converting comprises removing an encapsulation overhead from each of the first data packets.

8. The method of claim 7 , wherein the converting further comprises buffering, queueing, deconstruction and re-assembly of at least two of the first data packets to generate a second data packet of the second data packets.

9. The method of claim 1 , further comprising:

back-converting the second data packets with the second MSS received from the target, to the first data packets with the first MSS for being sent to the VPN user.

10. The method of claim 9 , wherein the back-converting comprises adding an encapsulation overhead to each of the first data packets.

11. The method of claim 10 ,

wherein the back-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.

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

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

establishing a VPN tunnel between a VPN concentrator and a VPN user, the VPN concentrator and the VPN user communicably coupled via a network;

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

terminating, at the VPN concentrator, the second connection;

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

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

receiving, at the VPN concentrator, over the second connection from the VPN user, a plurality of first IP datagrams, each comprising a first data payload, and an encapsulation overhead;

converting, at the VPN concentrator, the plurality of first IP datagrams to at least one second IP datagram comprising a second data payload, by removing the encapsulation overhead from each of the plurality of first IP datagrams; and

sending, from the VPN concentrator, the at least one second IP datagram over the third connection to the target,

wherein the second data payload is greater than the first data payload, and

wherein a second maximum segment size (MSS) for the at least one second IP datagram is communicated by the target to the VPN concentrator.

14. The method of claim 13 , wherein the converting further comprises:

incorporating, into the second data payload, a complete first data payload of one of the plurality of first IP datagrams and at least a part of first data payload of another of the plurality of first IP datagrams.

15. An apparatus for data transmission over a virtual private network (VPN), the apparatus comprising:

a VPN concentrator 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 the 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, at 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, at the VPN concentrator, 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, and

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

16. The apparatus of claim 15 , wherein the method further comprises converting, at the VPN concentrator, the first data packets received from the VPN user, to the second data packets for being sent to the target, the first data packets having the first MSS, and the second data packets having the second MSS.

17. The apparatus of claim 16 , wherein the converting comprises removing an encapsulation overhead from each of the first data packets.

18. The apparatus of claim 17 , wherein the converting further comprises buffering, queueing, deconstruction and re-assembly of at least two of the first data packets to generate a second data packet of the second data packets.

19. The apparatus of claim 15 , further comprising:

back-converting the second data packets with the second MSS received from the target, to the first data packets with the first MSS for being sent to the VPN user.

20. The apparatus of claim 19 , wherein the back-converting comprises adding an encapsulation overhead to each of the first data packets.

21. The apparatus of claim 20 , wherein the back-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.

22. The apparatus of claim 15 , further comprising at least maintaining or closing, at the VPN concentrator, the second connection or the third connection.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE FROM 360 IT, UAB TO UAB 360 IT PREVIOUSLY RECORDED ON REEL 56208 FRAME 643. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 6, 2025
From: NORBUTAS, EMANUELIS; OKMANAS, TOMAS; BRIEDIS, MARIJUS
To: UAB 360 IT
Reel/Frame 070441/0691 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2021
From: NORBUTAS, EMANUELIS; OKMANAS, TOMAS; BRIEDIS, MARIJUS
To: 360 IT, UAB
Reel/Frame 056208/0643 →
Cited By (2)
US 12,526,232 US 12,724,840