Cycling Coordinating Process for Distributed Multi-Component Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for coordinating multiple components, such as robots, face challenges including complexity, lack of robustness, complexity of coordination, data management difficulties, and data insecurity, particularly in complex environments where centralized control is fragile and communication overhead is high.

Innovation Solution

A method where a coordinating process continually cycles through each component, with each component hosting the complete code and transferring only a small execution state, allowing for distributed data and computation while maintaining a global view, eliminating the need for point-to-point communication and negotiation protocols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single coordinating authority is used to direct and coordinate the activities of all team members, then simplicity of implementation and predictability of overall team behavior are improved, but communication overhead increases and system robustness deteriorates

Engineering Contradiction:
Improvecoordination implementation complexityVSAvoidsystem robustness
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent merges the coordinating process with each individual component, allowing each component to host the complete coordinating process code. This creates multiple copies of the coordinator distributed across components, eliminating the single point of failure while maintaining coordinated behavior through the cycling mechanism.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces dynamic role assignment where components alternately host the coordinating process. The coordinator cycles from one component to another, creating a dynamic distributed architecture that adapts to component availability and maintains robustness while preserving coordination simplicity.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If a single coordinating authority is used to direct and coordinate the activities of all team members, then simplicity of implementation and predictability of overall team behavior are improved, but communication overhead increases

Engineering Contradiction:
Improvecoordination implementation complexityVSAvoidcommunication overhead
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent extracts the coordinating process from a separate centralized authority and embeds it within each component. This eliminates the need for constant communication with a central coordinator, as each component can independently execute coordination logic when hosting the process, reducing communication overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each component is equipped with the complete coordinating process code and can independently perform coordination functions when selected as the host. This self-service capability reduces dependency on continuous centralized communication, lowering overall system communication overhead.

Inventive Principle:
Principle #25Self-service

3Reliability

If each robot is assigned an agent status and responsible for its own actions, then system robustness is improved, but coordination complexity and computational costs increase

Engineering Contradiction:
Improvesystem robustnessVSAvoidcoordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes each component universal by equipping it with the complete coordinating process code. Each component can function both as a local agent and as a temporary coordinator, eliminating the need for separate coordination mechanisms and reducing overall coordination complexity while maintaining robustness.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

Instead of having a central coordinator manage agents, the patent inverts the approach by having agents capable of becoming coordinators. The coordinating process cycles through components, allowing the coordination function to be distributed rather than centralized, reducing complexity while preserving robustness.

Inventive Principle:
Principle #13The other way round (Inversion)

4Loss of energy

If biological inspired approaches are used to coordinate without sharing information, then communication overhead is reduced, but lack of common viewpoint makes programming and control difficult

Engineering Contradiction:
Improvecommunication overheadVSAvoidprogramming difficulty
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent introduces the cycling coordinating process as an intermediary that temporarily resides in each component. This mediator provides a common viewpoint during its residency, allowing coordinated decision-making without requiring continuous information sharing, thus reducing communication overhead while simplifying programming through the structured cycling mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The coordinating process operates periodically, cycling through components in a structured sequence. This periodic action provides regular opportunities for establishing a common viewpoint without requiring continuous communication, reducing overhead while maintaining programmability through the predictable cycling pattern.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9600438B2Process integrated mechanism apparatus and program
Publication Date: 2017.03.21 FLORIDA INSTITUTE FOR HUMAN & MACHINE COGNITION INC
  • US9600438B2 patent drawing
  • US9600438B2 patent drawing
  • US9600438B2 patent drawing

AI summary

A method and apparatus for controlling and coordinating a multi-component system. Each component in the system contains a computing device. Each computing device is controlled by software running on the computing device. A first portion of the software resident on each computing device is used to control operations needed to coordinate the activities of all the components in the system. This first portion is known as a “coordinating process.” A second portion of the software resident on each computing device is used to control local processes (local activities) specific to that component. Each component in the system is capable of hosting and running the coordinating process. The coordinating process continually cycles from component to component while it is running. The continuous cycling of the coordinating process presents the programmer with a virtual machine in which there is a single coordinating process operating with a global view although, in fact, the data and computation remain distributed across every component in the system.