Database Logger Agent Coordination Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database management systems experience significant latency due to the requirement for the logger to notify all waiting agents after completing a commit process, limiting transaction rate and efficiency in multiprocessing environments.

Innovation Solution

The method involves removing the agent notification requirement from the DB logger, allowing the next committing agent to compile and notify waiting agents, enabling the logger to proceed with the next update without delay, thus increasing throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the logger notifies all waiting agents after completing a commit process, then the agents can proceed with their processes in a reliable manner, but the notification process consumes significant time and creates latency

Engineering Contradiction:
Improvedatabase commit reliabilityVSAvoidagent notification latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The notification function is extracted from the logger and assigned to the committing agent. The logger only needs to set a completion flag and write to persistent storage, while the committing agent retrieves the list of waiting agents and notifies them of completion. This separation eliminates the time-consuming notification process from the logger's critical path.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The committing agent performs the notification service for other agents instead of the logger doing it. Each agent that completes a commit process automatically notifies the waiting agents, distributing the notification workload and eliminating the centralized bottleneck.

Inventive Principle:
Principle #25Self-service

2Reliability

If the logger waits to notify all agents before proceeding to the next commit, then all agents receive proper notification, but the overall transaction rate is limited by the notification speed

Engineering Contradiction:
Improveagent notification completenessVSAvoidtransaction processing rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The logger prepares the list of waiting agents in advance and stores it before completing the commit to persistent storage. The committing agent then uses this pre-prepared list for notification, eliminating the need to compile the list during the notification phase and enabling parallel execution of notification and next commit preparation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The logger can immediately begin preparing for the next commit operation without waiting for the notification process to complete. The committing agent handles notification in parallel, ensuring that the logger's productive work continues uninterrupted while notifications are delivered.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If the logger compiles and notifies thousands of waiting agents, then all agents are properly informed of commit completion, but the notification process accounts for large latency in the commit process

Engineering Contradiction:
Improvecommit completion notificationVSAvoidcommit process latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The notification task is extracted from the logger's responsibility and assigned to the committing agent. The logger only sets a completion flag and writes data to persistent storage, while the committing agent retrieves the waiting agent list and performs the notification, significantly reducing the logger's execution time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The committing agent acts as an intermediary between the logger and the waiting agents. Instead of the logger directly notifying each agent, the committing agent receives the completion signal from the logger and distributes notifications to all waiting agents, decoupling the logger from the time-consuming notification process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7620661B2Method for improving the performance of database loggers using agent coordination
Publication Date: 2009.11.17 SERVICENOW INC
  • US7620661B2 patent drawing
  • US7620661B2 patent drawing
  • US7620661B2 patent drawing

AI summary

A method for substantially reducing the latency of the database (DB) logging process by removing the agent notification requirement from the DB logger and allowing the DB logger to proceed to the next commit process without the latency of providing each waiting agent a notification that the agent continue their respective processes. When an agent commits a change to persistent storage of the database, the request is received by the logger, which performs the update to the persistent storage. A list of agents waiting on the completion of the commit process is compiled by the logger. The list of agents is provided to and provided to the next committing agent. The next committing agent then notifies the waiting agents that they are able to proceed with their respective processing. The logger may immediately perform the next update to persistent memory without utilizing a substantial amount of time notifying the waiting agents.