Input Filters for Web Application Resource Conservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In web applications, computing resources are wasted processing invalid inputs, especially during denial-of-service attacks, as input processors create data structures before determining input validity.

Innovation Solution

Implementing input filters at the processing stage that define valid inputs, routing information, validity checks, and transformations, allowing for the creation of strongly-typed values only for valid inputs and skipping unnecessary processing for invalid ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If input processors create data structures for each input before determining validity, then input processing is thorough and complete, but computing resources are wasted processing invalid inputs

Engineering Contradiction:
Improveinput processing completenessVSAvoidcomputing resource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by validating inputs against filters before creating data structures. The input processor first checks whether an input matches any defined filter criteria (valid input patterns) before proceeding to create data structures. This preliminary validation step prevents wasted computation on invalid inputs while ensuring thorough processing of valid inputs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the validation logic from the main processing flow by using separate input filters that define valid input patterns. These filters are applied independently before the main data structure creation and processing steps. Invalid inputs are identified and excluded early in the process, separating them from the processing pipeline before resources are committed to creating data structures.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If input validation is performed after creating data structures, then data structures are always created for completeness, but processing efficiency decreases during attacks with many invalid inputs

Engineering Contradiction:
Improveprocessing completenessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs validation as a preliminary action before data structure creation. Input filters are evaluated first to determine if an input matches any valid pattern. Only inputs that pass this preliminary validation step proceed to data structure creation. This reverses the conventional approach of creating structures first and validating later, thereby preventing resource waste while maintaining completeness for valid inputs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces input filters as an intermediary layer between input reception and data structure creation. These filters act as a mediator that pre-screens inputs before they reach the main processing logic. The filters translate input values into matched filter identifiers, providing a efficient intermediate validation step that protects the downstream processing system from invalid inputs.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all inputs are processed through data structure creation and business logic, then no valid input is missed, but resources are consumed processing invalid inputs during denial-of-service attacks

Engineering Contradiction:
Improveinput handling completenessVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts invalid inputs from the processing stream using input filters that define valid patterns. By evaluating inputs against filters before data structure creation, invalid inputs are identified and excluded early. This prevents the consumption of computing resources on inputs that would ultimately be rejected, while ensuring all valid inputs are captured and processed through the complete business logic pipeline.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies preliminary validation action by checking inputs against defined filters before committing resources to data structure creation. This preliminary step establishes a gatekeeping mechanism that allows only potentially valid inputs to proceed to resource-intensive processing. The approach maintains reliability by ensuring no valid input is missed while reducing resource consumption by filtering out invalid inputs upfront.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3047382B1Input filters and filter-driven input processing applied to input prior to providing input to a target component
Publication Date: 2018.04.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3047382B1 patent drawingFigure 1
  • EP3047382B1 patent drawingFigure 2
  • EP3047382B1 patent drawingFigure 3~4

AI summary

Input filters correlate to target components. For a given target component, the input filter defines input validation information. The input filter might also define conversions or transformations to be applied to valid input prior to being provided to the target component. At build time, code is accessed that contains the input validation, conversion and transformation and that identifies the associated target component. The information is then used to construct an input filter. At run time, when an input processing component receives an input, the input processing component identifies the target component, accesses the associated input filter, and uses the information contained in the input filter to determine whether the input is valid, and whether and how to convert and transform the value.