Context Engine for Host-Based Firewall Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing middlebox solutions do not effectively utilize rich contextual data from host machines, as they lack an efficient distributed scheme for filtering captured contextual attributes to process service rules defined by smaller attribute sets.

Innovation Solution

A novel architecture that executes a guest-introspection agent, context engine, and attribute-based service engines on host computers to capture and consume contextual attributes from network and process events, using hooks with the operating system to collect and process attributes for service rule enforcement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If existing middlebox solutions capture contextual attributes on host machines, then rich contextual data is available for service processing, but the system lacks an efficient distributed scheme for filtering thousands of contextual attributes to process service rules defined by smaller attribute sets

Engineering Contradiction:
Improvecontextual attribute filtering efficiencyVSAvoiddistributed attribute filtering scheme
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system segments the attribute filtering task by separating the collection of contextual attributes (performed by GI agents at individual hosts) from the processing of service rules (performed by service engines). The context engine acts as an intermediary that collects attributes and makes them available to multiple service engines, enabling efficient filtering without requiring complex distributed coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The context engine serves as an intermediary component between the GI agents and service engines. It collects contextual attributes from multiple sources, filters and organizes them, and provides them to service engines that need specific attributes for rule processing. This intermediary approach eliminates the need for direct complex interactions between GI agents and service engines.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple service engines process different service rules on the same host, then service diversity and flexibility are improved, but the complexity of managing and coordinating attribute collection and processing increases

Engineering Contradiction:
Improveservice rule processing capabilityVSAvoidservice engine coordination
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The context engine is designed as a universal component that serves multiple service engines simultaneously. It collects contextual attributes from GI agents and makes them available to any service engine that needs them, regardless of the specific service rules being processed. This universal approach enables service diversity without requiring separate attribute collection mechanisms for each service type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system collects more contextual attributes than strictly necessary for any single service rule (excessive action), storing them in a centralized context engine. Service engines then selectively retrieve only the attributes they need for their specific rules (partial action). This approach simplifies coordination by centralizing attribute management while enabling flexible service processing.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11032246B2Context based firewall services for data message flows for multiple concurrent users on one machine
Publication Date: 2021.06.08 VMWARE INC
  • US11032246B2 patent drawing
  • US11032246B2 patent drawing
  • US11032246B2 patent drawing

AI summary

Some embodiments of the invention provide a novel architecture for capturing contextual attributes on host computers that execute one or more machines, and for consuming the captured contextual attributes to perform services on the host computers. The machines are virtual machines (VMs) in some embodiments, containers in other embodiments, or a mix of VMs and containers in still other embodiments. Some embodiments execute a guest-introspection (GI) agent on each machine from which contextual attributes need to be captured. In addition to executing one or more machines on each host computer, these embodiments also execute a context engine and one or more attribute-based service engines on each host computer. One of these service engines is a firewall engine. Through the GI agents of the machines on a host, the context engine of that host in some embodiments collects contextual attributes associated with network events and/or process events on the machines. The context engine then provides the contextual attributes to the firewall engine, which, in turn, use these contextual attributes to identify firewall rules to enforce.