IP Library Granted Patent US 7,068,655
Granted Patent B2
US 7,068,655 · App. 09/881,595 · Granted Jun 27, 2006

Network address and/or port translation

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,068,655
App. No.
09/881,595
Granted
Jun 27, 2006
Kind
B2
Abstract

A method and apparatus for communicating data units (e.g., Internet Protocol or IP packets) between devices on one or more networks includes storing address and/or port translation information, and receiving a data unit having a source address and port and a destination address and port. Both the source and destination addresses and/or ports are translated, with the data unit containing the translated source and destination addresses and/or ports transmitted to a destination.

Claims (46)

1. A system capable of communicating with plural devices on one or more networks, comprising:

a storage module to store address and port translation information; and

a controller adapted to:

receive a data unit from a first network, the data unit having a source address, a source port, a destination address, and a destination port,

translate both the source address and the destination address of the data unit and both the source port and destination port of the data unit based on the address and port translation information,

partially create the address and port translation information in response to a request corresponding to a first Session Initiation Protocol (SIP) message to set up a communications session between a first device and a second device; and

complete the address and port translation information in response to a second request corresponding to a SIP acknowledgment message responsive to the first SIP message.

2. The system of claim 1 , wherein the address and port translation information contains a first address and port associated with a first device and a second address and port associated with a second device, the address and port translation information to map the first address and port to a first alias address and port and to map the second address and port to a second alias address and port.

3. The system of claim 1 , wherein the controller is adapted to further transmit the data unit containing the translated source address and source port and destination address and destination port to the first network or another network.

4. The system of claim 1 , wherein the data unit comprises an Internet Protocol (IP) header having a source IP address and a destination IP address, and a User Datagram Protocol (UDP) header having a source UDP port and a destination UDP port, and wherein the controller is adapted to translate both the source IP address and destination IP address and both the source UDP port and destination UDP port.

5. The system of claim 1 , wherein the data unit contains Real-Time Protocol data.

6. The system of claim 1 , wherein the controller comprises a media portal adapted to communicate data units containing media data between plural devices, the system further comprising an agent adapted to perform call control signaling to establish a call session in which the data units are communicated.

7. The system of claim 6 , wherein the agent is adapted to communicate requests to the controller to dynamically create and update the address and port translation information in a call session.

8. The system of claim 1 , wherein the data unit comprises a data unit to be communicated between at least two devices in a call session.

9. The system of claim 1 , wherein the first SIP message comprises a SIP Invite message, and the SIP acknowledgment message comprises a SIP OK message.

10. A method of communicating between two endpoints, comprising:

in a communications portal, providing a first interface to a first device and providing a second interface to a second device;

transporting data units, through the communications portal, between the first device and the second device;

the communications portal hiding an address of the first device from the second device and hiding an address of the second device from the first device;

storing address translation information;

translating both a source address and a destination address of each data unit;

partially creating the address translation information in response to a first Session Initiation Protocol (SIP) message to set up a communications session between the first device and the second device; and

completing the address translation information in response to a SIP acknowledgment message responsive to the first SIP message.

11. The method of claim 10 , wherein storing the address translation information comprises storing a first device address associated with the first device and a second device address associated with the second device, and storing a first alias address mapped to the first device address and a second alias address mapped to the second device address.

12. The method of claim 11 , wherein providing the first interface comprises providing the second alias address to represent the second device to the first device, and providing the second interface comprises providing the first alias address to represent the first device to the second device.

13. The method of claim 10 , further comprising:

storing port translation information; and

translating both a source port and a destination port of each data unit.

14. The method of claim 13 , wherein translating the source address and destination address of each data unit and translating the source port and destination port of each data unit is performed by the communications portal.

15. The method of claim 13 , wherein translating the source and destination addresses and ports comprises translating Internet Protocol addresses and User Datagram Protocol ports.

16. An article comprising at least one storage medium containing instructions that when executed cause a system to:

store address translation information;

receive a data unit containing a source address and a destination address;

translate both the source and destination addresses of the data unit based on the address translation information;

partially create the address translation information in response to a first request corresponding to a first Session Initiation Protocol (SIP) message to set up a communications session between a first terminal and second terminal; and

complete the address translation information in response to a second request corresponding to a SIP acknowledgment message responsive to the first SIP message.

17. The article of claim 16 , wherein the instructions when executed cause the system to further store the address translation information as an entry in an address translation table having plural entries.

18. The article of claim 17 , wherein the instructions when executed cause the system to use different entries of the address translation table for different communications sessions.

19. The article of claim 16 , wherein the instructions when executed cause the system to transmit the data unit with the translated source and destination addresses.

20. The article of claim 16 , wherein the instructions when executed cause the system to further store port translation information, and to translate both the source and destination port of the data unit based on the port translation information.

21. The article of claim 16 , wherein the instructions when executed cause the system to receive the data unit comprising an Internet Protocol packet.

22. The article of claim 16 , wherein the instructions when executed cause the system to further:

allocate an address for the communications session, the address being part of the address translation information; and

deallocate the address in response to termination of the communications session.

23. The article of claim 22 , wherein the instructions when executed cause the system to further use the deallocated address for another communications session as needed.

24. The article of claim 16 , wherein the first SIP message comprises a SIP Invite message, and the SIP acknowledgment message comprises a SIP OK message.

Assignments (15)
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 044978/0801 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058949/0497 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Dec 29, 2017
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: GENBAND US LLC
Reel/Frame 044986/0303 →
CORRECTIVE ASSIGNMENT TO CORRECT PATENT NO. 6381239 PREVIOUSLY RECORDED AT REEL: 039269 FRAME: 0234. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Jan 3, 2017
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 041422/0080 →
RELEASE AND REASSIGNMENT OF PATENTS Recorded Jul 7, 2016
From: COMERICA BANK, AS AGENT
To: GENBAND US LLC
Reel/Frame 039280/0467 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2016
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 039269/0234 →
RELEASE OF SECURITY INTEREST Recorded Jan 10, 2014
From: ONE EQUITY PARTNERS III, L.P., AS COLLATERAL AGENT
To: GENBAND US LLC
Reel/Frame 031968/0955 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA, PREVIOUSLY RECORDED ON REEL 024879 FRAME 0519. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 30, 2012
From: NORTEL NETWORKS LIMITED; NORTEL NETWORKS CORPORATION
To: GENBAND US LLC
Reel/Frame 027992/0443 →
SECURITY AGREEMENT Recorded Nov 9, 2010
From: GENBAND US LLC
To: COMERICA BANK
Reel/Frame 025333/0054 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2010
From: NORTEL NETWORKS CORPORATION
To: GENBAND US LLC
Reel/Frame 024879/0519 →
PATENT SECURITY AGREEMENT Recorded Jun 18, 2010
From: GENBAND US LLC
To: ONE EQUITY PARTNERS III, L.P., AS COLLATERAL AGENT
Reel/Frame 024555/0809 →
CHANGE OF NAME Recorded Jun 2, 2010
From: GENBAND INC.
To: GENBAND US LLC
Reel/Frame 024468/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2001
From: MARCH, SEAN W.; SOLLEE, PATRICK N.; MCKNIGHT, DAVID W.
To: NORTEL NETWORKS LIMITED
Reel/Frame 011917/0260 →