Cloud Flow Engine for Codeless Automation Without Global State
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cloud computing platforms face challenges in simplifying the process of designing and executing automated processes, particularly in providing domain-appropriate building blocks, code reuse, and codeless development, due to the need for customized scripts.
Innovation Solution
A cloud-based developmental platform with a service hub system that constructs action flow plans and a flow engine to execute run-time versions of these plans, allowing users to create and execute flow plans without relying on global state management, enabling continuous updates and execution of operations based on input values and predecessor completions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If customized scripts are used to build automated processes, then flexibility and functionality are improved, but device complexity and ease of operation deteriorate
Solution Approach 1:
The system segments automated process building into discrete, reusable components called 'flows' that can be independently created, stored, and executed. Each flow represents a modular unit of automation logic that can be combined through templates, eliminating the need for custom scripts while maintaining flexibility.
Solution Approach 2:
The system implements template-based flow creation where predefined flow templates can be copied and instantiated multiple times. Users can create flows from templates without writing custom scripts, and templates can be reused across different contexts, reducing complexity while preserving adaptability.
2Adaptability or versatility
If customized scripts are used to build automated processes, then functionality is improved, but ease of operation deteriorates
Solution Approach 1:
The system enables self-service automation where users can create, modify, and execute automated processes through a graphical interface without needing programming skills. The flow engine automatically manages execution, state tracking, and coordination, making the system easy to operate while maintaining full functionality.
Solution Approach 2:
The flow engine acts as an intermediary between user intent and system execution. Users define flows at a high level using templates and parameters, and the flow engine handles the complex details of execution, state management, and coordination, shielding users from complexity while delivering full functionality.
3Reliability
If global state management is used to execute flow plans, then coordination between operations is improved, but device complexity deteriorates
Solution Approach 1:
The system extracts global state management from the flow execution model and replaces it with localized state tracking. Each flow maintains its own state context, and the flow engine manages coordination through the flow definition structure itself rather than through a centralized global state, reducing complexity while maintaining reliable coordination.
4Ease of operation
If codeless development is implemented, then ease of operation is improved, but adaptability deteriorates
Solution Approach 1:
The flow template system is dynamically configurable, allowing templates to be created, modified, and extended without coding. Users can adapt existing templates by changing parameters, adding steps, or creating new templates through the graphical interface, maintaining full adaptability while keeping the system easy to operate.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Creating and executing flow plans by performing at least the following: obtaining a run-time flow plan that comprises a trigger, a first operation, and a second operation, wherein the first operation precedes the second operation within the run-time flow plan and one or more input values of the second operation are linked to the first operation, determining whether one or more conditions of the trigger are met, execute the first operation based at least on the determination that the one or more conditions of the trigger are met, monitoring whether the second operation is ready for execution based at least on a determination that the one or more input values of a second action operation are ready, and executing the second action operation when the second action operation has been identified as ready for execution.