IP Library Granted Patent US 7,480,938
Granted Patent B2
US 7,480,938 · App. 11/317,323 · Granted Jan 20, 2009

System and method for secure dual channel communication through a firewall

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 7,480,938
App. No.
11/317,323
Granted
Jan 20, 2009
Kind
B2
Abstract

A server including a dual channel communications module operable to establish a communication session between the server and a client is provided. The server may be operable to receive a dual channel communication packet from the client. In a particular embodiment, the dual channel communication packet may include a header in a data payload. The header includes a client external IP address, and the data payload includes an encoded port command having a client internal IP address and a client data port number. A codec operable to decode the port command may also be provided. The server may also include a translation module for retrieving the client external IP address from the header. In a particular embodiment, the server is operable to establish data channel coordinates including the client external IP address, the client data port number, a server internal IP address and a server data port number.

Claims (60)

1. A method for communicating between a first peer and a second peer, the method comprising:

receiving, at the second peer, an IP Packet from the first peer, the IP packet including a header and a data payload;

the header including a first IP address of the first peer and the data payload including an encrypted portion with a second IP address of the first peer;

decrypting the encrypted portion of the data payload;

retrieving the second IP address of the first peer from the data payload;

retrieving the first IP address of the first peer from the header; and

replacing, at the second peer, the second IP address of the first peer of the data payload with the first IP address of the first peer; and

processing the data payload with the first IP address of the first peer.

2. The method of claim 1 , wherein

the data payload with the second IP address of the first peer comprises a port command;

the data payload with the first IP address of the first peer comprises a modified port command; and

processing the data payload with the first IP address of the first peer includes using the modified port command to establish a data socket between the first and second peers.

3. The method of claim 1 , further comprising:

receiving, at a firewall, the IP Packet from the first peer, the header of the IP packet including the second IP address of the first peer;

replacing, at the firewall, the second IP address of the first peer of the header with the first IP address of the first peer; and

transmitting the IP packet to the second peer.

4. The method of claim 3 , further comprising:

receiving, at a second firewall, the IP Packet from the first firewall, the header of the IP packet including a first IP address of the second peer;

replacing, at the second firewall, the first IP address of the second peer of the header with a second IP address of the second peer; and

transmitting the IP packet to the second peer.

5. The method of claim 1 , further comprising:

receiving, at a firewall, the IP Packet from the first peer, the header of the IP packet including a first IP address of the second peer;

replacing, at the firewall, the first IP address of the second peer of the header with a second IP address of the second peer; and

transmitting the IP packet to the second peer.

6. The method of claim 1 , wherein the first peer is a client.

7. The method of claim 6 , wherein the second peer is a server.

8. The method of claim 1 , wherein the first peer is a server.

9. The method of claim 8 , wherein the second peer is a client.

10. A communication system comprising:

a first peer comprising:

a communications module configured to receive a dual communication packet from a second peer over a first channel, the dual communication packet including a header having a second peer external IP address and a data payload having an encrypted portion with a second peer internal IP address and a second peer data port number;

a codec configured to decrypt the encrypted portion;

a translation module configured to retrieve the second peer external IP address from the header and to replace the second peer internal IP address of the data payload with the second peer external IP address; and

the system configured to process the data payload with the second peer external IP address to establish a second channel.

11. The communication system of claim 10 , further comprising a file transfer protocol (FTP) communication module wherein the communication session between the first peer and the second peer over the second channel is conducted in secure FTP.

12. The communication system of claim 10 , wherein the codec is configured to decrypt based on secure socket layer (SSL) encryption technology.

13. The communication system of claim 10 , wherein the first peer is a client.

14. The communication system of claim 13 , wherein the second peer is a server.

15. The communication system of claim 10 , wherein the first peer is a server.

16. The communication system of claim 15 , wherein the second peer is a client.

17. A method for communicating between a first peer and a second peer, the method comprising:

receiving, at the second peer, an IP Packet from the first peer, the IP packet including a header and a data payload including a port command;

the header including a first IP address of the first peer and the port command including an encrypted second IP address of the first peer;

decrypting the encrypted second IP address of the first peer;

retrieving the first IP address of the first peer from the header;

generating a modified port command including the first IP address of the first peer in place of the second IP address of the first peer; and

replacing the decrypted port command in the data payload with the modified port command; and

processing the payload with the second IP address of the first peer to establish a data socket between the first and second peers.

18. The method of claim 17 , further comprising:

receiving, at a first firewall, the IP Packet from the first peer, the header of the IP packet including the second IP address of the first peer;

replacing, at the first firewall, the second IP address of the first peer of the header with the first IP address of the first peer; and

transmitting the IP packet to the second peer.

19. The method of claim 18 , further comprising:

receiving, at a second firewall, the IP Packet from the first firewall, the header of the IP packet including a first IP address of the second peer;

replacing, at the second firewall, the first IP address of the second peer of the header with a second IP address of the second peer; and

transmitting the IP packet to the second peer.

20. The method of claim 17 , further comprising:

receiving, at a firewall, the IP Packet from the first peer, the header of the IP packet including a first IP address of the second peer;

replacing, at the firewall, the first IP address of the second peer of the header with a second IP address of the second peer; and

transmitting the IP packet to the second peer.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2021
From: SOFTWARE LABS CAMPUS UNLIMITED COMPANY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 056396/0942 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2020
From: IBM TECHNOLOGY CORPORATION
To: SOFTWARE LABS CAMPUS UNLIMITED COMPANY
Reel/Frame 053452/0537 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOULY LISTED PATENT ON THE SCHEDULE A. PATENT NUMBER 7,792,767 WAS REMOVED FROM THE SCHEDULE A. PREVIOUSLY RECORDED AT REEL: 051170 FRAME: 0255. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 19, 2020
From: IBM INTERNATIONAL GROUP B.V.
To: IBM INTERNATIONAL C.V.
Reel/Frame 052190/0394 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTEDPATENT ON THE SCHEDULE A. PATENT NUMBER 7,792,767WAS REMOVED FROM THE SCHEDULE A PREVIOUSLY RECORDED ON REEL 051170 FRAME 0722. ASSIGNOR(S) HEREBY CONFIRMS THE PATENTNUMBER 7,792,767 WAS ERRONEOUSLY LISTED ON THESCHEDULE A. Recorded Mar 19, 2020
From: IBM INTERNATIONAL L.P.
To: IBM TECHNOLOGY CORPORATION
Reel/Frame 052190/0464 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUS LISTED PATENT NUMBER 7,792,767 ON THE SCHEDULE A PREVIOUSLY RECORDED AT REEL: 051170 FRAME: 0745. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 19, 2020
From: IBM INTERNATIONAL C.V.
To: IBM INTERNATIONAL L.P.
Reel/Frame 052190/0986 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2019
From: IBM INTERNATIONAL GROUP B.V.
To: IBM INTERNATIONAL C.V.
Reel/Frame 051170/0255 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2019
From: IBM INTERNATIONAL L.P.
To: IBM TECHNOLOGY CORPORATION
Reel/Frame 051170/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2019
From: IBM INTERNATIONAL C.V.
To: IBM INTERNATIONAL L.P.
Reel/Frame 051170/0745 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2011
From: STERLING COMMERCE, INC.
To: IBM INTERNATIONAL GROUP BV
Reel/Frame 027024/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2006
From: MINNIG, JEFFREY T.; PULLEN, GLENN L.
To: STERLING COMMERCE, INC.
Reel/Frame 017647/0877 →