Dynamic Data Buffer Field-Wise Selection Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data buffering systems inefficiently use memory by loading entire database objects into buffer memory, including unused fields, leading to increased memory usage and database access times.

Innovation Solution

Implement a dynamic data buffer system that analyzes application structures to selectively retrieve and store only the necessary fields from the database, reducing database round-trips and memory usage through field-wise selection and buffering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the entire data set is loaded into buffer memory, then all possible requests for attributes can be served, but a large amount of buffer memory is required

Engineering Contradiction:
Improveability to serve all possible requestsVSAvoidbuffer memory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the buffer memory into multiple partitions, each dedicated to storing data for a specific table. This allows the system to load only the necessary table data into memory rather than all data, reducing overall buffer memory usage while still being able to serve requests for any table that has been loaded into its partition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic buffer memory allocation where the buffer is organized as an array of partitions that can be selectively populated. The system dynamically loads data into specific table partitions based on application requests, rather than statically loading all data upfront. This dynamic approach reduces memory usage by loading only what is needed when it is needed.

Inventive Principle:
Principle #15Dynamics

2Productivity

If all fields are loaded into buffer, then no additional database accesses are needed, but unnecessary data is read and stored increasing memory usage

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts and loads only the specific table data that is needed for current application requests into the buffer memory partitions, rather than loading all fields and all tables. The SELECT * statement retrieves data for specific tables identified in the WHERE clause, extracting only the necessary data subset while maintaining the ability to serve requests efficiently.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If data is stored in application-specific tables, then memory usage is reduced, but complex code changes are required when new data sets are needed

Engineering Contradiction:
Improvememory usageVSAvoidcode complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent creates a universal buffer structure that can handle multiple tables and applications through a standardized partition-based architecture. The same buffer partition mechanism serves all table access requests, providing a multi-functional solution that reduces memory usage without requiring application-specific code changes for different data sets. The system is universally applicable to any table in the database.

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

Data Source

PatentUS8260767B2Method and apparatus for dynamic data buffer
Publication Date: 2012.09.04 SAP SE
  • US8260767B2 patent drawing
  • US8260767B2 patent drawing
  • US8260767B2 patent drawing

AI summary

A dynamic data buffer method, includes providing a system for accessing a database having a plurality of fields of data potentially used by applications, analyzing an application's structure to identify at least one field of data from the plurality of fields of data in the database used by the application, performing a field-wise select for selecting only the identified at least one field of data and creating a dynamic data buffer for storing only the identified at least one field of data.