IP Library Granted Patent US 9,866,525
Granted Patent B2
US 9,866,525 · App. 15/464,310 · Granted Jan 9, 2018

Source-destination network address translation (SDNAT) proxy and method thereof

Inventors: Boris Figovsky (Hadera, IL); Alexander Fishman (Raanana, IL)
Assignee: Ravello Systems Ltd
H04L61/2528G06F9/45533H04L67/28H04L61/6068
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 9,866,525
App. No.
15/464,310
Granted
Jan 9, 2018
Kind
B2
Abstract

A proxy and method for performing source destination network address translation are presented. The method includes receiving a first message from a node communicatively connected to a first network to access a resource communicatively connected to a second network, wherein the first message contains at least a source address and a destination address used within the first network; translating the destination address designated in the first message to an address of the resource; generating a unique address for the destination address designated in the first message, wherein the unique address is an address not in use on the second network; providing a translated message including the translated destination address and the unique address; and forwarding the translated message to the resource communicatively connected to the second network.

Claims (47)

1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:

receiving a first message at a first node on a first network, the first message comprising a first source address corresponding to a second node on the first network and a first destination address corresponding to the first node, and the first message being destined for a resource on a virtual network;

selecting an unused address in the virtual network for use as a second source address for a second message to be transmitted on the virtual network;

translating (a) the first source address of the first message to the second source address in the virtual network and (b) the first destination address of the first message to a second destination address corresponding to the resource on the virtual network to generate the second message, the second message comprising the second source address on the virtual network and the second destination address on the virtual network;

transmitting the second message on the virtual network toward the second destination address on the virtual network.

2. The medium of claim 1 , wherein the operations further comprise:

receiving a third message, the third message comprising the second destination address as a source address and the second source address as a destination address;

transmitting the third message from the resource to the first node;

converting the third message to a fourth message, the fourth message comprising the first source address as a destination address and the first destination address as a source address; and

transmitting the fourth message on the first network, from the first node to the second node.

3. The medium of claim 1 , wherein the translation of the first destination address is performed using a stored mapping.

4. The medium of claim 1 , wherein the operations further comprise storing a mapping between the first source address and the second source address.

5. The medium of claim 1 , wherein the resource on the virtual network does not have access to the first network.

6. The medium of claim 1 , wherein the resource is a virtual machine component, and the virtual machine component and the virtual network are part of a virtual machine environment.

7. The medium of claim 6 , wherein the first network is external to the virtual machine environment.

8. A system comprising:

at least one device including a hardware processor;

the system configured to perform operations comprising:

receiving a first message at a first node on a first network, the first message comprising a first source address corresponding to a second node on the first network and a first destination address corresponding to the first node, and the first message being destined for a resource on a virtual network;

selecting an unused address in the virtual network for use as a second source address for a second message to be transmitted on the virtual network;

translating (a) the first source address of the first message to the second source address in the virtual network and (b) the first destination address of the first message to a second destination address corresponding to the resource on the virtual network to generate the second message, the second message comprising the second source address on the virtual network and the second destination address on the virtual network;

transmitting the second message on the virtual network toward the second destination address on the virtual network.

9. The system of claim 8 , wherein the operations further comprise:

receiving a third message, the third message comprising the second destination address as a source address and the second source address as a destination address;

transmitting the third message from the resource to the first node;

converting the third message to a fourth message, the fourth message comprising the first source address as a destination address and the first destination address as a source address; and

transmitting the fourth message on the first network, from the first node to the second node.

10. The system of claim 8 , wherein the translation of the first destination address is performed using a stored mapping.

11. The system of claim 8 , wherein the operations further comprise storing a mapping between the first source address and the second source address.

12. The system of claim 8 , wherein the resource on the virtual network does not have access to the first network.

13. The system of claim 8 , wherein the resource is a virtual machine component, and the virtual machine component and the virtual network are part of a virtual machine environment.

14. The system of claim 13 , wherein the first network is external to the virtual machine environment.

15. A method comprising:

receiving a first message at a first node on a first network, the first message comprising a first source address corresponding to a second node on the first network and a first destination address corresponding to the first node, and the first message being destined for a resource on a virtual network;

selecting an unused address in the virtual network for use as a second source address for a second message to be transmitted on the virtual network;

translating (a) the first source address of the first message to the second source address in the virtual network and (b) the first destination address of the first message to a second destination address corresponding to the resource on the virtual network to generate the second message, the second message comprising the second source address on the virtual network and the second destination address on the virtual network;

transmitting the second message on the virtual network toward the second destination address on the virtual network;

wherein the method is performed by at least one device including a hardware processor.

16. The method of claim 15 , wherein the method further comprises:

receiving a third message, the third message comprising the second destination address as a source address and the second source address as a destination address;

transmitting the third message from the resource to the first node;

converting the third message to a fourth message, the fourth message comprising the first source address as a destination address and the first destination address as a source address; and

transmitting the fourth message on the first network, from the first node to the second node.

17. The method of claim 15 , wherein the translation of the first destination address is performed using a stored mapping.

18. The method of claim 15 , wherein the method further comprises storing a mapping between the first source address and the second source address.

19. The method of claim 15 , wherein the resource is a virtual machine component, and the virtual machine component and the virtual network are part of a virtual machine environment.

20. The method of claim 19 , wherein the first network is external to the virtual machine environment.

Assignments (3)
CHANGE OF NAME Recorded Mar 4, 2021
From: RAVELLO SYSTEMS LTD.
To: ORACLE RAVELLO SYSTEMS LTD.
Reel/Frame 055489/0754 →
CHANGE OF NAME Recorded Mar 4, 2021
From: RAVELLO SYSTEMS LTD
To: ORACLE RAVELLO SYSTEMS LTD
Reel/Frame 055492/0005 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2021
From: FIGOVSKY, BORIS; FISHMAN, ALEXANDER
To: RAVELLO SYSTEMS LTD.
Reel/Frame 055427/0759 →
Continuity (3)
Continuation 14722441 · May 27, 2015
Provisional Application 62003032 · May 27, 2014
Related Publication 20170230330A1 · Aug 10, 2017