Parallel Tree Data Structure Scanning Service

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Contemporary cloud-based data storage systems face inefficiencies in resource usage due to independent scanning of large tree data structures by multiple processes, leading to redundant operations and increased resource consumption.

Innovation Solution

Implementing a tree scanning service that allows multiple processes to share a single scanner, enabling parallel scanning of tree elements by starting scans from intermediate points, thereby reducing redundant operations and optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple processes independently scan the tree data structure, then each process can complete its scanning task, but resource consumption increases significantly due to redundant operations

Engineering Contradiction:
Improvecompleteness of tree scanningVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Multiple independent tree scanning processes are merged into a single shared scanner that serves all processes. The scanner is a common resource that all processes can utilize, eliminating redundant scanning operations. When one process requests a tree scan, the scanner is allocated to that process; when another process needs scanning, it shares the same scanner if available or waits for it to become free.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The tree scanner is designed as a universal resource that can serve multiple different processes for various scanning purposes. Instead of having dedicated scanners for each process, a single multi-functional scanner handles scanning requests from any process that needs to traverse the tree data structure, making the system more resource-efficient.

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

2Use of energy by moving object

If multiple processes wait for tree scan coordination, then resource consumption is reduced, but the start time of system processes is delayed

Engineering Contradiction:
Improveresource consumptionVSAvoidprocess start time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The scanner allocation system is dynamic rather than static. Processes can acquire the scanner when it becomes available through events like process completion or voluntary release, allowing flexible start times without rigid coordination overhead. This dynamic allocation reduces waiting time compared to traditional coordination mechanisms while still preventing redundant scanning.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Processes can request the scanner in advance or set up event-driven notifications to be alerted when the scanner becomes available. This preliminary action allows processes to prepare for scanning operations without immediately blocking execution, reducing the perceived wait time while still ensuring efficient resource utilization when scanning actually occurs.

Inventive Principle:
Principle #10Preliminary action

3Use of energy by moving object

If a single scanner is shared by multiple processes, then resource consumption is minimized, but the complexity of scanner management increases

Engineering Contradiction:
Improveresource consumptionVSAvoidscanner management complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The scanner management system operates autonomously without requiring complex external coordination. When a process completes its scanning or releases the scanner, the system automatically makes the scanner available to the next waiting process through event-driven mechanisms. This self-service approach simplifies management compared to centralized coordination while still achieving efficient resource sharing.

Inventive Principle:
Principle #25Self-service

4Productivity

If tree scans are performed independently by each process, then each process can start immediately, but the same tree elements are scanned multiple times redundantly

Engineering Contradiction:
Improveprocess execution speedVSAvoidredundant scanning operations
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

Multiple independent tree scanning processes are merged into a single shared scanner that serves all processes. The scanner is a common resource that all processes can utilize, eliminating redundant scanning operations. When one process requests a tree scan, the scanner is allocated to that process; when another process needs scanning, it shares the same scanner if available or waits for it to become free.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11755366B2Parallel handling of a tree data structure for multiple system processes
Publication Date: 2023.09.12 EMC IP HLDG CO LLC
  • US11755366B2 patent drawing
  • US11755366B2 patent drawing
  • US11755366B2 patent drawing

AI summary

The technology describes scanning tree data structures (trees) for multiple processes, at least partly in parallel. A service scans a tree from a beginning tree element to an ending tree element on behalf of a process; while scanning, another process can join in the scan at an intermediate tree element location (e.g., a key). For the subsequent process, the service scans the tree based on the intermediate location to the tree end, thereby visiting tree elements in parallel until the tree end, then continuing from the tree beginning element to the intermediate location for the subsequent process. The service basically completes a full carousel-type revolution for each process. One or more other processes can join an ongoing scan at any time, facilitating further parallel tree element visits, while still obtaining a full scan of the entire set of tree elements. The service handles changing tree versions during the scanning.