Data Object Sharing System for Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data transfer systems create extraneous copies of data, leading to memory inefficiencies and reduced available memory space, as they fail to effectively share data among application software tools and output devices without storing unused data.

Innovation Solution

The system encapsulates data from a data source into a data object, which is shared among multiple data sink objects, using identification information to access the data and includes a counter to automatically remove the data object from memory when no longer needed, preventing unnecessary data copies and optimizing memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional data transfer systems transfer data to multiple application software tools or output devices, then data can be shared among multiple components, but extraneous copies of data are created leading to memory inefficiency and reduced available memory space

Engineering Contradiction:
Improvedata sharing capabilityVSAvoidmemory space consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple data copies into a single shared data object. Instead of creating separate data copies for each application software tool or output device, the system creates one data object that is referenced and shared by all components, thereby eliminating redundant data storage while maintaining data sharing capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The data object serves multiple functions simultaneously - it can be accessed and manipulated by different application software tools and output devices through a unified interface. This universal data structure allows any number of components to share the same data without requiring individual copies, resolving the memory consumption issue.

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

2Ease of operation

If conventional data transfer systems store data in memory for use by application software tools, then data is readily accessible, but unused data remains in memory reducing the space available for other operations

Engineering Contradiction:
Improvedata accessibilityVSAvoidavailable memory space
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent introduces dynamic memory management where the data object's memory allocation is flexible and adaptive. The system can allocate memory for the data object when needed and release it when no longer required, allowing the memory space to dynamically adjust based on actual usage patterns rather than remaining fixed or permanently occupied.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements mechanisms to discard unused data objects from memory and recover the allocated memory space for future use. When application software tools or output devices no longer need access to a data object, the system automatically removes it from memory and makes the space available again, preventing memory leakage and optimizing available resources.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS7886307B1Object-oriented data transfer system for data sharing
Publication Date: 2011.02.08 MATHWORKS INC
  • US7886307B1 patent drawing
  • US7886307B1 patent drawing
  • US7886307B1 patent drawing

AI summary

A method transfers data from a data source to multiple data sink objects. The data acquired from the data source is encapsulated into a data object. Identification information of the data object is posted to a data server. The data server shares the identification information with the data sink objects that are registered with the data server. The data sink objects access the data object with the identification information at execution time. A counter indicates the number of data sink objects that currently use the data object. The data object is removed from the memory of the computer systems when the counter indicates that the data object is no longer used by the data sink objects. Alternatively, the data object that is no longer used may be stored in a separate memory location of the computer systems for a future use.