Graphical Program Execution Targets for Distributed Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphical programming environments lack efficient methods for distributing graphical programs across multiple execution targets, leading to difficulties in load balancing, communication bandwidth optimization, and component management, especially as application size and complexity increase.

Innovation Solution

A system and method for configuring graphical program portions to execute on specific execution targets, allowing users to specify execution targets through a graphical user interface, configure icons, and connect program portions via wires for distributed execution, enabling dynamic reconfiguration during runtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If graphical programs are distributed across multiple execution targets, then load balancing and communication bandwidth optimization are improved, but device complexity and difficulty of managing multiple targets increase

Engineering Contradiction:
Improvedistributed execution efficiencyVSAvoidsystem configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces execution targets as intermediary components that mediate between the graphical program code and the physical hardware devices. Each execution target acts as a container that holds program portions and specifies which device executes them, simplifying the mapping complexity between distributed code and multiple physical devices through a standardized intermediary layer

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the graphical program into multiple program portions, each assigned to a specific execution target. This segmentation allows independent management and configuration of different program sections on different devices, enabling load distribution and parallel execution while maintaining organized, modular system structure

Inventive Principle:
Principle #1Segmentation

2Loss of energy

If graphical programs are distributed across multiple execution targets, then communication bandwidth requirements are reduced, but the difficulty of detecting and measuring execution targets increases

Engineering Contradiction:
Improvecommunication bandwidth consumptionVSAvoidexecution target identification difficulty
Core Design Contradiction:
Loss of energyVSDifficulty of detecting and measuring

Solution Approach 1:

The patent uses visual indicators (analogous to color changes) to display execution target information in the diagram. Execution targets are visually distinguished and labeled, making it easy to identify which program portions execute on which devices directly from the graphical representation, eliminating the need for complex external tracking or measurement

Inventive Principle:
Principle #32Color changes

3Adaptability or versatility

If graphical programs are distributed across multiple execution targets, then application scalability is improved, but ease of operation and configuration becomes more difficult

Engineering Contradiction:
Improveapplication scalabilityVSAvoidconfiguration ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent allows execution targets to be pre-configured with device information, capabilities, and parameters before program deployment. This preliminary configuration stores execution target details in advance, enabling rapid program distribution and scaling without requiring complex runtime configuration or manual setup when new devices are added to the system

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7844908B2Diagram that visually indicates targeted execution
Publication Date: 2010.11.30 NATIONAL INSTRUMENTS CORP
  • US7844908B2 patent drawing
  • US7844908B2 patent drawing
  • US7844908B2 patent drawing

AI summary

System and method for distributed execution of a graphical program. First and second icons associated with respective execution targets are displayed on a display. Each icon has an interior and specifies execution of a respective graphical program portion positioned in the interior of the icon on the respective execution target. First and second graphical program portions are respectively displayed in the interiors of the first and second icons, where each graphical program portion comprises a respective one or more interconnected nodes that visually indicate functionality of the graphical program portion. One or more wires connecting the first graphical program portion and the second graphical program portion are display. During execution of the graphical program, the first and second graphical program portions execute respectively on the first and second execution targets, and the first graphical program portion and the second graphical program portion communicate as specified by the one or more wires.