Messaging State Machine Logic Injection for Custom Application Flows
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing large-scale messaging systems lack convenient means for enterprises to define custom processing logic for messaging state machines, limiting their ability to implement applications tailored to their specific needs.
Innovation Solution
A distributed computer system that allows users to define application-specific flows using a message application processor, which includes a flow service for evaluating flow definitions and transitioning messages between states, enabling custom logic execution at state transitions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If enterprises use general-purpose messaging state machines, then system scalability and reliability are improved, but the ability to implement custom application-specific logic is limited
Solution Approach 1:
The system segments the messaging platform into a core general-purpose state machine engine and separable enterprise-specific flow definitions. The core engine handles reliable message routing and state transitions, while enterprises can attach their custom flow logic as independent, configurable layers that hook into specific state transitions without modifying the core engine.
Solution Approach 2:
The patent introduces flow definitions as intermediary components that mediate between the general-purpose state machine and enterprise-specific requirements. These flow definitions act as configurable intermediaries that can be attached to state transitions, allowing custom logic to be injected without compromising the stability of the core messaging system.
2Adaptability or versatility
If enterprises define custom flows themselves, then application versatility is improved, but system complexity increases
Solution Approach 1:
The system enables enterprises to define and manage their own flow configurations through self-service mechanisms. Enterprises can create, modify, and deploy their custom flow definitions without requiring system administrators or vendor intervention, thereby reducing operational complexity while maintaining high versatility.
Solution Approach 2:
The flow definition system uses universal, channel-agnostic state machine models that can be applied across multiple messaging channels (SMS, WhatsApp, email, etc.). This universal approach reduces complexity by providing a single configurable framework that works across diverse applications and channels rather than requiring separate customizations for each.
3Adaptability or versatility
If flow definitions are evaluated at each state transition, then custom logic execution is improved, but processing time increases
Solution Approach 1:
The system evaluates flow definitions selectively rather than exhaustively at every state transition. Flow hooks are attached to specific state transitions where custom logic is needed, and the evaluation is performed only when those specific transitions occur, avoiding unnecessary processing overhead while maintaining custom logic execution capability.
Data Source
AI summary
A computer-implemented method, comprising using a message application processor, receiving a first request from a separate application server computer executing a particular computer program application to create and cause sending a digital electronic mess age; in response to the request, the message application processor creating the message and assigning a status value to the message, the status value being associated with a first state of the message; the message application processor causing the message to transition to a subsequent state; the message application processor performing a flow hook lookup to determine whether a flow definition is associated with the transition from the first state to the subsequent state and with the particular computer program application, and in response thereto, evaluating the flow definition based on the message to result in executing an operation specified in the flow definition using one or more of a payload of the message, the status value, or a channel identifier of the message; the message application processor selecting, based on the channel identifier, a particular communication channel among a plurality of different communication channels, and transmitting a request to the particular communication channel to transmit the message using the particular communication channel.


