Batching Lock Requests to Reduce Network Bandwidth in Shared Disk Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In shared disk database systems, the number of lock communications significantly impacts performance and resource consumption due to the high number of messages required for lock acquisition, which can hinder system throughput.

Innovation Solution

The solution involves pre-fetching locks by determining the required and future locks for operations like row updates, deletes, and inserts, and sending a single message to the lock manager, as well as performing row modification operations in two executions to combine lock requests and reduce network traffic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple separate lock requests are sent to the lock manager for each lock needed in a database operation, then each lock can be acquired reliably, but the number of network messages increases significantly, consuming more bandwidth and processing resources

Engineering Contradiction:
Improvelock acquisition reliabilityVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent combines multiple separate lock requests into a single batched lock request message. Instead of sending individual messages for each lock needed by a database operation, the system aggregates all required lock identifiers into one message and sends it to the lock manager in a single network transaction, thereby reducing network bandwidth consumption while maintaining reliable lock acquisition.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary identification of all locks required for a database operation before sending the lock request. By determining in advance which locks will be needed (including future locks required during the operation), the system can batch all necessary lock requests together in one message, avoiding multiple separate communications and reducing overall network traffic.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple separate lock requests are sent to the lock manager, then each lock can be acquired with proper authorization, but the processing overhead and message handling complexity increase

Engineering Contradiction:
Improvelock authorization controlVSAvoidmessage processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple lock requests into a single batched message that contains multiple lock identifiers. The lock manager processes this single message to authorize and grant multiple locks atomically, reducing the complexity of message handling while maintaining proper authorization control through centralized validation of all requested locks in one processing cycle.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The batched lock request mechanism serves multiple functions simultaneously: it reduces network traffic, simplifies message processing by consolidating multiple requests into one transaction, and maintains comprehensive authorization control. This multi-functional approach resolves the contradiction by making the lock acquisition system more efficient without sacrificing reliability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If locks are acquired for all currently needed resources, then data consistency is maintained, but the number of locks held increases, potentially blocking other operations and reducing system throughput

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by identifying and acquiring future locks in advance, before they are actually needed during the database operation. This allows the system to maintain data consistency by having all necessary locks available when needed, while also improving throughput by preventing intermediate lock acquisition delays and reducing the time that locks are held in a waiting state.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements skipping by pre-acquiring all necessary locks in a single batched operation, thereby skipping the intermediate steps of multiple separate lock acquisition messages and their associated processing delays. This rushes through the lock acquisition phase efficiently, maintaining data consistency while minimizing the time locks are held, thereby improving overall system throughput.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS8666958B2Approaches to reducing lock communications in a shared disk database
Publication Date: 2014.03.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8666958B2 patent drawing
  • US8666958B2 patent drawing
  • US8666958B2 patent drawing

AI summary

Lock communications in a shared disk database system is reduced by several approaches: sending a single message to a lock manager for locks required for an operation and locks that will be required in the future, the operations may include row update, row delete, large scan, and row insert; performing an operation in two executions, where in a first execution locks required for the operation is determined without performing the operation, and in a second execution a single message is sent to a lock manager for the required locks and the operation is performed; in free space searching, sending a single message to a lock manager for row and page locks before a row insert is actually performed; and granting locks in an unfair manner.