US 12,267,293 B2
Network address translation for virtual machines
Evan K. Anderson, Seattle, WA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Jan. 17, 2024, as Appl. No. 18/415,635.
Application 18/415,635 is a continuation of application No. 17/092,192, filed on Nov. 6, 2020, granted, now 11,909,712.
Application 17/092,192 is a continuation of application No. 16/158,534, filed on Oct. 12, 2018, granted, now 10,855,652, issued on Dec. 1, 2020.
Application 16/158,534 is a continuation of application No. 15/001,471, filed on Jan. 20, 2016, granted, now 10,122,681, issued on Nov. 6, 2018.
Application 15/001,471 is a continuation of application No. 13/350,398, filed on Jan. 13, 2012, granted, now 9,258,271, issued on Feb. 9, 2016.
Claims priority of provisional application 61/432,561, filed on Jan. 13, 2011.
Prior Publication US 2024/0154930 A1, May 9, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 61/256 (2022.01); G06F 9/455 (2018.01); H04L 49/00 (2022.01); H04L 61/2503 (2022.01); H04L 61/2517 (2022.01); H04L 61/2521 (2022.01); H04L 61/255 (2022.01); H04L 67/1001 (2022.01); H04L 69/16 (2022.01); H04L 69/22 (2022.01); H04L 101/604 (2022.01)
CPC H04L 61/256 (2013.01) [G06F 9/45558 (2013.01); H04L 49/3009 (2013.01); H04L 61/2503 (2013.01); H04L 61/2517 (2013.01); H04L 61/2535 (2013.01); H04L 61/255 (2013.01); H04L 67/1001 (2022.05); H04L 69/16 (2013.01); H04L 69/22 (2013.01); G06F 2009/45595 (2013.01); H04L 2101/604 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method when executed by data processing hardware of a gateway module associated with a virtual private network causes the data processing hardware to perform operations comprising:
receiving, from a client external to the virtual private network, a packet to be sent to one of a plurality of virtual machines executing on the virtual private network, each respective virtual machine associated with a corresponding internal internet protocol (IP) address, the packet comprising:
a destination IP address associated with the gateway module; and
a destination port;
determining a load balancing scheme based on the destination port;
selecting a respective one of the virtual machines from among the plurality of virtual machines based on the load balancing scheme;
replacing the destination IP address of the packet with the corresponding internal IP address associated with the respective one of the virtual machines; and
sending the packet to the corresponding internal IP address associated with the respective one of the virtual machines.