Orchestrator for Dynamic Application Flow Reassignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional approaches for managing application flows across computation layers are inflexible, failing to dynamically reassign portions based on user or system conditions, leading to inefficient resource utilization, application flow downtime, and lack of reporting capabilities for issue mitigation.

Innovation Solution

The introduction of an orchestrator system that allows for dynamic reassignment of application flow portions across computation layers using transition rules, which reallocate execution based on conditions such as CPU usage, and provides a graphical user interface for easy configuration and reporting of telemetry data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If portions of an application flow are statically assigned to edge devices and computation layers, then the system structure is simple and easy to manage, but the system lacks flexibility to reassign based on user specified conditions or system level conditions

Engineering Contradiction:
Improvedynamic reassignment capabilityVSAvoidorchestration system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

An orchestrator system is introduced as an intermediary component that manages the dynamic reassignment of application flow portions between edge devices and cloud computing platforms. The orchestrator receives transition rules, evaluates system conditions, and coordinates reassignment decisions, thereby enabling adaptability without requiring complex direct communication between all system components.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system transitions from static assignment to dynamic reassignment by implementing transition rules that allow application flow portions to be moved between computation layers based on evaluated conditions. This dynamic behavior enables the system to adapt to changing user specified conditions and system level conditions while maintaining manageable complexity through the orchestrator's coordinated control.

Inventive Principle:
Principle #15Dynamics

2Productivity

If more portions of application flow are executed on edge devices, then computation load on shared cloud layers is reduced and more application flows can be supported, but the system needs complex mechanisms to dynamically reassign portions based on conditions

Engineering Contradiction:
Improvenumber of supported application flowsVSAvoidreassignment mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The application flow is divided into multiple portions that can be independently assigned to different computation layers. The orchestrator manages these segments separately, allowing flexible reassignment of individual portions based on transition rules and current system conditions, thereby supporting higher productivity without requiring monolithic complex reassignment mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The orchestrator serves as a mediator that simplifies the complexity of managing dynamic reassignment for high productivity. It evaluates transition rules and system conditions, then coordinates reassignment decisions, allowing the system to support more application flows on edge devices without requiring each component to implement complex reassignment logic independently.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If traditional static assignment approaches are used, then the system is easier to configure and manage, but users cannot easily perform assignment or configure reassignment conditions leading to incorrect or inappropriate assignment

Engineering Contradiction:
Improveassignment configuration easeVSAvoidassignment correctness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The orchestrator system enables users to easily configure transition rules and reassignment conditions through self-service mechanisms. Users can define their own conditions and rules without requiring complex manual configuration or intervention, allowing them to easily perform assignment and configure reassignment conditions while ensuring correct and appropriate assignment decisions are made automatically by the orchestrator.

Inventive Principle:
Principle #25Self-service

4Reliability

If traditional approaches are used without reporting capabilities, then the system structure is simpler, but users cannot get relevant reporting data to quickly mitigate issues causing downtime

Engineering Contradiction:
Improveapplication flow uptimeVSAvoidreporting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The orchestrator implements feedback mechanisms that collect and provide reporting data about application flow execution, system conditions, and reassignment decisions. This feedback enables users to monitor system status and quickly mitigate issues causing downtime, while the orchestrator centralizes the complexity of data collection and presentation, preventing overall system complexity from becoming unmanageable.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11579929B2Cross platform application flow orchestration by transmitting the application flow including a transition rule to a plurality of computation layers
Publication Date: 2023.02.14 SALESFORCE INC
  • US11579929B2 patent drawing
  • US11579929B2 patent drawing
  • US11579929B2 patent drawing

AI summary

Disclosed herein are system, method, and computer program product embodiments for configuring a dynamic reassignment of an application flow across different computation layers based on various conditions. An embodiment operates by assigning a first rule of an application flow to a first computation layer of a plurality of computation layers. The embodiment assigns a second rule of the application flow to a second computation layer of the plurality of computation layers. The embodiment assigns a transition rule of the application flow to the first computation layer. The transition rule includes an action that causes the first rule of the application flow to be executed in the second computation layer of the plurality of computation layers based on a condition. The embodiment then transmits the application flow to the plurality of computation layers thereby causing the application flow to be configured for execution.