Finite State Machine Decision Engine for Dynamic Web Navigation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing event-processing systems, such as finite state machines, require significant time, effort, and expertise to modify event-processing rules or detect new events, and lack computational ability on state transitions, making it difficult to express complex event-processing rules, especially in web applications with dynamic navigation.
Innovation Solution
A decision engine integrated with a finite state machine that uses state transition model data to determine next actions based on user interactions, random outcomes, and multivariate testing results, allowing for data-driven decision-making without modifying the web application code, and enabling randomized experiments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If event-processing rules are modified in traditional finite state machines, then the system can adapt to new requirements, but significant time, effort, and expertise are required to modify the code
Solution Approach 1:
The patent segments the event-processing system into distinct components: the finite state machine structure, the event definitions, and the action configurations. This allows each component to be modified independently through configuration files rather than requiring changes to the core event-processing code, thereby reducing modification time and effort while maintaining adaptability.
Solution Approach 2:
The patent introduces configuration files as an intermediary layer between the user requirements and the event-processing system. These configuration files serve as a mediator that allows users to define events, states, and actions without directly modifying the underlying code, thus enabling rapid adaptation while minimizing the time and expertise required for modifications.
2Device complexity
If traditional finite state machines are used, then the system structure is simple and well-defined, but they lack computational ability on state transitions and cannot express complex event-processing rules
Solution Approach 1:
The patent merges the simplicity of traditional finite state machines with the computational power of configurable action frameworks. By combining the well-defined state structure with the ability to associate complex computations and multiple actions with state transitions, the system maintains structural simplicity while gaining enhanced computational ability to handle complex event-processing rules.
Solution Approach 2:
The patent creates a universal event-processing framework that can handle both simple and complex event-processing rules within the same finite state machine structure. The configurable action system provides multi-functionality, allowing the same basic framework to express simple transitions as well as complex multi-step processes, thereby increasing versatility without sacrificing structural simplicity.
3Reliability
If web application navigation is controlled by complex business rules, then the navigation flow can be precisely controlled, but the coding becomes increasingly difficult
Solution Approach 1:
The patent uses configuration files as templates or copies that define navigation rules externally. Instead of hard-coding complex business rules into the application, the navigation logic is copied into configurable files that can be easily edited and maintained. This separation allows precise navigation control through well-defined rules while significantly improving the ease of operation for coding and maintaining those rules.
Data Source
AI summary
Systems, apparatus, methods and articles of manufacture provide for implementing a decision engine using a finite state machine for conducting randomized experiments. According to some embodiments, methods may include initializing a decision engine comprising at least one state machine, receiving information defining for the at least one state machine, states and transitions between the states, receiving information defining at least one set of weighted choices, receiving an indication of an occurrence of an event, executing the decision engine to select randomly using the at least one state machine a weighted choice based on the event, and transmitting to the application an indication of the identified random choice.


