Finite State Machine Decision Engine for Dynamic Web Navigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveability to modify event-processing rulesVSAvoidtime and effort to modify code
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvesimplicity of finite state machine structureVSAvoidcomputational ability on state transitions
Core Design Contradiction:
Device complexityVSAdaptability or versatility

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveprecision of navigation controlVSAvoidease of coding navigation rules
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9020873B1Decision engine using a finite state machine for conducting randomized experiments
Publication Date: 2015.04.28 THE TRAVELERS INDEMNITY
  • US9020873B1 patent drawing
  • US9020873B1 patent drawing
  • US9020873B1 patent drawing

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.