IP Library Granted Patent US 10,805,113
Granted Patent B2
US 10,805,113 · App. 16/532,727 · Granted Oct 13, 2020

Application transmission control protocol tunneling over the public internet

Inventors: Thanh Q. Ngo (Oregon City, OR); Samuel Revitch (Portland, OR)
Assignee: DH2I COMPANY
H04L12/4633G06F9/547H04L9/088H04L12/66H04L63/029H04L63/166H04L67/10H04L67/141H04L69/16H04L69/162H04L69/326
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,805,113
App. No.
16/532,727
Granted
Oct 13, 2020
Kind
B2
Abstract

Statically configured secure tunnels forward application-level Transmission Control Protocol (“TCP”) application data between servers using a User Datagram Protocol (“UDP”) channel. Applications operating on a server cluster can communicate with other applications on another server in the cluster over the public Internet using secure TCP connection forwarding through a single UDP datagram-oriented communication channel.

Claims (45)

1. A computer implemented method for transmission control protocol tunneling, the method comprising:

instituting a origin direct layer-4 Terminal Control Protocol (TCP) network route between a client application residing on an origin server and an origin tunnel gateway application residing on an origin gateway whereby client application data is transmitted to the origin tunnel gateway application using a TCP transport suitable format;

establishing a private and secure single User Datagram Protocol (UDP) datagram-orientated communication channel between the origin tunnel gateway application residing on the origin gateway and a destination tunnel gateway application residing on a destination gateway;

packaging, at the origin tunnel gateway application, client application data into a UDP transport suitable format;

forwarding, using the private and secure single UDP datagram-orientated communication channel, client application data from the origin tunnel gateway application to the destination tunnel gateway application using UDP;

repackaging, at the destination tunnel gateway application, client application data into the TCP transport suitable format; and

instituting, a destination direct layer-4 network TCP route between the destination tunnel gateway application residing on the destination gateway and a server application residing on a destination server whereby client application data is thereafter transmitted to the server application using TCP.

2. The computer implemented method for transmission control protocol tunneling according to claim 1 , wherein the origin tunnel gateway application includes one or more listening TCP sockets configured to accept application connections.

3. The computer implemented method for transmission control protocol tunneling according to claim 2 , wherein each connection accepted by the origin tunnel gateway application constitutes a separate communication session resulting in a separate TCP connection between the origin tunnel gateway application and the client application.

4. The computer implemented method for transmission control protocol tunneling according to claim 3 , responsive to a new connection being accepted by a listening TCP socket, signaling, by a pipe router and by a connection state machine both residing on the origin tunnel gateway application, to the destination tunnel gateway application to initiate a new outbound TCP connection to the server application.

5. The computer implemented method for transmission control protocol tunneling according to claim 4 , wherein the pipe router and the connection state machine encapsulate messages using Datagram Transport Layer Security (DTLS) protocols.

6. The computer implemented method for transmission control protocol tunneling according to claim 4 , responsive to the new outbound TCP connection to the server application being connected, further comprising transferring client application data between the client application on the origin server with the server application on the destination server via the private and secure single User Datagram Protocol (UDP) datagram-orientated communication channel.

7. The computer implemented method for transmission control protocol tunneling according to claim 1 , wherein the client application access is limited to the server application and wherein server application access is limited to the client application.

8. The computer implemented method for transmission control protocol tunneling according to claim 1 , wherein the origin tunnel gateway application and the destination tunnel gateway application manage one or more tunnel connections between the client application and the server application.

9. The computer implemented method for transmission control protocol tunneling according to claim 8 , wherein each tunnel connection may be with a unique application.

10. A non-transitory machine-readable storage medium having stored thereon instructions for performing a method, comprising machine executable code, which when executed by at least one machine, causes the machine to:

institute an origin direct layer-4 Terminal Control Protocol (TCP) network route between a client application residing on an origin server and an origin tunnel gateway application residing on an origin gateway whereby client application data is transmitted to the origin tunnel gateway application using a TCP transport suitable format;

establish a private and secure single User Datagram Protocol (UDP) datagram-orientated communication channel between the origin tunnel gateway application residing on the origin gateway and a destination tunnel gateway application residing on a destination gateway;

package, at the origin tunnel gateway application, client application data into a UDP transport suitable format;

forward, using the private and secure single UDP datagram-orientated communication channel, client application data from the origin tunnel gateway application to the destination tunnel gateway application using UDP;

repackage, at the destination tunnel gateway application, client application data into the TCP transport suitable format; and

institute a destination direct layer-4 network TCP route between the destination tunnel gateway application residing on the destination gateway and a server application residing on a destination server whereby client application data is transmitted to the server application using TCP.

11. The non-transitory machine-readable storage medium of claim 10 , wherein the origin tunnel gateway application includes one or more listening TCP sockets configured to accept client application connections.

12. The non-transitory machine-readable storage medium of claim 11 , wherein each connection accepted by the origin gateway application constitutes a separate communication session resulting in a separate TCP connection between the origin tunnel gateway application and the client application.

13. The non-transitory machine-readable storage medium of claim 12 , responsive to a new connection being accepted by a listening TCP socket, further comprising machine executable code which causes the machine to signal, by a pipe router and by a connection state machine both residing on the origin tunnel gateway application, to the destination tunnel gateway application to initiate a new outbound TCP connection to the server application.

14. The non-transitory machine-readable storage medium of claim 13 , wherein the pipe router and the connection state machine encapsulate messages using Datagram Transport Layer Security (DTLS) protocols.

15. The non-transitory machine-readable storage medium of claim 13 , responsive to the new outbound TCP connection to the server application being connected, further comprising machine executable code which causes the machine to transfer client application data between the client application on the origin server with the server application on the destination server via the private and secure single User Datagram Protocol (UDP) datagram-orientated communication channel.

16. The non-transitory machine-readable storage medium of claim 10 , further comprising machine executable code which causes the machine to limit access of the client application to the server application and limit access of the server application to the client application.

17. The non-transitory machine-readable storage medium of claim 11 , wherein the origin tunnel gateway and the destination tunnel gateway manage one or more tunnel connections between the client application and the server application.

18. The non-transitory machine-readable storage medium of claim 17 , wherein each tunnel connection may be with a unique application.

19. A computer system for transmission control protocol tunneling, the computer system comprising:

a machine capable of executing instructions embodied as software; and

a non-transitory storage media housing a plurality of software portions, wherein one of said software portions is configured to

institute a origin direct layer-4 Terminal Control Protocol (TCP) network route between a client application residing on an origin server and an origin tunnel gateway application residing on an origin gateway whereby client application data is transmitted to the origin tunnel gateway application using a TCP transport suitable format;

establish a private and secure single User Datagram Protocol (UDP) datagram-orientated communication channel between the origin tunnel gateway application residing on the origin gateway and a destination tunnel gateway application residing on a destination gateway;

package, at the origin tunnel gateway application, client application data into a UDP transport suitable format;

forward, using the private and secure single UDP datagram-orientated communication channel, client application data from the origin tunnel gateway application to the destination tunnel gateway application using UDP;

repackage, at the destination tunnel gateway application, client application data into the TCP transport suitable format; and

institute, a destination direct layer-4 network TCP route between the destination tunnel gateway application residing on the destination gateway and a server application residing on a destination server whereby client application data is transmitted to the server application using TCP.

20. The computer system of claim 19 , wherein the origin tunnel gateway application includes one or more listening TCP sockets configured to accept client application connections.

21. The computer system of claim 20 , wherein each connection accepted by the origin gateway application constitutes a separate communication session resulting in a separate TCP connection between the origin tunnel gateway application and the client application.

22. The computer system of claim 21 , responsive to a new connection being accepted by a listening TCP socket, further comprising a software portion configured to signal, by a pipe router and by a connection state machine both residing on the origin tunnel gateway application, to the destination tunnel gateway application to initiate a new outbound TCP connection to the server application.

23. The computer system of claim 22 , wherein the pipe router and the connection state machine encapsulate messages using Datagram Transport Layer Security (DTLS) protocols.

24. The computer system of claim 22 , responsive to the new outbound TCP connection to the server application being connected, further comprising a software portion configured to transfer client application data between the client application on the origin server with the server application on the destination server via the private and secure single User Datagram Protocol (UDP) datagram-orientated communication channel.

25. The computer system of claim 19 , further comprising a software portion configured to limit access of the client application to the server application and limit access of the server application to the client application.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Mar 17, 2022
From: MICHAEL C. MARTENSEN, P.C.
To: DH2I COMPANY
Reel/Frame 059294/0992 →
SECURITY INTEREST Recorded Aug 18, 2021
From: DH2I COMPANY
To: MICHAEL C. MARTENSEN, P.C.
Reel/Frame 057211/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2019
From: NGO, THANH Q.; REVITCH, SAMUEL
To: DH2I COMPANY
Reel/Frame 050175/0663 →