Versioned Metadata Sharing for Concurrent Read-Write Access
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If a locking protocol is implemented for metadata concurrency control, then concurrent read-write access is managed, but system complexity increases
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.
Data Source
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.


