Selective API Response Validation Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In client-server architectures, validating entire datasets returned by servers in response to API requests can be cumbersome and resource-intensive, especially when API revisions introduce changes that break compatibility, requiring frequent software updates and consuming network and processing resources.

Innovation Solution

Implementing a selective validation process where only a specified portion of the dataset is validated, using a selection engine to intercept and filter the response, and a validation engine to ensure the selected portion meets predefined criteria, with settings dynamically updated in a configuration file.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire dataset is validated to ensure compatibility with the client application, then the reliability of data usage is improved, but the processing time and computational resources consumed increase significantly

Engineering Contradiction:
Improvedata compatibility reliabilityVSAvoidvalidation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the validation process into two segments: a selection engine that identifies which portions of the dataset need validation based on API request parameters, and a validation engine that validates only those selected portions. This segmentation allows the system to validate only necessary data fields rather than the entire dataset, reducing validation time while maintaining reliability for the actual data usage scenarios.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial validation by validating only the selected portion of the dataset rather than the complete dataset. The selection engine determines the minimal necessary validation scope based on API request parameters, and the validation engine processes only that subset. This partial action approach maintains sufficient reliability for the intended use case while significantly reducing processing time and resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

2Adaptability or versatility

If full software updates are implemented to accommodate API revisions, then the adaptability to API changes is improved, but the network bandwidth and processing power consumed increase

Engineering Contradiction:
ImproveAPI compatibility adaptabilityVSAvoidnetwork and processing resources
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic validation configuration through a settings file that can be updated without requiring full software releases. The selection engine reads from this configurable settings file to determine which validation rules to apply, allowing the system to adapt to API changes dynamically. This enables flexibility in handling different API versions and structures without distributing complete software updates, thereby reducing network bandwidth and processing resources required for updates.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses a configurable settings file as a copy of the validation logic that can be updated independently of the main application. Instead of redistributing the entire application codebase when API changes occur, the system updates only the validation configuration copy, which is then loaded by the selection engine. This copying approach maintains adaptability to API revisions while minimizing the data transferred and processing required for updates.

Inventive Principle:
Principle #26Copying

3Reliability

If manual software updates are performed for each API revision, then the reliability of client-application functionality is improved, but the complexity of maintenance and deployment increases

Engineering Contradiction:
Improvefunctionality reliabilityVSAvoidupdate management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service validation configuration where the selection engine automatically reads validation rules from the settings file and applies them without manual intervention. The system self-configures validation behavior based on the settings file contents, eliminating the need for manual software updates and complex deployment processes. This maintains functionality reliability through consistent validation while significantly reducing maintenance and deployment complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses parameter changes in the settings file to control validation behavior. Instead of redistributing software, the system updates validation parameters by modifying configuration values in the settings file. The selection engine reads these parameter changes and adjusts validation accordingly. This parameter-driven approach maintains reliability through proper validation while simplifying maintenance to simple configuration updates rather than complex software deployments.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11909804B2Selective validation of a portion of a server response to a client request
Publication Date: 2024.02.20 RED HAT INC
  • US11909804B2 patent drawing
  • US11909804B2 patent drawing
  • US11909804B2 patent drawing

AI summary

A portion of a server response to a client request can be selectively validated according to some examples described herein. In one example, a system can receive a response from a server to an application programming interface (API) request transmitted by a client application. The response can include target data and other data. The system can determine that the target data is to be validated. In response to determining that the target data is to be validated, the system allow a validation process to be performed on the target data and prevent the validation process from being performed on the other data.