Analytic Function Data Block Buffering via Independent Reader Writer Movement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing frameworks for user-defined analytic functions face difficulties in efficiently managing large data blocks, particularly when the data does not fit in memory, leading to reduced performance and cumbersome programming, as they often require writing data to a hard-drive disk, which is inefficient.

Innovation Solution

The implementation of a method that allows independent movement of Readers and Writers within the data block, utilizing PreReader and PreWriter accessors for automatic buffering, enabling data to be stored in memory without user intervention, thus optimizing buffering efficiency and simplifying programming.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is stored on a hard-drive disk instead of memory when the distance between Reader and Writer exceeds buffer size, then memory usage is reduced, but access speed and performance deteriorate

Engineering Contradiction:
Improvememory usageVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent divides the data block into multiple segments or batches that can be processed independently. The Reader and Writer operate on different segments simultaneously, allowing the system to maintain efficient memory usage while avoiding the need to write intermediate results to slow disk storage. This segmentation enables the buffering mechanism to work effectively within memory bounds.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary buffering actions where data is pre-loaded into memory buffers before processing begins. By anticipating the data access patterns and pre-positioning data in memory, the system avoids the need for slow disk access during the actual processing phase, thus maintaining both low memory usage and high access speed.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If the amount of data to be buffered is relatively large, then the analytic function can process more data, but the programming becomes relatively difficult and time consuming

Engineering Contradiction:
Improvedata buffer sizeVSAvoidprogramming complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements a self-managing buffering system where the framework automatically handles buffer allocation, data movement, and memory management without requiring explicit programmer intervention. The system monitors the distance between Reader and Writer automatically and adjusts buffering strategies accordingly, eliminating the need for programmers to manually program complex buffering logic for large data sets.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a universal buffering framework that handles various analytic functions and data sizes through a single, standardized interface. This multi-functional design allows the same buffering mechanism to serve different purposes (different analytic functions, different data volumes) without requiring separate programming logic, thus reducing programming complexity while maintaining flexibility for large data buffering.

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

3Productivity

If Reader and Writer advance independently in the data block, then processing efficiency is improved, but coordinating their positions and managing buffers becomes more complex

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where the system continuously monitors the positions of Reader and Writer and automatically adjusts buffer allocation and data movement based on their relative distances. This real-time feedback allows independent advancement of Reader and Writer while automatically coordinating their operations, maintaining processing efficiency without requiring complex manual coordination logic.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9652174B2Managing an analytic function to be performed on data stored in an input block
Publication Date: 2017.05.16 MICRO FOCUS LLC
  • US9652174B2 patent drawing
  • US9652174B2 patent drawing
  • US9652174B2 patent drawing

AI summary

In an example, an analytic function to be performed on data stored in an input block is managed through an interface to a framework through which a user is to define the analytic function. The framework is to buffer batches of the data into a memory through implementation of a Reader, a Writer, a PreReader, and a PreWriter on the data stored in the input block when the user-defined analytic function is performed, and wherein the Reader, the Writer, the PreReader, and the PreWriter are individually movable with respect to each other in the input block. In addition, the user-defined analytic function is received through the interface.