Systems and methods for dynamic connection paths for devices connected to computer networks
First Claim
1. A computer-implemented method for dynamically selecting a connection path between a client device and a server, the method comprising:
- receiving, over a network at a server, a connection request from a client device;
authenticating, by the server, the connection request from the client device, wherein the server authenticates the connection request by using a digital certificate stored on the client device, and wherein a copy of the digital certificate is stored in an authentication table;
determining, by the server, a first connection path for the authenticated client device based on the connection request, wherein the first connection path is determined based on a network congestion, wherein the network congestion includes latency and bandwidth measurements, and wherein the network congestion is determined by call-backs into a protocol stack;
establishing, by the server, a virtual tunnel between the authenticated client device and the server based on the first connection path;
determining, by the server, whether the first connection path for the authenticated client device is a new connection path based on the connection request;
storing, by the server, the first connection path to a connection database in association with the authenticated client device when the first connection path is determined to be new, the connection database including a plurality of connection paths between the client device and the server;
transferring data between the client device and the server using the first connection path; and
rerouting the transferring of data between the client device and the server using a second connection path based on determining an optimal connection path during the transferring of data.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for dynamically selecting a connection path between a client device and a server. One method includes receiving, over a network at a server, a connection request from a client device; authenticating, by the server, the connection request from the client device; determining, by the server, a connection path for the authenticated client device based on the connection request; determining, by the server, whether the connection path for the authenticated client device is a new connection path based on the connection request; and storing, by the server, the connection path to a connection database in association with the authenticated client device when the connection path is determined to be new, the connection database including a plurality of connection paths between the client device and the server.
43 Citations
17 Claims
-
1. A computer-implemented method for dynamically selecting a connection path between a client device and a server, the method comprising:
-
receiving, over a network at a server, a connection request from a client device; authenticating, by the server, the connection request from the client device, wherein the server authenticates the connection request by using a digital certificate stored on the client device, and wherein a copy of the digital certificate is stored in an authentication table; determining, by the server, a first connection path for the authenticated client device based on the connection request, wherein the first connection path is determined based on a network congestion, wherein the network congestion includes latency and bandwidth measurements, and wherein the network congestion is determined by call-backs into a protocol stack; establishing, by the server, a virtual tunnel between the authenticated client device and the server based on the first connection path; determining, by the server, whether the first connection path for the authenticated client device is a new connection path based on the connection request; storing, by the server, the first connection path to a connection database in association with the authenticated client device when the first connection path is determined to be new, the connection database including a plurality of connection paths between the client device and the server; transferring data between the client device and the server using the first connection path; and rerouting the transferring of data between the client device and the server using a second connection path based on determining an optimal connection path during the transferring of data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for dynamically selecting a connection path between a client device and a server, the system including:
-
a data storage device storing instructions for dynamically selecting a connection path between a client device and a server; and a processor configured to execute the instructions to perform a method including; receiving, over a network at a server, a connection request from a client device; authenticating, by the server, the connection request from the client device, wherein the server authenticates the connection request by using a digital certificate stored on the client device, and wherein a copy of the digital certificate is stored in an authentication table; determining, by the server, a first connection path for the authenticated client device based on the connection request, wherein the first connection path is determined based on a network congestion, wherein the network congestion includes latency and bandwidth measurements, and wherein the network congestion is determined by call-backs into a protocol stack; establishing, by the server, a virtual tunnel between the authenticated client device and the server based on the first connection path; determining, by the server, whether the first connection path for the authenticated client device is a new connection path based on the connection request; storing, by the server, the first connection path to a connection database in association with the authenticated client device when the first connection path is determined to be new, the connection database including a plurality of connection paths between the client device and the server; transferring data between the client device and the server using the first connection path; and rerouting the transferring of data between the client device and the server using a second connection path based on determining an optimal connection path during the transferring of data. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium storing program instructions for dynamically selecting a connection path between a client device and a server, wherein the program instructions are computer-executable to implement:
-
receiving, over a network at a server, a connection request from a client device; authenticating, by the server, the connection request from the client device, wherein the server authenticates the connection request by using a digital certificate stored on the client device, and wherein a copy of the digital certificate is stored in an authentication table; determining, by the server, a first connection path for the authenticated client device based on the connection request, wherein the first connection path is determined based on a network congestion, wherein the network congestion includes latency and bandwidth measurements, and wherein the network congestion is determined by call-backs into a protocol stack; establishing, by the server, a virtual tunnel between the authenticated client device and the server based on the first connection path; determining, by the server, whether the first connection path for the authenticated client device is a new connection path based on the connection request; storing, by the server, the first connection path to a connection database in association with the authenticated client device when the first connection path is determined to be new, the connection database including a plurality of connection paths between the client device and the server; transferring data between the client device and the server using the first connection path; and rerouting the transferring of data between the client device and the server using a second connection path based on determining an optimal connection path during the transferring of data. - View Dependent Claims (14, 15, 16, 17)
-
Specification