PAC Parser Without JIT Compilation for iOS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing PAC file parsers do not support Just-In-Time (JIT) compiler, which is necessary for certain JavaScript functions, limiting their functionality on platforms like iOS without JIT support.

Innovation Solution

Implementing a PAC parser in native iOS languages, such as Objective-C, using a native JavaScript engine to perform PAC functions without relying on JIT, enabling support for multi-proxy connections and traffic rules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If PAC parsers are built on JavaScript engines with JIT compiler support, then PAC parsing performance is improved, but platform compatibility is worsened (cannot run on iOS without JIT)

Engineering Contradiction:
ImprovePAC parsing performanceVSAvoidplatform compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a bridge layer that mediates between JavaScript code and native iOS functions. The bridge translates JavaScript function calls into equivalent native Objective-C/Swift function calls, allowing PAC parsing to work on iOS without requiring a JIT compiler. This intermediary layer preserves the JavaScript-based PAC parsing logic while adapting it to run on platforms without JIT support.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If PAC parsing is implemented using standard JavaScript engines, then functionality is improved, but memory efficiency is worsened

Engineering Contradiction:
ImprovePAC parsing functionalityVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts the memory-intensive JIT compilation component from the PAC parsing process. By removing the need for JIT compilation and using only interpreted JavaScript execution combined with native function calls, the solution significantly reduces memory consumption while preserving essential PAC parsing functionality on memory-constrained mobile devices.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If PAC parsers support all JavaScript functions, then parsing capability is improved, but implementation complexity is worsened (especially without JIT)

Engineering Contradiction:
ImprovePAC function supportVSAvoidimplementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments JavaScript functions into two categories: those that can be executed directly by the JavaScript interpreter and those that require native implementation. The bridge layer handles the segmentation by routing function calls appropriately - simple functions execute in JavaScript while complex functions (like DNS resolution) are delegated to native iOS functions. This segmentation reduces implementation complexity while maintaining broad function support.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11093267B2Proxy auto config (PAC) file parser systems and methods
Publication Date: 2021.08.17 ZSCALER INC
  • US11093267B2 patent drawing
  • US11093267B2 patent drawing
  • US11093267B2 patent drawing

AI summary

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.