IP Library › Granted Patent US 12,335,351
Granted Patent B1
US 12,335,351 · App. 18/968,906 · Granted Jun 17, 2025

Edge networks for surrogate browsing and direct traffic via proxy

Inventors: Rumen Nikolov Telbizov (Burnaby, CA); Matthew Gordon Mercer (Rossland, CA); Christopher Turra (Port Coquitlam, CA); Omid Ehtemam-Haghighi (North Saanich, CA); Hugo Marius Slabbert (Mission, CA)
Assignee: Menlo Security, Inc.
H04L67/56H04L12/4633H04L45/306
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 12,335,351
App. No.
18/968,906
Granted
Jun 17, 2025
Kind
B1
Abstract

Edge networks for surrogate browsing and direct traffic via proxy are disclosed. A first server processes a received first IPv4 packet into an encapsulation. The encapsulation is sent to a second server. The second server determines a third server to which the encapsulation should be routed and transmits it. The third server processes the encapsulation, selects a public IP address, and transmits a second IPv4 packet using the selected public IP address as a source address of the second IPv4 packet.

Claims (49)

1. A system, comprising:

a first server, comprising at least one processor and at least one memory, configured to:

process a received first IPv4 packet, including by:

inserting data into an IPV4 field of the first IPv4 packet to form an augmented IPv4 packet;

translating the augmented IPv4 packet to a first IPv6 packet, wherein the first IPv6 packet includes the inserted data; and

encapsulating the first IPv6 packet to form an encapsulation; and

transmit the encapsulation to a second server;

the second server, configured to:

receive the encapsulation from the first server; and

determine a third server to which the encapsulation should be routed and transmit the encapsulation to the third server; and

the third server, configured to:

receive the encapsulation from the second server;

process the encapsulation to form a second IPv6 packet;

translate the second IPv6 packet to a second IPv4 packet, including by stripping options data; and

select a public IP address and transmit the second IPv4 packet using the selected public IP address as a source address of the second IPv4 packet.

2. The system of claim 1 , wherein the IPV4 field comprises an IPV4 Options field.

3. The system of claim 2 , wherein translating the generated IPv4 packet includes translating the data inserted into the IPV4 Options field.

4. The system of claim 1 , wherein translating the generated IPv4 packet includes disambiguating the IPv4 packet.

5. The system of claim 1 , wherein inserting the data includes inserting a tenant identifier.

6. The system of claim 1 , wherein inserting the data includes inserting a consistency identifier.

7. The system of claim 1 , wherein inserting the data includes inserting a policy identifier.

8. The system of claim 1 , wherein inserting the data includes inserting a policy routing marker.

9. The system of claim 8 , wherein the policy routing marker comprises a consistency identifier and a policy identifier.

10. The system of claim 8 , wherein a given packet is dropped in the event the given packet is missing the policy routing marker.

11. The system of claim 1 , wherein the received first IPv4 packet has an associated policy requirement.

12. The system of claim 11 , wherein the policy requirement is determined by the first server.

13. The system of claim 11 , wherein the policy requirement includes a geolocation requirement.

14. The system of claim 11 , wherein the third server is configured to select the public IP address at least in part by evaluating the policy.

15. The system of claim 1 , wherein the third server is configured to select the public IP address at least in part based on the policy routing marker.

16. The system of claim 1 , wherein the first server is configured to use Geneve to perform the encapsulation.

17. The system of claim 1 , wherein at least one of the servers has an eBPF kernel extension.

18. The system of claim 1 , wherein the received first IPv4 packet is part of a web session comprising a first TCP connection and second TCP connection, and wherein the second TCP connection is processed so as to maintain IP stickiness for the session.

19. The system of claim 1 , wherein the second server is configured to further encapsulate the encapsulation with Wireguard.

20. The system of claim 1 , wherein the second server is configured to provide IP space continuity via a failover datacenter.

21. A method, comprising:

at a first server:

processing a received first IPv4 packet, including by:

inserting data into an IPV4 field of the first IPv4 packet to form an augmented IPv4 packet;

translating the augmented IPv4 packet to a first IPv6 packet, wherein the first IPv6 packet includes the inserted data; and

encapsulating the first IPv6 packet to form an encapsulation; and

transmit the encapsulation to a second server;

at the second server:

receiving the encapsulation from the first server; and

determining a third server to which the encapsulation should be routed and transmit the encapsulation to the third server; and

at the third server:

receiving the encapsulation from the second server;

processing the encapsulation to form a second IPv6 packet;

translating the second IPv6 packet to a second IPv4 packet, including by stripping options data; and

selecting a public IP address and transmit the second IPv4 packet using the selected public IP address as a source address of the second IPv4 packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2025
From: TELBIZOV, RUMEN NIKOLOV; MERCER, MATTHEW GORDON; TURRA, CHRISTOPHER; EHTEMAM-HAGHIGHI, OMID; SLABBERT, HUGO MARIUS
To: MENLO SECURITY, INC.
Reel/Frame 070325/0854 →
Continuity (2)
Provisional Application 63626318 · Jan 29, 2024
Provisional Application 63606540 · Dec 5, 2023
References Cited (17)
US 9391832B1 · Song · 2016 [cited by examiner]
US 10868881B1 · Chang · 2020 [cited by examiner]
US 11245731B1 · Guruswamy · 2022 [cited by examiner]
US 11611482B1 · Litty · 2023 [cited by examiner]
US 20050286553A1 · Wetterwald · 2005 [cited by examiner]
US 20070189329A1 · Latvala · 2007 [cited by examiner]
US 20100211780A1 · Mukkara · 2010 [cited by examiner]
US 20130223445A1 · Palani · 2013 [cited by examiner]
US 20130227165A1 · Liu · 2013 [cited by examiner]
US 20150067027A1 · Liu · 2015 [cited by examiner]
US 20160202673A1 · Ehtemam-Haghighi · 2016 [cited by examiner]
US 20200007585A1 · Williams · 2020 [cited by examiner]
US 20210168132A1 · Smith · 2021 [cited by examiner]
US 20210234901A1 · Thomas · 2021 [cited by examiner]
US 20220210072A1 · Dutta · 2022 [cited by examiner]
US 20230261984A1 · Dunbar · 2023 [cited by examiner]
US 20230275830A1 · Chen · 2023 [cited by examiner]