IP Library Granted Patent US 10,003,576
Granted Patent B2
US 10,003,576 · App. 15/180,329 · Granted Jun 19, 2018

Rule-based routing to resources through a network

Inventors: Chris Hopen (Shoreline, WA); Bryan Sauve (Fall City, WA); Paul Hoover (Seattle, WA); Bill Perry (Bloomington, IN)
Assignee: SONICWALL INC.
H04L63/0272G06F21/6218H04L12/4641H04L45/14H04L47/70H04L61/2007H04L63/029H04L63/10H04L67/327H04L63/101
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 10,003,576
App. No.
15/180,329
Granted
Jun 19, 2018
Kind
B2
Abstract

Techniques for determining which resource access requests are handled locally at a remote computer, and which resource access requests are routed or “redirected” through a virtual private network. One or more routing or “redirection” rules are downloaded from a redirection rule server to a remote computer. When the node of the virtual private network running on the remote computer receives a resource access request, it compares the identified resource with the rules. Based upon how the identified resource matches one or more rules, the node will determine whether the resource access request is redirected through the virtual private network or handled locally (e.g., retrieved locally from another network). A single set of redirection rules can be distributed to and employed by a variety of different virtual private network communication techniques.

Claims (57)

1. A method for routing requests to a resource in a computer network, the method comprising:

receiving, using hardware processor, a redirection rule list at a client device from a redirection rule server in the computer network, wherein the redirection rule list includes a redirection rule specifying that resource requests having an identified spoofed address are to be forwarded to a first resource server;

sorting the redirection rule list by the client device;

obtaining an existing Proxy Auto Configuration (PAC) file and logic associated with an evaluation logic template;

merging the sorted redirection rule list, the existing PAC file, and the logic associated with the evaluation logic template to create a new PAC file,

initializing a local circuit proxy at the client device;

registering the new PAC file to enable redirection of Virtual Private Network (VPN) resource access requests;

receiving a request to access a first resource at the first resource server in the computer network;

evaluating the request to access the first resource at the first resource server in the computer network via execution of the logic associated with the evaluation logic template included in the new PAC file to determine whether the request includes the identified spoofed address; and processing the evaluated request,

wherein the processing of the evaluated request when the evaluated request includes the identified spoofed address includes:

providing the identified spoofed address to the local circuit proxy at the client device for accessing the first resource at the first resource server in the computer network via a VPN connection based on the new PAC file that enables the redirection of the VPN resource access requests, wherein the identified spoofed address is mapped to a second address in the computer network that corresponds to the first resource at the first resource server in the computer network; and

forwarding the evaluated request to a server associated with the second address in the computer network according to the redirection rule mapping of the identified spoofed address to the second address, wherein the evaluated request is forwarded by the local circuit proxy at the client device over the computer network to the server associated with the second address in the computer network, and the first resource is accessed from the server in the computer network according to the redirection rule via the VPN connection based on the forwarded evaluated request; and wherein the processing of the evaluated request when the evaluated request does not include the identified spoofed address includes:

matching a resource identifier referenced in the evaluated request against an address rule list, and

redirecting the evaluated request via the local circuit proxy of the client device based on the matched resource identifier in the address rule list.

2. The method of claim 1 , wherein the request is from the application program executing at the client device.

3. The method of claim 1 , wherein the server is a proxy server that forwards the request to a VPN server.

4. The method of claim 1 , wherein the server that the request is forwarded to is a VPN server.

5. The method of claim 1 , wherein the request is forwarded through a firewall that protects at least the first resource at the computer network.

6. The method of claim 1 , wherein the first resource server and the server are a same computing device.

7. A non-transitory computer readable storage medium having embodied thereon a program that when executed by a processor performs operations comprising:

receiving a redirection rule list at a client device from a redirection rule server in a computer network, wherein the redirection rule list includes a redirection rule specifying that resource requests having an identified spoofed address are to be forwarded to a first resource server;

sorting the redirection rule list by the client device;

obtaining an existing Proxy Auto Configuration (PAC) file and logic associated with an evaluation logic template;

merging the sorted redirection rule list, the existing PAC file, and the logic associated with the evaluation logic template to create a new PAC file,

initializing a local circuit proxy at the client device;

registering the new PAC file to enable redirection of Virtual Private Network (VPN) resource access requests;

receiving a request to access a first resource at the first resource server in the computer network;

evaluating the request to access the first resource at the first resource server in the computer network via execution of the logic associated with the evaluation logic template included in the new PAC file to determine whether the request includes the identified spoofed address; and processing the evaluated request,

wherein the processing of the evaluated request when the evaluated request includes the identified spoofed address includes:

providing the identified spoofed address to the local circuit proxy at the client device for accessing the first resource at the first resource server in the computer network via a VPN connection based on the new PAC file that enables the redirection of the VPN resource access requests, wherein the identified spoofed address is mapped to a second address in the computer network that corresponds to the first resource at the first resource server in the computer network; and

forwarding the evaluated request to a server associated with the second address in the computer network according to the redirection rule mapping of the identified spoofed address to the second address, wherein the evaluated request is forwarded by the local circuit proxy at the client device over the computer network to the server associated with the second address in the computer network, and the first resource is accessed from the server in the computer network according to the redirection rule via the VPN connection based on the forwarded evaluated request; and wherein the processing of the evaluated request when the evaluated request does not include the identified spoofed address includes:

matching a resource identifier referenced in the evaluated request against an address rule list, and

redirecting the evaluated request via the local circuit proxy of the client device based on the matched resource identifier in the address rule list.

8. The non-transitory computer readable storage medium of claim 7 , wherein the request is from the application program at the client device.

9. The non-transitory computer readable storage medium of claim 7 , wherein the server is a proxy server that subsequently forwards the request to a VPN server.

10. The non-transitory computer readable storage medium of claim 7 , wherein the server that the request is forwarded to is a VPN server.

11. The non-transitory computer readable storage medium of claim 7 , wherein the request is forwarded through a firewall that protects at least the first resource at the computer network.

12. The non-transitory computer readable storage medium of claim 7 , wherein the first resource server and the server are a same computing device.

13. An apparatus for routing requests to a resource in a computer network, the apparatus comprising:

a memory;

a computer network interface of a client device that receives a redirection rule list from a redirection rule server in the computer network, wherein the redirection rule list includes a redirection rule specifying that resource requests having an identified spoofed address are to be forwarded to a first resource server;

a user interface that receives a request to access a first resource at the first resource server in the computer network;

a processor of the client device, wherein the processor of the client device:

sorts the redirection rule list received by the computer network interface of the client device,

obtains an existing Proxy Auto Configuration (PAC) file and logic associated with an evaluation logic template,

merges the sorted redirection rule list, the existing PAC file, and the logic associated with the evaluation logic template to create a new PAC file,

initializes a local circuit proxy at the client device,

registers the new PAC file to enable redirection of Virtual Private Network (VPN) resource access requests,

performs evaluation of the request to access the first resource at the first resource server in the computer network received by the user interface via execution of the logic associated with the evaluation logic template included in the new PAC file, and determines whether the request includes the identified spoofed address, and processes the evaluated request,

wherein when the evaluated request includes the identified spoofed address, the processor provides the identified spoofed address to the local circuit proxy at the client device for accessing the first resource at the first resource server in the computer network via a VPN connection, accesses the redirection rule list based on the new PAC file that enables the redirection of the VPN resource access requests, identifies that the redirection rule list maps the identified spoofed address to a second address that corresponds to the first resource at the first resource server in the computer network, and

forwards the evaluated request to a server associated with the second address in the computer network according to the redirection rule mapping of the identified spoofed address to the second address, wherein the evaluated request is forwarded by the local circuit proxy at the client device over the computer network to the server associated with the second address in the computer network, and the first resource is accessed from the server in the computer network according to the redirection rule via the VPN connection based on the forwarded evaluated request, and

wherein when the evaluated request does not include the spoofed address, the processor matches a resource identifier referenced in the evaluated request against an address rule list, and redirects the evaluated request via the local circuit proxy of the client device based on the matched resource identifier in the address rule list.

14. The apparatus of claim 13 , wherein the request is from an application program at the client device is executed by the processor out of the memory.

15. The apparatus of claim 13 , wherein the server that the request is forwarded to is a proxy server and the request is forwarded from the proxy server to a VPN server.

16. The apparatus of claim 13 , wherein the server that the request is forwarded to is a VPN server.

17. The apparatus of claim 13 , wherein the request is forwarded through a firewall that protects at least the first resource at the computer network.

18. The apparatus of claim 13 , wherein the first resource server and the server are a same computing device.

Assignments (18)
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2017
From: AVENTAIL LLC
To: SONICWALL US HOLDINGS INC.
Reel/Frame 043950/0437 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Nov 4, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; AVENTAIL LLC; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION
Reel/Frame 040564/0897 →
RELEASE OF SECURITY INTEREST Recorded Nov 4, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION
Reel/Frame 040564/0886 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF SEC. INT. IN PATENTS (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0329 →
RELEASE OF SEC. INT. IN PATENTS (NOTES) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040026/0710 →
RELEASE OF SEC. INT. IN PATENTS (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040013/0733 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 039719/0889 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 039644/0084 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 039643/0953 →
MERGER Recorded Jun 13, 2016
From: AVENTAIL CORPORATION
To: AVENTAIL LLC
Reel/Frame 038894/0880 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2016
From: HOPEN, CHRIS; SAUVE, BRYAN; HOOVER, PAUL; PERRY, BILL
To: AVENTAIL CORPORATION
Reel/Frame 038894/0838 →
Continuity (7)
Continuation 14477767 · Sep 4, 2014
Division 14061988 · Oct 24, 2013
Continuation 11251592 · Oct 14, 2005
Continuation In Part 11009692 · Dec 10, 2004
Provisional Application 60619151 · Oct 14, 2004
Provisional Application 60528870 · Dec 10, 2003
Related Publication 20160294778A1 · Oct 6, 2016
Cited By (1)
US 12,432,181