Graphical Program External Memory Buffer Access via EDVR

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional programming techniques require a separate copy of data from an external memory buffer, leading to performance degradation when accessing large or frequently updated data sets, especially in applications where a graphical program needs to interact with data produced by an external producer program.

Innovation Solution

The system enables a graphical program to natively access an external memory buffer through an External Data Value Reference (EDVR), allowing direct read and write operations without the need for a separate copy, by creating a data structure that references the external memory buffer and managing its access within the graphical program execution environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional programming techniques are used to access external memory buffer, then data can be accessed, but performance degrades due to requiring separate copy of data

Engineering Contradiction:
Improvedata access performanceVSAvoidtime for data copying
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces an External Data Value Reference (EDVR) as an intermediary mechanism that allows the graphical program to reference and access external memory buffers directly without requiring data copying. The EDVR acts as a mediator between the graphical program and external memory, enabling direct access while maintaining memory management responsibilities with the graphical program execution environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If graphical program executes concurrently with producer program, then data can be accessed in real-time, but memory access complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory access mechanism complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements self-service through automatic memory management where the graphical program execution environment automatically handles memory allocation, reference creation, and data access for external memory buffers. The system automatically creates EDVRs when graphical programs need to access external memory, eliminating the need for manual memory management complexity while enabling concurrent execution with producer programs.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9189209B2Graphical programming system with native access to external memory buffers
Publication Date: 2015.11.17 NATIONAL INSTRUMENTS CORP
  • US9189209B2 patent drawing
  • US9189209B2 patent drawing
  • US9189209B2 patent drawing

AI summary

A system and method for enabling a graphical program to natively access an external memory buffer are disclosed. The graphical program may execute within a graphical program execution environment, and the external memory buffer may be allocated by another program that executes externally from the graphical program and the graphical program execution environment. The graphical program may be executed concurrently with a producer program that stores data in the memory buffer, and/or with a consumer program that reads and uses the data from the memory buffer. The memory buffer may be located within a region of memory allocated by the producer program, by the consumer program, or by another program that executes externally from the graphical program and the graphical program execution environment, such as a memory manager program.