Graph Connectivity Search via Multi-Phase Landmark and Brute-Force Algorithms

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing bidirectional search algorithms for connectivity searches in large graph data representations are inefficient, particularly in low-latency applications, due to the high cost of set data structures and the impact of high-degree vertices, which hinder real-time or near real-time connectivity checks.

Innovation Solution

Implementing a multi-phase search approach that utilizes landmark connectivity data generated during preprocessing, where the first phase uses bitmaps for fast connectivity checks through high-degree vertices, followed by brute-force or modified search phases to efficiently explore non-landmark vertices, thereby reducing the number of paths explored and minimizing the impact of high-degree vertices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If bidirectional search algorithm with set data structures is used, then connectivity search completeness is improved, but search speed deteriorates

Engineering Contradiction:
Improveconnectivity search completenessVSAvoidsearch speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the graph into multiple partitions or components, and the connectivity search is divided into phases: first checking connectivity within the same partition using efficient array-based representations, then progressively checking connectivity to other partitions. This segmentation reduces the search space in each phase and avoids the need to explore the entire graph using expensive set operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces expensive set data structures with cheaper array-based representations and bitmap operations. Instead of using hash sets or balanced trees that require complex operations, the invention uses arrays with simple equality checks and bitmap AND operations, which are computationally inexpensive and can be processed very quickly.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Device complexity

If standard bidirectional search is used, then algorithm simplicity is improved, but efficiency with large graphs deteriorates

Engineering Contradiction:
Improvealgorithm simplicityVSAvoidsearch efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by pre-computing and storing partition information for each vertex before the connectivity search begins. During the search, this pre-computed partition information is used to quickly determine which partition a vertex belongs to, enabling rapid routing decisions without requiring complex real-time computations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces partition identifiers as an intermediary layer between vertices and the connectivity search process. Each vertex is assigned to a partition, and the search algorithm uses these partition identifiers to guide the exploration, checking vertices within the same partition first before moving to other partitions. This intermediary structure simplifies the search logic while dramatically improving efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If connectivity search is performed on large graphs, then application scope is improved, but response time deteriorates

Engineering Contradiction:
Improveapplication scopeVSAvoidresponse time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments large graphs into smaller partitions, enabling the system to handle graphs of any size by dividing them into manageable pieces. This segmentation allows connectivity searches to be performed efficiently even on very large graphs, as the search is confined to smaller partition subsets rather than requiring full-graph exploration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter representation from using expensive set data structures to using compact array-based representations with integer indices and bitmap operations. This parameter change reduces the computational complexity of each search operation from O(n log n) or worse to O(n) or better, enabling real-time response even on large graphs.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10831829B2Fast detection of vertex-connectivity with distance constraint
Publication Date: 2020.11.10 ORACLE INT CORP
  • US10831829B2 patent drawing
  • US10831829B2 patent drawing
  • US10831829B2 patent drawing

AI summary

Embodiments perform real-time vertex connectivity checks in graph data representations via a multi-phase search process. This process includes an efficient first search phase using landmark connectivity data that is generated during a preprocessing phase. Landmark connectivity data maps the connectivity of a set of identified landmarks in a graph to other vertices in the graph. Upon determining that the subject vertices are not closely related via landmarks, embodiments implement a second search phase that performs a brute-force search for connectivity, between the subject vertices, among the graph's non-landmark vertices. This brute-force search prevents exploration of cyclical paths by recording the vertices on a currently-explored path in a stack data structure. The second search phase is automatically aborted upon detecting that the non-landmark vertices in the graph are over a threshold density. In this case, embodiments perform a third search phase involving either a modified breadth-first search or modified bidirectional search.