Adaptive Data Collections for Big-Data Analytics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computer systems, particularly those used for data analytics, face performance bottlenecks due to inefficient data placement, excessive garbage collection, and programming complexities, leading to slow data processing and high resource utilization in big-data analytics frameworks.

Innovation Solution

Implementing adaptive data collections with language-independent, runtime adaptive data structures that provide unified APIs for various data layouts, compression schemes, and synchronization methods, allowing for dynamic selection of data functionalities based on workload and hardware characteristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional big-data analytics frameworks are used, then data processing can be performed, but performance is slow due to costly data transfers between disk and main memory

Engineering Contradiction:
Improvedata processing speedVSAvoidcostly data transfers
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent implements in-memory data structures that pre-load and cache data in main memory before processing, eliminating the need for repeated disk-to-memory transfers during analytics operations. The adaptive data collections maintain data in optimized in-memory formats, performing preliminary data preparation and caching strategies that prevent expensive I/O operations during actual processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates in-memory copies of data structures that can be processed without accessing disk storage. The adaptive data collections maintain replicated data in memory with optimized layouts for processing, allowing multiple processing operations to occur on memory-resident copies rather than repeatedly accessing disk storage.

Inventive Principle:
Principle #26Copying

2Productivity

If traditional data structures are used, then programming is straightforward, but garbage collection activity is excessive and degrades performance

Engineering Contradiction:
Improveprocessing throughputVSAvoidgarbage collection time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements reference counting and deterministic memory management mechanisms within the adaptive data collections that automatically track and manage object lifecycles without requiring frequent garbage collection cycles. The data structures self-manage their memory allocation and deallocation, providing deterministic cleanup behavior that eliminates the performance degradation caused by unpredictable garbage collection pauses.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If language-specific data structures are used, then optimization for that language is achieved, but programming complexity increases across multiple languages

Engineering Contradiction:
Improvelanguage interoperabilityVSAvoidprogramming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal adaptive data collection interface that can be accessed from multiple programming languages through a common API. The underlying data structures are language-agnostic and can be instantiated and manipulated through standardized interfaces, allowing the same optimized in-memory data structures to serve workloads from different programming languages without requiring language-specific implementations.

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

Solution Approach 2:

The patent introduces an intermediary layer of adaptive data collections that sits between the programming language and the underlying data storage. This intermediary provides a unified interface that handles language-specific concerns while maintaining consistent, optimized data structures underneath, allowing different languages to interact with the same in-memory data structures through standardized operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Quantity of substance

If data is stored on disk, then storage capacity is sufficient, but data transfer rate between processors and memory becomes a bottleneck

Engineering Contradiction:
Improvedata storage capacityVSAvoiddata transfer rate
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent transitions data from a single dimension (disk storage) to multiple dimensions by implementing hierarchical data residency. Data can exist simultaneously in disk storage for long-term retention and in in-memory adaptive collections for active processing. This multi-dimensional approach allows the system to maintain large storage capacity while providing high-speed access paths for actively processed data through in-memory residency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20250094443A1Language Interoperable Runtime Adaptable Data Collections
Publication Date: 2025.03.20 ORACLE INT CORP
  • US20250094443A1 patent drawing
  • US20250094443A1 patent drawing
  • US20250094443A1 patent drawing

AI summary

Adaptive data collections may include various type of data arrays, sets, bags, maps, and other data structures. A simple interface for each adaptive collection may provide access via a unified API to adaptive implementations of the collection. A single adaptive data collection may include multiple, different adaptive implementations. A system configured to implement adaptive data collections may include the ability to adaptively select between various implementations, either manually or automatically, and to map a given workload to differing hardware configurations. Additionally, hardware resource needs of different configurations may be predicted from a small number of workload measurements. Adaptive data collections may provide language interoperability, such as by leveraging runtime compilation to build adaptive data collections and to compile and optimize implementation code and user code together. Adaptive data collections may also provide language-independent such that implementation code may be written once and subsequently used from multiple programming languages.