Versioned Metadata Sharing for Concurrent Read-Write Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems, the significant memory usage by metadata for partitioned objects hinders scalability as the number of partitions increases, leading to increased metadata storage requirements and program unit memory usage.

Innovation Solution

Implementing a versioned metadata system where program units share the most recent metadata execution representation instead of copying it, using a locking protocol for concurrency control and dependency tracking, and employing a versioning infrastructure for managing new and obsolete versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If program units copy non-versioned object metadata into their memory, then program units have immediate access to metadata, but memory usage increases significantly with partition count

Engineering Contradiction:
Improvemetadata access availabilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies the opposite of copying - instead of program units copying metadata into their memory, the system uses a shared metadata storage structure where multiple program units reference the same metadata through pointers. This eliminates redundant copies while maintaining access availability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

Multiple program units are merged into sharing a common metadata storage structure rather than each maintaining separate copies. The metadata is stored once in a shared location and referenced by multiple program units, reducing total memory consumption while maintaining access for all units.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If program units store complete metadata for partitioned objects, then execution can proceed without additional data fetching, but scalability is hindered by increased memory requirements

Engineering Contradiction:
Improveexecution efficiencyVSAvoidscalability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

A shared metadata storage structure acts as an intermediary between program units and the actual data. Program units access metadata through this shared structure rather than storing complete copies locally, enabling efficient execution while maintaining scalability as the system can serve more program units with the same metadata.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments metadata access by separating the metadata storage function from program unit memory. The shared metadata structure serves as a centralized resource that can be accessed by multiple program units, allowing the system to scale by adding more program units without proportionally increasing memory requirements.

Inventive Principle:
Principle #1Segmentation

3Reliability

If a locking protocol is implemented for metadata concurrency control, then concurrent read-write access is managed, but system complexity increases

Engineering Contradiction:
Improveconcurrency controlVSAvoidlocking mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The locking protocol operates automatically on the shared metadata structure without requiring manual intervention or complex management overhead. The system self-manages concurrency control through the locking mechanism, providing reliable read-write access while keeping the implementation relatively simple.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7698310B2System for allowing object metadata to be shared between cursors for concurrent read write access
Publication Date: 2010.04.13 ORACLE INT CORP
  • US7698310B2 patent drawing
  • US7698310B2 patent drawing
  • US7698310B2 patent drawing

AI summary

A system, method, computer program and article of manufacture for sharing metadata among cursors is provided. A metadata object marked as a versioned object can have multiple versions. Program units can share these versions of object metadata as opposed to copying the non-versioned object metadata into their memory. These program units may contain a pointer to an object's metadata but are otherwise void of the metadata information for the object. A locking protocol for the metadata ensures concurrency control and triggers dependency tracking. A locking protocol for the cursors controls cursor dependency status.