Event Record Locking for Concurrent Access Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems that track user-to-object access events in computer operating environments face performance degradation due to concurrent access processing and increasing memory usage as the list of recent artifacts grows, necessitating an efficient method to handle simultaneous accesses without degrading system performance.

Innovation Solution

Implementing a local lock on the event data store instead of a lock on the entire data store, combined with a culling feature that deletes records when the number of events exceeds a predetermined limit, to manage user-to-object access events effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a lock on the entire data store is used to handle concurrent accesses, then data consistency is ensured, but system performance degrades due to serialization of access operations

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the global data store lock into multiple local locks, where each event type has its own dedicated lock. This allows concurrent accesses to different event types to proceed simultaneously without serialization, while still ensuring data consistency within each event type. The segmentation of the locking mechanism resolves the contradiction by enabling parallelism while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If all user-to-object access events are recorded in the database, then complete event history is maintained, but memory usage increases as the list of recent artifacts grows

Engineering Contradiction:
Improveevent history completenessVSAvoidmemory usage
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent extracts and removes event records from the database when they exceed the predetermined limit for their event type. The culling feature selectively deletes older or less relevant records, keeping only the most recent events within the allowed memory budget. This extraction principle resolves the contradiction by maintaining the most important event history while removing excess data that consumes memory.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a discard policy where event records are removed from the database when the limit is exceeded. The system recovers memory space by discarding older records while maintaining the capability to record new events. This cyclic process of discarding old data and recovering space allows the system to maintain event history completeness within memory constraints.

Inventive Principle:
Principle #34Discarding and recovering

3Loss of information

If the list of recent artifacts is maintained for all users and objects, then comprehensive recent access information is provided, but the system complexity increases for managing and maintaining the database

Engineering Contradiction:
Improverecent access informationVSAvoiddatabase management complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the database management by creating separate event type tables and dedicated locks for each event type. This segmentation simplifies management by allowing independent control and maintenance of each event type's data, reducing the overall system complexity while maintaining comprehensive recent access information across all users and objects.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8095520B2Event recording with local event record locking
Publication Date: 2012.01.10 ORACLE INT CORP
  • US8095520B2 patent drawing
  • US8095520B2 patent drawing
  • US8095520B2 patent drawing

AI summary

Systems, methods, and other embodiments associated with event recording are described. One example method includes locally locking a record in an event data store corresponding to an event having a same event type as a given event when a prior occurrence of the given event has not yet been recorded. The event data store is updated to record the given event while the record is locked. One example system includes an event data store configured to store records corresponding to events, an event recorder configured to record event data in the event data store and a local lock actuable by the event recorder. The event recorder is configured to update the locked record to correspond to a received event.