Virtual Array API for Large Dataset Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programmers face inefficiencies when accessing data from various file formats, requiring knowledge of specific file formats and formats-specific instructions, which can be cumbersome, especially when dealing with large datasets that cannot be loaded into memory entirely.

Innovation Solution

The introduction of a virtual array data structure and a corresponding API that allows indexing into datasets in secondary storage, enabling efficient access and manipulation of data without loading the entire dataset into memory, using a familiar syntax similar to array manipulation, and employing a formatter object to facilitate data access across different formats.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the entire dataset is loaded into memory for manipulation, then data access and manipulation becomes simple and efficient, but memory resources are consumed and large datasets cannot be handled

Engineering Contradiction:
Improvedata access and manipulationVSAvoidmemory resources
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent segments the dataset into smaller blocks or chunks that can be loaded into memory individually rather than loading the entire dataset at once. This allows efficient data manipulation of manageable portions while conserving memory resources for larger datasets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtual array as an intermediary layer between the data storage system and the user's manipulation operations. This virtual array provides a familiar array-based interface while managing the underlying data in a memory-efficient manner, abstracting away the complexity of direct file I/O.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If format-specific instructions are used to access data from different file formats, then data access becomes precise and reliable, but the complexity of working with multiple formats increases

Engineering Contradiction:
Improvedata access accuracyVSAvoidcomplexity of working with multiple formats
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal virtual array interface that can handle multiple data formats through a single consistent syntax. The virtual array acts as a multi-functional wrapper that translates different file format requirements into a unified array manipulation interface, eliminating the need for format-specific instructions.

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

Solution Approach 2:

The virtual array serves as an intermediary layer that translates between the diverse file format requirements and the user's standardized array manipulation operations. This mediator handles the format-specific details internally while presenting a consistent, simple interface to the user.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If detailed knowledge of file format and data organization is required, then data extraction becomes accurate, but the learning curve and programming complexity increase

Engineering Contradiction:
Improvedata extraction accuracyVSAvoidprogramming simplicity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The virtual array acts as an intermediary that encapsulates the complex file format and data organization details. Users interact with the data through intuitive array indexing and manipulation operations on the virtual array, while the system handles the underlying format-specific complexity automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The virtual array creates a conceptual copy or view of the data structure that mirrors familiar array operations. This virtual representation allows users to manipulate data using standard array syntax without needing to understand the actual file format or data organization on disk.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8751480B1Virtual arrays in an array-based language
Publication Date: 2014.06.10 MATHWORKS INC
  • US8751480B1 patent drawing
  • US8751480B1 patent drawing
  • US8751480B1 patent drawing

AI summary

A generalized input/output application programming interface (API) may provide an interface to file related operations. As a result of using this API, users of the array-based programming language may be able to manipulate stored data as though the data were a virtual array loaded into memory. Users do not need to memorize a different API in order to access data which may be stored in different file or data formats. In addition, using this API simplifies the task of working with large data sets by giving users seamless access to the sections of data they want to operate on when the entire data is too large to be loaded into memory.