Disk-Based Lock Manager for Clustered Database Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-availability clustered database management systems, unresponsive nodes holding exclusive locks on shared resources can impede IO fencing, leading to potential data corruption and lock granting issues, as other nodes cannot determine if the unresponsive node is alive or dead, especially during write operations.

Innovation Solution

Implementing multiple master nodes with direct access to shared storage, where each master node can generate in-memory copies of shared resources, manage locks, and prioritize IO operations, allowing for direct access and caching, while also enabling recall operations and failover mechanisms to handle unresponsive nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single master node manages locks for all shared resources, then lock management is simplified, but system reliability deteriorates when the master node fails or becomes unresponsive

Engineering Contradiction:
Improvelock management structureVSAvoidsystem availability during master node failure
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent divides the single master node into multiple master nodes, each managing locks for specific shared resources. This segmentation ensures that if one master node fails, other master nodes can continue managing locks for their respective resources, improving system reliability without significantly increasing overall complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each master node is assigned specific shared resources to manage, creating local expertise and responsibility. This allows each master node to operate independently for its designated resources, ensuring continued functionality even when other master nodes are unresponsive or failed.

Inventive Principle:
Principle #3Local quality

2Speed

If nodes can access shared storage directly, then data access speed improves, but data integrity deteriorates due to potential concurrent write conflicts

Engineering Contradiction:
Improvedata access speedVSAvoiddata integrity during concurrent access
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces master nodes as intermediaries between data access requests and shared storage. Master nodes manage lock grants and coordinate access, allowing direct data access for performance while preventing concurrent write conflicts through centralized lock management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Before allowing direct access to shared storage, the system performs preliminary lock acquisition through master nodes. This ensures that only one node can write to a given resource at a time, preventing data corruption while maintaining high read performance through direct access.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If the system waits for unresponsive nodes to respond before granting locks, then lock management is simplified, but productivity deteriorates due to prolonged lock acquisition delays

Engineering Contradiction:
Improvelock acquisition processVSAvoidlock acquisition speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements feedback mechanisms where master nodes monitor the responsiveness of other nodes. When a node is deemed unresponsive, master nodes can proceed to grant locks to other waiting nodes without waiting for the unresponsive node to respond, thereby improving productivity while maintaining manageable complexity through automated detection.

Inventive Principle:
Principle #23Feedback

4Reliability

If multiple master nodes are implemented, then system reliability improves during node failures, but device complexity increases

Engineering Contradiction:
Improvecontinuity during node failureVSAvoidmaster node configuration and coordination
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the master node functionality into multiple independent master nodes, each managing specific resources. This segmentation improves reliability by ensuring continued operation during failures while managing complexity through clear division of responsibilities and automated failover mechanisms.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8510334B2Lock manager on disk
Publication Date: 2013.08.13 ORACLE INT CORP
  • US8510334B2 patent drawing
  • US8510334B2 patent drawing
  • US8510334B2 patent drawing

AI summary

A method and apparatus for managing shared resources in a clustered database management system is provided. In an embodiment, multiple master nodes exist in a database management system. A master node receives a lock request from a second node. The lock request is a request for a lock on a shared resource. The master node grants the lock request to the second node. While the second node holds the lock, the second node causes the master node to modify the shared resource.