URL Policy Enforcement Using Cache and Bloom Filters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Firewalls and security devices face challenges in efficiently enforcing policies based on URL information due to the vast number of URLs, making it difficult to match rules effectively.

Innovation Solution

A policy enforcement appliance uses a combination of caching, bloom filters, and database queries to efficiently evaluate URLs by transforming them into hashes, using a multi-stage process involving caches, bloom filters, and databases to determine access permissions based on URL categories.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional database querying is used for URL matching, then accuracy is maintained, but processing speed deteriorates due to the sheer volume of URLs

Engineering Contradiction:
ImproveURL matching speedVSAvoidpolicy enforcement accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the URL matching process into three distinct stages: (1) cache lookup for frequently accessed URLs, (2) bloom filter checking for probabilistic filtering, and (3) database querying for definitive verification. This segmentation allows each stage to handle specific types of URL queries efficiently, improving overall speed while maintaining accuracy through the progressive refinement of the matching process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate data structures (cache and bloom filter) between the URL and the final database query. The cache acts as a fast intermediary for known URLs, while the bloom filter serves as a probabilistic intermediary that can quickly eliminate non-matching URLs before they reach the database, thus speeding up processing without sacrificing final accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If comprehensive URL databases are maintained for accurate policy enforcement, then reliability is improved, but device complexity and processing overhead increase

Engineering Contradiction:
Improvepolicy enforcement accuracyVSAvoidsystem structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by pre-computing and storing hash values of URLs in both the cache and bloom filter before they are needed for matching. This preliminary preparation allows the system to quickly check URLs during policy enforcement without performing complex computations in real-time, thus maintaining reliability while reducing processing complexity during operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates simplified copies of URL data in the form of hash values stored in the cache and bloom filter. These copies contain essential matching information without the full complexity of the original URL database, allowing fast probabilistic matching while the complete database remains available for final verification when needed.

Inventive Principle:
Principle #26Copying

3Measurement precision

If all URLs are checked against the database, then accuracy is maintained, but processing time increases significantly

Engineering Contradiction:
ImproveURL matching precisionVSAvoidURL lookup time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by checking URLs against the cache and bloom filter before performing the complete database query. This partial checking process quickly eliminates many non-matching URLs without requiring a full database search, thus maintaining matching precision for relevant URLs while significantly reducing the average lookup time across all URLs.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary filtering using the cache and bloom filter to identify URLs that likely require full database verification. This preliminary action prevents unnecessary database queries for URLs that can be quickly resolved or eliminated by the intermediate structures, thereby maintaining precision for critical matches while reducing overall processing time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10268656B1Using cache and bloom filters for URL lookups
Publication Date: 2019.04.23 PALO ALTO NETWORKS INC
  • US10268656B1 patent drawing
  • US10268656B1 patent drawing
  • US10268656B1 patent drawing

AI summary

Enforcing a policy based at least in part on URL information is disclosed. A uniform resource locator (URL) is received. A portion of the URL, or a transformation thereof, is matched against a bloom filter. Based on a result of the match, a first query is performed. A policy is enforced based at least in part on a category received as a result of a second query. In some cases, the first and second query are the same.