Storage Object Validation via Configurable Annotations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage system validation processes are complex and inefficient, relying on cumbersome state machines with many conditions, leading to performance penalties and difficulty in managing new requirements, as well as frustration in identifying all validation errors due to immediate exits and code bloat.
Innovation Solution
A computer-implemented method using a common validation annotation with configurable parameters to determine the validity of actions on storage system objects, allowing for a single validation state that evaluates all conditions and returns a list of error codes for failed validations, thereby simplifying the validation process and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional validation state machines with many conditions are used, then validation coverage is comprehensive, but device complexity increases and performance deteriorates
Solution Approach 1:
The patent segments the monolithic validation state machine into multiple independent validation rules, each handling a specific validation condition. This segmentation reduces the complexity of the overall validation system while maintaining comprehensive validation coverage, as each rule can be independently configured and evaluated.
Solution Approach 2:
The patent introduces dynamic rule evaluation where validation rules can be selectively enabled or disabled based on the action type and object type. This dynamic approach allows the system to evaluate only relevant validation rules for each request, reducing the effective complexity and improving performance while maintaining comprehensive validation where needed.
2Reliability
If conventional validation state machines with many conditions are used, then validation coverage is comprehensive, but productivity decreases due to performance penalties
Solution Approach 1:
The system dynamically evaluates only the necessary validation rules based on the action and object types, rather than evaluating all conditions in a monolithic state machine. This dynamic rule evaluation improves processing speed and productivity while maintaining comprehensive validation coverage for relevant conditions.
Solution Approach 2:
By segmenting validation into independent rules, the system can evaluate only the subset of rules relevant to each validation request, reducing the total evaluation time and improving productivity while maintaining comprehensive validation coverage through the collective set of rules.
3Productivity
If immediate exit from state machine is implemented upon first error, then processing efficiency is improved, but completeness of error identification deteriorates
Solution Approach 1:
The patent implements dynamic control over validation rule evaluation, allowing the system to continue evaluating subsequent rules even after encountering errors. This dynamic approach enables the system to collect complete error information for all validation rules while still maintaining processing efficiency by avoiding unnecessary evaluations of clearly failing conditions.
4Ease of manufacture
If monolithic validation state is used, then ease of implementation is improved, but adaptability to new requirements deteriorates
Solution Approach 1:
The patent segments the validation system into independent, configurable rules that can be individually added, modified, or removed to accommodate new requirements. This segmentation maintains ease of implementation through a structured framework while significantly improving adaptability, as new validation rules can be introduced without restructuring the entire validation system.
Data Source
AI summary
A method, computer program product, and computing system for receiving a request to perform an action on an object within a storage system and may determine whether the action is valid for performing on the object based upon, at least in part, one or more conditions associated with performing the action and one or more parameters of a validation annotation associated with the one or more conditions. In response to determining that the action is valid, the action may be performed on the object. In response to determining that the action is invalid, one or more errors may be generated based upon, at least in part, the one or more parameters of the validation annotation associated with the one or more conditions.


