Decentralized Workflow Load Balancing in Distributed Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing environments face challenges in handling faulty nodes that cause defective or incomplete application processing due to hardware, software, or environmental failures, leading to stalled workflows and potential conflicts between nodes.

Innovation Solution

Implementing a decentralized load balancing mechanism where nodes in a distributed computing environment dynamically update and access shared state information to determine if load balancing is required, allowing another node to resume workflow processing without repeating previous steps, and using optimistic locking to prevent conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a centralized controller is used to manage workflow processing in a distributed computing environment, then coordination and conflict prevention are improved, but system complexity and overhead increase

Engineering Contradiction:
Improveworkflow completion reliabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Each node in the distributed computing environment autonomously determines whether load balancing is required by checking the shared state information, and independently executes load balancing operations without requiring approval or coordination from a centralized controller. This self-service approach eliminates the need for complex centralized management while maintaining workflow reliability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The centralized control function is segmented and distributed to individual nodes. Each node maintains local state information in shared memory and independently makes load balancing decisions, transforming a monolithic centralized control system into multiple independent decision-making units that operate autonomously.

Inventive Principle:
Principle #1Segmentation

2Reliability

If nodes frequently check shared state information to determine load balancing requirements, then workflow resumption reliability is improved, but system overhead and processing time increase

Engineering Contradiction:
Improveworkflow resumption reliabilityVSAvoidtime for state checking and load balancing
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

State information is updated and made available in shared memory before load balancing is needed. When a node fails, the state information is already prepared and accessible, allowing surviving nodes to immediately determine load balancing requirements without delay. This preliminary preparation of state information reduces the time required for workflow resumption while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If nodes independently perform load balancing without coordination, then system overhead is reduced, but conflicts between nodes may occur

Engineering Contradiction:
Improvesystem efficiencyVSAvoidconflict prevention reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Nodes continuously monitor shared state information to determine whether load balancing is required. This feedback mechanism allows nodes to make informed decisions about when to perform load balancing, reducing conflicts while maintaining high system efficiency. The feedback loop ensures that load balancing operations are coordinated through shared state visibility rather than direct communication.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9444885B2Workflow processing in a distributed computing environment
Publication Date: 2016.09.13 VMWARE INC
  • US9444885B2 patent drawing
  • US9444885B2 patent drawing
  • US9444885B2 patent drawing

AI summary

An example method is provided to perform workflow processing in a distributed computing environment comprising a first node, a second node and a data store accessible by the first node and second node. The method may comprise the first node retrieving, from the data store, state information associated with a workflow being processed by the second node. The method may further comprise, in response to determination that load balancing from the second node to the first node is required based on the state information of the workflow, the first node initiating the load balancing by updating the state information of the workflow in the data store. If the state information is successfully updated, the first node may resume processing of the workflow by performing a workflow step to be completed by the second node, but otherwise, abandon the load balancing.