Input Filters for Web Application Resource Conservation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
Figure 1
Figure 2
Figure 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.