Centralized State Machine Coordination for Modular Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Coordinating boot, hot swap, and failover processes in modular systems is challenging due to the need for complex interactions between modules, which can lead to inefficiencies and lack of visibility during transient phases.

Innovation Solution

A centralized database approach using state machines, where each module publishes its state independently, and a central arbiter determines the next steps based on aggregated module states, allowing for coordinated boot, hot swap, and failover operations without direct module interaction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If modules directly coordinate with each other during boot, hot swap, and failover processes, then the system can achieve complex interactions between modules, but the system complexity and difficulty of detecting and measuring system state increase

Engineering Contradiction:
Improvecoordination capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A centralized database is introduced as an intermediary between modules, allowing them to publish and read state information without direct communication. The database acts as a mediator that coordinates module interactions during boot, hot swap, and failover processes, reducing system complexity while maintaining coordination capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Modules publish their state to the centralized database, creating a feedback mechanism where the system can track and detect module states. This allows the control module to determine when all modules are ready to proceed to the next step, improving detectability without increasing direct module-to-module complexity

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If modules directly coordinate with each other during boot, hot swap, and failover processes, then the system can achieve complex interactions between modules, but the visibility and supportability during transient phases decrease

Engineering Contradiction:
Improvecoordination capabilityVSAvoidsystem visibility
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The centralized database serves as a mediator that collects and stores state information from all modules, making system state visible and detectable during transient phases. This intermediary approach maintains coordination capability while significantly improving system visibility and supportability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of directly observing complex module interactions, the system creates copies of module states in the centralized database. This allows external tools and processes to read and analyze system state without interfering with the actual module coordination processes

Inventive Principle:
Principle #26Copying

3Productivity

If modules proceed independently without centralized coordination, then the system operation speed increases, but the reliability and error prevention capability decrease

Engineering Contradiction:
Improveoperation speedVSAvoidprocess reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The control module determines the state of all modules before initiating coordinated actions during boot, hot swap, and failover. This preliminary assessment ensures that modules only proceed when ready, maintaining reliability while allowing independent operation during stable phases

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Modules continuously publish their state to the centralized database, providing real-time feedback that allows the control module to monitor readiness. This feedback mechanism ensures reliable coordination without requiring constant direct communication, maintaining operation speed during independent phases

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10824443B1State machine communication
Publication Date: 2020.11.03 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10824443B1 patent drawing
  • US10824443B1 patent drawing
  • US10824443B1 patent drawing

AI summary

Examples disclosed herein relate to a method comprising determining, by a control state machine running on a control module, a state for a plurality of modules communicatively coupled to the control module, wherein each module has a corresponding state machine that publishes state information into a centralized database. The method may include publishing, by the control state machine, the target state for each module in the plurality of modules, into the centralized database, wherein each target state is associated with a set of actions to enable the module to achieve the target state. The method may also include determining, by the control state machine, that each module in the plurality of modules has published its new state to the database and initializing, by the control state machine, a process related to at least one module in the plurality of modules.