Dataflow Actor Data Handling Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional dataflow programs incur excessive data copying when sharing data structures between actors, leading to reduced computing efficiency due to the unnecessary replication of entire data structures, even when only a subset is required.

Innovation Solution

A program development tool analyzes dataflow programs to determine the minimal amount of information needed for each actor, allowing for efficient data handling by passing only the required data or references, thereby reducing unnecessary data copying and improving resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If entire data structures are copied between actors, then data sharing is simplified, but computing efficiency decreases due to excessive data copying

Engineering Contradiction:
Improveease of data sharingVSAvoidcomputing efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent segments data structures into individual fields or members, allowing only the specific fields needed by consumer actors to be copied rather than the entire data structure. This segmentation enables selective data transfer, reducing copying overhead while maintaining the simplicity of structured data sharing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary fields from data structures based on static analysis of actor requirements. By taking out only the needed portions of data structures and transferring those selectively, the system achieves efficient data sharing without the penalty of copying complete structures.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If entire data structures are replicated, then data availability is improved, but resource consumption increases

Engineering Contradiction:
Improvedata availabilityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies partial action by copying only the specific fields that consumer actors need rather than the entire data structure. This partial copying approach maintains data availability for required fields while avoiding the resource waste of replicating unnecessary data.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameter of data transfer from complete structure replication to selective field copying. By analyzing which fields are actually needed and transferring only those, the system optimizes resource consumption while preserving data availability where necessary.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If static analysis is performed to determine minimal data needs, then data transfer efficiency is improved, but program complexity increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidprogram complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary static analysis during the compilation phase to determine which fields of data structures are needed by consumer actors. This preliminary action identifies data requirements in advance, enabling efficient selective copying during runtime without adding complexity to the executing program.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs self-service through automated static analysis that independently determines data transfer requirements. The analysis system automatically identifies needed fields and generates appropriate copying logic, eliminating the need for manual specification and reducing programmer burden despite the added analytical complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8904371B2Data handling among actors in a dataflow programming environment
Publication Date: 2014.12.02 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US8904371B2 patent drawing
  • US8904371B2 patent drawing
  • US8904371B2 patent drawing

AI summary

Processing a dataflow program by a program development tool includes detecting a pair of actors defined by dataflow program instructions, wherein the pair of actors include a producer actor and a consumer actor, the producer actor supplying a data structure to the consumer actor via a path that comprises at least one connection and possibly also intervening other actors. An analysis is performed including analyzing one or more operations of the producer actor that involve the data structure and/or analyzing one or more operations of the consumer actor that involve the data structure. A result of the analysis is used as a basis for selecting a minimal amount of information from among a plurality of data handling possibilities concerning the data structure. A transformed program is produced in which the selected minimal amount of information is caused to be passed from the producer actor to the consumer actor.