Cursor-Based State-Collapse Scheme for Shared Database Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-performance computing systems like enterprise routers and switches, existing database management technologies face challenges in efficiently notifying processes of record updates, synchronizing databases for reliability and availability, managing memory usage, and handling concurrent read/write operations while maintaining high performance and scalability.

Innovation Solution

A cursor-based state-collapse scheme is implemented, which inserts temporal references into database records, maintains read and write cursors, and provides updates by walking through temporal lists, enabling efficient memory management, concurrent operations, and data replication with minimal state buildup.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional database update tracking is used to notify processes of record updates, then reader notification capability is provided, but memory usage increases due to state buildup from tracking all updates

Engineering Contradiction:
Improvereader notificationVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the notification function from traditional update tracking by using write cursors that are independently notified of updates without requiring the system to maintain state information about all updates. The write cursor mechanism separates the notification capability from the data storage, allowing processes to be notified of updates without building up state in memory.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a mechanism where update state is discarded after notification. The write cursor system allows processes to recover and process update information without the system maintaining persistent state about each update. Once a process is notified of an update through the cursor mechanism, the state information can be discarded, preventing memory buildup while maintaining reliable notification.

Inventive Principle:
Principle #34Discarding and recovering

2Reliability

If database synchronization is implemented for reliability and availability, then data consistency is improved, but system complexity and overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-establishing write cursors that are automatically notified of updates before any synchronization or replication needs to occur. This preliminary cursor setup allows the system to track changes efficiently without requiring complex synchronization protocols, reducing overhead while maintaining data consistency across distributed systems.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The write cursor acts as an intermediary between the database update mechanism and the processes that need to be notified. This intermediary simplifies the synchronization process by providing a standardized interface for update notification, reducing the complexity of direct peer-to-peer synchronization protocols while ensuring data consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If concurrent read/write operations are allowed to maintain high performance, then system throughput is improved, but data integrity and notification accuracy may deteriorate

Engineering Contradiction:
Improvesystem throughputVSAvoidnotification accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the database access mechanism into separate read and write cursors that operate independently but are coordinated through temporal references. This segmentation allows concurrent read and write operations to proceed simultaneously without interfering with each other's integrity. Each cursor type is optimized for its specific operation while maintaining overall system consistency through the temporal reference mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The write cursor mechanism incorporates feedback by automatically notifying processes of updates without requiring explicit polling or complex locking protocols. This feedback mechanism ensures notification accuracy even during concurrent operations, as the system actively communicates updates to interested processes rather than requiring them to verify data integrity manually, thus maintaining both throughput and reliability.

Inventive Principle:
Principle #23Feedback

4Measurement precision

If temporal references are inserted into all database records to enable cursor-based tracking, then update tracking precision is improved, but record size and storage overhead increase

Engineering Contradiction:
Improveupdate tracking precisionVSAvoidrecord size
Core Design Contradiction:
Measurement precisionVSVolume of stationary object

Solution Approach 1:

The patent applies partial action by inserting temporal references only where needed for cursor-based tracking rather than into all database records universally. The temporal reference mechanism is selectively applied to records that are subject to update tracking through write cursors, providing precise tracking where necessary while avoiding unnecessary overhead in records that do not require such tracking, thus balancing precision with storage efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10599672B2Cursor-based state-collapse scheme for shared databases
Publication Date: 2020.03.24 CISCO TECHNOLOGY INC
  • US10599672B2 patent drawing
  • US10599672B2 patent drawing
  • US10599672B2 patent drawing

AI summary

In one embodiment, a cursor management process inserts temporal references into a plurality of records written to a table of a shared database, the temporal references indicative of an order in which the records are written. A table write cursor points at a last-written record from among the plurality of records, and read cursors point to a last-read record of a corresponding application. The cursor management process may then provide, table updates to a particular application by determining a chain of one or more updated records of the table from the last-read record of the particular application to the last-written record based on walking a particular read cursor for the particular application through the temporal references of the one or more updated records until the particular read cursor points to the last-written record according to the table write cursor.