Centralized Journal Parsing Manager for Storage Engine Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing journaled file systems and log structured storage engines face inefficiencies due to multiple processes independently consuming object updates from disk, leading to increased system resource usage such as disk I/O, processing resources, and memory, which hampers scalability and introduces latency in providing real-time updates.

Innovation Solution

Implementing centralized journal parsing, where a single journal parsing manager reads journal entries from disk once, extracts relevant information, and publishes it as events to a message bus or RPC endpoint, allowing multiple clients to share journal chunks and reduce resource consumption by a factor of M*P, where M is the number of clients and P is the number of partitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If multiple processes independently consume object updates from disk, then each process can access updates autonomously, but system resource usage (disk I/O, processing resources, memory) increases

Engineering Contradiction:
Improveautonomous update accessVSAvoidsystem resource usage
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

Multiple independent journal parsing processes are merged into a single centralized journal parsing manager. This single manager reads journal entries from disk once and distributes them to multiple clients, eliminating redundant disk I/O operations while maintaining the ability for multiple processes to access updates autonomously through event subscriptions.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

A centralized journal parsing manager is introduced as an intermediary between the disk storage and multiple client processes. This mediator reads journal entries once and distributes them to subscribed clients, reducing disk I/O from O(M) to O(1) while still enabling autonomous access for each client through the event notification mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple processes independently parse journal entries, then each process can process updates independently, but processing resources and memory consumption increase

Engineering Contradiction:
Improveindependent update processingVSAvoidprocessing resources and memory
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The journal parsing functionality is merged from multiple independent processes into a single centralized manager. This manager parses journal entries once and distributes the parsed data to multiple clients, reducing CPU processing overhead and memory consumption while maintaining independent processing capability for each client through event-driven architecture.

Inventive Principle:
Principle #5Merging (Combining)

3Loss of energy

If a centralized journal parsing manager is implemented, then resource usage is reduced by a factor of M*P, but the system requires a centralized coordination mechanism

Engineering Contradiction:
Improveresource usageVSAvoidcentralized coordination mechanism
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

A centralized journal parsing manager serves as the coordination intermediary, handling all disk I/O and parsing operations. Clients subscribe to specific journal entry types they are interested in, and the manager distributes relevant events to them. This approach reduces resource usage while the coordination complexity is managed through simple subscription-based event notification.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11681664B2Journal parsing for object event generation
Publication Date: 2023.06.20 EMC IP HLDG CO LLC
  • US11681664B2 patent drawing
  • US11681664B2 patent drawing
  • US11681664B2 patent drawing

AI summary

A system can register a first client and a second client to respectively receive information about updates to a write-ahead log structured storage engine that comprises a log. The system can read an entry in the log, the entry being of an update type. The system can, in response to determining that the first client is registered to receive at least some of the information about updates that are of the update type, sending, to the first client, entry information about the entry. The system can, in response to determining that the second client is registered to receive information about updates that are of the update type, sending, to the second client, the entry information about the entry.