Network protocol proxy
First Claim
Patent Images
1. A method of managing a plurality of network connections, the method comprising:
- by a computer system comprising computer hardware;
receiving a message from an application for transmission over a network;
determining a characteristic of the application;
selecting a number of parallel logical network connections to establish based at least partly on the application characteristic;
establishing the parallel logical network connections to a remote host system;
establishing a congestion control connection with the remote host system, wherein a network proxy implemented on a host system is configured to send test packets to a remote network proxy implemented on the remote host system;
monitoring, by at least one of the network proxy and the remote network proxy, the congestion control connection to determine a level of congestion; and
transmitting the message over the parallel logical network connections to the remote host system.
22 Assignments
0 Petitions
Accused Products
Abstract
A network proxy can be provided as a layer between an application layer protocol (such as the Remote Desktop Protocol) and a transport layer protocol (such as TCP). The network proxy can intercept communications between the application layer protocol and the transport layer protocol. The network proxy can transmit communications on multiple connections, without the application layer or transport layer protocols being aware of the parallelization.
-
Citations
22 Claims
-
1. A method of managing a plurality of network connections, the method comprising:
by a computer system comprising computer hardware; receiving a message from an application for transmission over a network; determining a characteristic of the application; selecting a number of parallel logical network connections to establish based at least partly on the application characteristic; establishing the parallel logical network connections to a remote host system; establishing a congestion control connection with the remote host system, wherein a network proxy implemented on a host system is configured to send test packets to a remote network proxy implemented on the remote host system; monitoring, by at least one of the network proxy and the remote network proxy, the congestion control connection to determine a level of congestion; and transmitting the message over the parallel logical network connections to the remote host system. - View Dependent Claims (2, 3, 4, 5)
-
6. A non-transitory computer-readable storage medium comprising computer-executable instructions configured to implement a method of managing a plurality of network connections, the method comprising:
-
receiving a message from an application for transmission over a network; determining a characteristic of the network; selecting a number of parallel logical network connections to establish based at least partly on the network characteristic; establishing the parallel logical network connections to a remote host system; establishing a congestion control connection with the remote host system, wherein a network proxy implemented on a host system is configured to send test packets to a remote network proxy implemented on the remote host system; monitoring, by at least one of the network proxy and the remote network proxy, the congestion control connection to determine a level of congestion; and transmitting the message over the parallel logical network connections to the remote host system. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A method of managing a plurality of network connections, the method comprising:
by computer system comprising computer hardware; receiving a message from an application for transmission over a network; establishing the parallel logical network connections to a remote host system; transmitting the message over the parallel logical network connections to the remote host system; establishing a congestion control connection with the remote host system, wherein a network proxy implemented on a host system is configured to send test packets to a remote network proxy implemented on the remote host system; monitoring, by at least one of the network proxy and the remote network proxy, one or more characteristics of at least one of the parallel logical network connections, the application, and the congestion control connection; and automatically adjusting one or more of the parallel logical network connections based at least in part on a change in the monitored characteristic; and transmitting the message over the parallel logical network connections to the remote host system. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
20. A system for managing a plurality of network connections, the system comprising:
a first network proxy implemented on a hardware appliance on a host computer system, the first network proxy comprising; an interceptor module configured to intercept data intended to be sent by an application to a remote host system over a single Transmission Control Protocol (TCP) connection, and a connections manager configured to; determine one or more characteristics of one or both of the application and the network; select a number of parallel TCP connections to establish in place of the single TCP connection based at least partly on the one or more characteristics; establish the parallel TCP connections to a second network proxy implemented in the remote host system, the parallel TCP connections being abstracted from the application; transmit a message over the parallel TCP connections to the remote host system; establish a congestion control connection with the second network proxy, wherein the first network proxy is configured to send test packets to the second network proxy; monitor, by at least one of the first network proxy and the second network proxy, one or more characteristics of at least one of the application, the network, and the congestion control connection, the one or more monitored characteristics comprising one or more of available bandwidth and latency; and automatically adjust one or more of the parallel TCP connections based on a change in the one or more monitored characteristics. - View Dependent Claims (21, 22)
Specification