System and method for transferring data in high latency firewalled networks
First Claim
1. A system for increasing data transfer rates in a network comprising:
- a networked server device protected by a firewall and having a plurality of communication ports, wherein the plurality of communication ports comprise a communication port that receives connection requests through an existing opening in the firewall, the networked server device comprising;
a control process component configured to;
(a) listen for the connection requests on the communication port,(b) in response to a first connection request from a first client via the communication port, establish a first connection to the first client on the communication port,(c) in response to a second connection request from the first client via the communication port, establish a second connection to the first client on the communication port, and(d) cause data to be transmitted using the first connection on the communication port and the second connection on the communication port; and
a relay process component configured to;
(i) receive, from the control process component, a first transferred connection, wherein the first transferred connection is transferred from the first connection, wherein the relay process component manages the first transferred connection on the communication port,(ii) receive, from the control process component, a second transferred connection from the control process component, wherein the second transferred connection is transferred from the second connection, wherein the relay process component manages the second transferred connection on the communication port,(iii) establish a first relay connection internal to the firewall to one or more server processes, wherein the relay process component relays first communication between the one or more server processes and the first client via the first transferred connection on the communication port and the first relay connection, whereby the firewall uses the existing opening in the firewall to facilitate the first communication between the first client and the one or more server processes, and(iv) establish a second relay connection internal to the firewall to the one or more server processes, wherein the relay process component relays second communication between the one or more server processes and the first client via the second transferred connection on the at least one communication port and the second relay connection, whereby the firewall uses the existing opening in the firewall to facilitate the second communication between the first client and the one or more server processes.
6 Assignments
0 Petitions
Accused Products
Abstract
A system and method are provided for establishing multiple parallel connections between a client and a server on a single server port. Data may be transferred on the multiple parallel connections between the server and the client through an opening in a network firewall that corresponds to the single server port. A control process may accept N connection requests from a client then transfer each accepted connection to a relay process that manages that connection. Each relay process may relay data between the server and the client via the single server port. A single collective data transfer may be executed on the N parallel connections, thereby increasing throughput and data transfer rates. If the data transfer rate is primarily limited by network latency, using N parallel connections provides the advantage of increasing the data transfer rate by approximately a factor of N.
61 Citations
8 Claims
-
1. A system for increasing data transfer rates in a network comprising:
a networked server device protected by a firewall and having a plurality of communication ports, wherein the plurality of communication ports comprise a communication port that receives connection requests through an existing opening in the firewall, the networked server device comprising; a control process component configured to; (a) listen for the connection requests on the communication port, (b) in response to a first connection request from a first client via the communication port, establish a first connection to the first client on the communication port, (c) in response to a second connection request from the first client via the communication port, establish a second connection to the first client on the communication port, and (d) cause data to be transmitted using the first connection on the communication port and the second connection on the communication port; and a relay process component configured to; (i) receive, from the control process component, a first transferred connection, wherein the first transferred connection is transferred from the first connection, wherein the relay process component manages the first transferred connection on the communication port, (ii) receive, from the control process component, a second transferred connection from the control process component, wherein the second transferred connection is transferred from the second connection, wherein the relay process component manages the second transferred connection on the communication port, (iii) establish a first relay connection internal to the firewall to one or more server processes, wherein the relay process component relays first communication between the one or more server processes and the first client via the first transferred connection on the communication port and the first relay connection, whereby the firewall uses the existing opening in the firewall to facilitate the first communication between the first client and the one or more server processes, and (iv) establish a second relay connection internal to the firewall to the one or more server processes, wherein the relay process component relays second communication between the one or more server processes and the first client via the second transferred connection on the at least one communication port and the second relay connection, whereby the firewall uses the existing opening in the firewall to facilitate the second communication between the first client and the one or more server processes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
Specification