IP Library Granted Patent US 11,093,267
Granted Patent B2
US 11,093,267 · App. 16/691,055 · Granted Aug 17, 2021

Proxy auto config (PAC) file parser systems and methods

Inventor: Amandeep Singh (Surrey, CA)
Assignee: Zscaler, Inc.
G06F9/4552G06F9/44505G06F16/955H04L67/28
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 11,093,267
App. No.
16/691,055
Granted
Aug 17, 2021
Kind
B2
Abstract

Proxy Auto Config (PAC) file parser systems and methods enable file parsing on user devices without Just-in-Time (JIT) compilation in JavaScript, with a memory efficient implementation and with efficient performance. The PAC parser supports multi proxy connections, traffic rules (e.g., bypass/send to proxy, etc.) based on various PAC functions, etc. The PAC parser can be utilized on a user device with an enterprise application and with cloud-based services.

Claims (30)

1. A non-transitory computer-readable storage medium having computer-readable code stored thereon for programming a user device to perform steps of:

obtaining a Proxy Auto Config (PAC) file from a cloud service and initializing a PAC parser on the user device therewith, wherein the user device includes an operating system that does not support a Just-In-Time (JIT) compiler;

for a request to access a Uniform Resource Locator (URL), extracting a hostname and providing the hostname to the PAC parser; and

based on an Internet Protocol (IP) address associated with the hostname, one of i) sending the request direct to the Internet separate from the cloud service, ii) sending the request to a first proxy associated with the cloud service, and iii) sending the request to a second proxy associated with the cloud service, wherein the request is sent direct to the cloud service in response to the IP address being within a predetermined range.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the PAC parser performs a plurality of PAC functions that require the JIT compiler via a call to code implemented in a native language.

3. The non-transitory computer-readable storage medium of claim 1 , wherein the sending steps are performed based on a prefix of the IP address.

4. The non-transitory computer-readable storage medium of claim 1 , wherein the sending steps to the first proxy and the second proxy are performed based on the hostname.

5. The non-transitory computer-readable storage medium of claim 1 , wherein the cloud service is a cloud-based security system and the first proxy and the second proxy are based on rules of the cloud-based security system.

6. The non-transitory computer-readable storage medium of claim 5 , wherein the first proxy is for private traffic and the second proxy is for public traffic.

7. A user device comprising:

a network interface communicatively coupled to a network;

a processor communicatively coupled to the network interface; and

memory storing computer-executable instructions that, when executed, cause the processor to

obtain a Proxy Auto Config (PAC) file from a cloud service and initializing a PAC parser on the user device therewith;

for a request to access a Uniform Resource Locator (URL), extract a hostname and providing the hostname to the PAC parser; and

based on an Internet Protocol (IP) address associated with the hostname, one of i) send the request direct to the Internet separate from the cloud service, ii) send the request to a first proxy associated with the cloud service, and iii) send the request to a second proxy associated with the cloud service, wherein the request is sent direct to the cloud service in response to the IP address being within a predetermined range,

wherein the user device includes an operating system that does not support Just-In-Time (JIT) compiler.

8. The user device of claim 7 , wherein the PAC parser performs a plurality of PAC functions that require the JIT compiler via a call to code implemented in a native language.

9. The user device of claim 7 , wherein the sending steps are performed based on a prefix of the IP address.

10. The user device of claim 7 , wherein the sending steps to the first proxy and the second proxy are performed based on the hostname.

11. The user device of claim 7 , wherein the cloud service is a cloud-based security system and the first proxy and the second proxy are based on rules of the cloud-based security system.

12. The user device of claim 11 , wherein the first proxy is for private traffic and the second proxy is for public traffic.

13. A method comprising:

obtaining a Proxy Auto Config (PAC) file from a cloud service and initializing a PAC parser on the user device therewith, wherein the user device includes an operating system that does not support a Just-In-Time (JIT) compiler;

for a request to access a Uniform Resource Locator (URL), extracting a hostname and providing the hostname to the PAC parser; and

based on an Internet Protocol (IP) address associated with the hostname, one of i) sending the request direct to the Internet separate from the cloud service, ii) sending the request to a first proxy associated with the cloud service, and iii) sending the request to a second proxy associated with the cloud service, wherein the request is sent direct to the cloud service in response to the IP address being within a predetermined range.

14. The method of claim 13 , wherein the PAC parser performs a plurality of PAC functions that require the JIT compiler via a call to code implemented in a native language.

15. The method of claim 13 , wherein the sending steps are performed based on a prefix of the IP address.

16. The method of claim 13 , wherein the sending steps to the first proxy and the second proxy are performed based on the hostname.

17. The method of claim 13 , wherein the cloud service is a cloud-based security system and the first proxy and the second proxy are based on rules of the cloud-based security system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SINGH, AMANDEEP
To: ZSCALER, INC.
Reel/Frame 051079/0715 →
Continuity (1)
Related Publication 20210157619A1 · May 27, 2021
Cited By (2)
US 12,541,376 US 12,647,418