Directory Server Update Dependency Checker Parallel Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computer systems, particularly in LDAP directory server systems, the replay of updates from a master server to a consumer server is serial and does not utilize the multithreading capabilities of the host system, leading to inefficient update performance and dependency conflict resolution.

Innovation Solution

A directory server system with a master server and a non-master server, where the non-master server includes a dependency checker to determine update dependencies and an update application function to apply updates independently, allowing for simultaneous replay of updates that are independent or have already been replayed, thereby optimizing update performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If updates are replayed serially on the consumer server, then update consistency is maintained, but update performance is inefficient and multithreading capabilities are not utilized

Engineering Contradiction:
Improveupdate performanceVSAvoidupdate consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the update replay process into independent checkpoints that can be processed in parallel. Each checkpoint represents a state after applying a subset of updates, allowing multiple threads to work on different segments of the update stream simultaneously while maintaining overall consistency through coordinated checkpoint management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic parallel processing where the degree of parallelism adjusts based on update dependencies. Independent updates are processed in parallel across multiple threads, while dependent updates are processed sequentially, creating a dynamic execution model that optimizes both performance and consistency.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple updates are replayed simultaneously, then update performance is optimized, but dependency conflicts may occur

Engineering Contradiction:
Improveupdate replay speedVSAvoiddependency conflict resolution
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary analysis of update dependencies before parallel replay. By pre-computing the dependency graph and identifying independent update sets in advance, the system can safely parallelize replay without encountering conflicts during execution, reducing the complexity of real-time conflict resolution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary dependency analysis layer that mediates between the parallel replay threads and the underlying data structures. This intermediary layer manages update dependencies, coordinates thread execution, and resolves conflicts before they affect data consistency, simplifying the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If serial update replay is used, then dependency conflicts are avoided, but multithreading capabilities of the host system are not utilized

Engineering Contradiction:
Improvedependency conflict avoidanceVSAvoidCPU utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent ensures continuous useful action by keeping multiple CPU threads actively processing updates simultaneously. By identifying independent update batches and assigning them to different threads, the system maintains continuous processing across all available CPU cores, maximizing utilization while avoiding idle time between sequential operations.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS7584174B2Update dependency control for multi-master replication
Publication Date: 2009.09.01 ORACLE AMERICAN INC
  • US7584174B2 patent drawing
  • US7584174B2 patent drawing
  • US7584174B2 patent drawing

AI summary

The invention proposes a directory server system having a master server and a non-master server, each server being capable of storing directory server data comprising updates. The master server is capable of sending selected updates to the non-master server, and the non-master server (512) has:a dependency checker (5224) operable for determining whether each update received from the master server (510) depends on other updates among the selected updates, and if not for sending the update to an update application function (5220),the update application function being operable for applying the updates received from the dependency checker in the non-master server directory server data.