IP Library Granted Patent US 8,667,145
Granted Patent B2
US 8,667,145 · App. 12/406,472 · Granted Mar 4, 2014

System and method for transferring data in high latency firewalled networks

Inventor: Ken Bowler (Manotick, CA)
Assignee: Signiant, Inc.
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 8,667,145
App. No.
12/406,472
Granted
Mar 4, 2014
Kind
B2
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.

Claims (33)

1. A networked server device configured to transfer one or more electronic files to or from a client, comprising:

a first communication port, wherein data transfer through the first communication port is permitted by a firewall;

a plurality of server ports;

a control process component that:

listens for a plurality of connection requests at the first communication port, wherein the plurality of connection requests have been originated by the client from a corresponding plurality of client ports of the client,

receives, from the client, the plurality of connection requests at the first communication port,

in response to the plurality of connection requests, establishes a plurality of client-side connections between the first communication port and the plurality of client ports of the client, and a plurality of server-side connections between the first communication port and the plurality of server ports of the networked server device, individual ones of the client-side connections and corresponding ones of the server-side connections forming complete client port to server port connections serving to connect individual ones of the client ports with individual ones of the server ports, wherein individual client port to server port connections correspond to individual ones of the plurality of connection requests, and

causes the one or more electronic files to be transferred in parallel using the plurality of client port to server port connections through the first communication port

a plurality of relay process components, wherein individual ones of the plurality of relay process components correspond to individual ones of the plurality of server-side connections, wherein individual ones of the relay process components:

receive, from the control process component, an individual one of the plurality of server-side connections, and

transfer at least part of the one or more electronic files through the first communication port such that the control process component is relieved from transferring the at least part of the one or more electronic files.

2. The networked server device of claim 1 , wherein the one or more electronic files are transferred from at least two server ports of the networked server device to at least two client ports of the client, wherein file transfer occurs in parallel.

3. The networked server device of claim 1 , wherein the one or more electronic files are transferred from at least two client ports of the client to at least two server ports of the networked server device, wherein file transfer occurs in parallel.

4. The networked server device of claim 1 , wherein the communication port of the networked server device is a communication port reserved for file transfer protocol (FTP) transactions.

5. The networked server device of claim 1 , wherein the plurality of server-side connections is limited to a negotiated number of available connections, wherein the negotiated number of available connections is determined through negotiation with the client.

6. A computer-implemented method for transferring one or more electronic files between a networked server device and a client, comprising:

listening, by a control process component of the networked server device, for a plurality of connection requests at a first communication port of the networked server device, wherein the plurality of connection requests have been originated by the client from a corresponding plurality of client ports of the client;

receiving the plurality of connection requests at the first communication port;

in response to the plurality of connection requests, establishing a plurality of client-side connections between the first communication port and the plurality of client ports of the client, and establishing a plurality of server-side connections between the first communication port and a plurality of server ports of the networked server device, individual ones of the client-side connections and corresponding ones of the server-side connections forming complete client port to server port connections serving to connect individual ones of the client ports with individual ones of the server ports, wherein individual client port to server port connections correspond to individual ones of the plurality of connection requests, wherein the plurality of server-side connections is established through a corresponding plurality of relay process components;

receiving, by individual ones of the relay process components, from the control process component, an individual one of the plurality of server-side connections; and

causing the one or more electronic files to be transferred in parallel using the plurality of client port to server port connections through the first communication port such that the control process component is relieved, by the individual ones of the relay process components, from transferring at least part of the one or more electronic files.

7. The computer-implemented method of claim 6 , wherein the one or more electronic files are transferred from at least two server ports to at least two client ports of the client, wherein file transfer occurs in parallel.

8. The computer-implemented method of claim 6 , wherein the one or more electronic files are transferred from at least two client ports of the client to at least two server ports, wherein the file transfer occurs in parallel.

9. The computer-implemented method of claim 6 , wherein the communication port of the networked server device is a communication port reserved for file transfer protocol (FTP) transactions.

10. The computer-implemented method of claim 6 , wherein the plurality of server-side connections is limited to a negotiated number of available connections, wherein the negotiated number of available connections is determined through negotiation with the client.

11. A computer-implemented method for transfer of one or more electronic files between a networked server device having a plurality of server ports and a client having a plurality of client ports, the computer-implemented method comprising:

listening, by a control process component of the networked server device, for a plurality of connection requests at a first communication port of the networked server device, wherein the plurality of connection requests have been originated by the client from a corresponding plurality of client ports of the client;

receiving the plurality of connection requests at the first communication port;

determining a number of available server-side connections with the networked server device through negotiations with the client;

in response to the plurality of connection requests from the client, establishing the determined number of available server-side connections, between the first communication port and the plurality of server ports, through a corresponding plurality of relay process components;

establishing a corresponding number of client-side connections between the first communication port and the plurality of client ports such that individual ones of the server-side connections and corresponding ones of the client-side connections form complete client port to server port connections serving to connect individual ones of the client ports with individual ones of the server ports, wherein individual client port to server port connections correspond to individual ones of the plurality of connection requests;

receiving, by individual ones of the plurality of relay process components, from the control process component, an individual one of the determined number of available server-side connections; and

causing the one or more electronic files to be transmitted in parallel using the plurality of client port to server port connections through the first communication port such that the control process component is relieved, by the individual ones of the relay process components, from transferring at least part of the one or more electronic files.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Dec 24, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY
To: SIGNIANT INC.
Reel/Frame 069674/0329 →
SECURITY INTEREST Recorded Dec 23, 2024
From: SIGNIANT INC.
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 069662/0739 →
TERMINATION AND RELEASE OF SECURITY Recorded Aug 19, 2021
From: ESCALATE CAPITAL PARTNERS SBIC III, LP
To: SIGNIANT INC.
Reel/Frame 057246/0957 →
SECURITY INTEREST Recorded Aug 18, 2021
From: SIGNIANT INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 057209/0893 →
AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 17, 2019
From: SIGNIANT INC.
To: SILICON VALLEY BANK
Reel/Frame 051325/0565 →
SECURITY INTEREST Recorded Sep 25, 2015
From: SIGNIANT INC.
To: ESCALATE CAPITAL PARTNERS SBIC III, LP
Reel/Frame 036654/0714 →
SECURITY AGREEMENT Recorded Sep 15, 2015
From: SIGNIANT INC.
To: SILICON VALLEY BANK
Reel/Frame 036627/0837 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2009
From: BOWLER, KEN
To: SIGNIANT, INC.
Reel/Frame 022414/0183 →
Continuity (2)
Continuation 10879586 · Jun 30, 2004
Related Publication 20090182846A1 · Jul 16, 2009