Graph Range Overlap Query Response via End Node Binning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for detecting range overlaps in large graphs, such as those used in fraud investigation, contact tracing, and scheduling, are inefficient and require significant computational resources, especially when dealing with millions of links between thousands of nodes.

Innovation Solution

A method that splits end nodes into bins based on defined bin start and stop values, allowing for faster identification of overlapping start nodes connected to these end nodes by reducing the number of comparisons needed through the use of a non-transitory computer-readable medium with stored instructions that execute on a computing device to process link attributes and detect overlaps.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional methods are used to detect range overlaps in large graphs, then complete accuracy can be achieved, but computing time and memory usage become excessively high

Engineering Contradiction:
Improveoverlap detection accuracyVSAvoidcomputing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the graph processing task into multiple segments by partitioning end nodes into different buckets based on their properties. This segmentation allows parallel processing of different graph portions, reducing overall computing time while maintaining complete overlap detection accuracy through systematic comparison across all segments

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If traditional methods are used to detect range overlaps in large graphs, then all overlapping start nodes can be identified, but memory usage becomes excessively high

Engineering Contradiction:
Improveoverlap detection completenessVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the graph data structure into multiple buckets organized by end nodes, allowing memory-efficient storage and processing. Each bucket contains only the relevant subgraph portion, reducing peak memory usage while ensuring complete overlap detection through systematic traversal of all segmented portions

Inventive Principle:
Principle #1Segmentation

3Device complexity

If graph data is processed without binning, then simpler processing logic is used, but the number of comparisons needed increases significantly

Engineering Contradiction:
Improveprocessing logic complexityVSAvoidquery processing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent performs preliminary binning of end nodes into buckets based on their properties before executing the overlap detection query. This preliminary organization reduces the number of comparisons needed during query execution, improving productivity while the added binning step introduces manageable complexity to the overall system

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11132364B1Range overlap query response system for graph data
Publication Date: 2021.09.28 SAS INSTITUTE INC
  • US11132364B1 patent drawing
  • US11132364B1 patent drawing
  • US11132364B1 patent drawing

AI summary

A computing system determines a response to a query. A bin start value and a bin stop value is defined for each bin based on an input bin option. End nodes are split based on the bin start value and the bin stop value of each bin to define a second plurality of end nodes. Each start node of a plurality of start nodes that is connected to each end node of the second plurality of end nodes is identified based on the respective link attributes of a plurality of link attributes. Overlapping start nodes of the plurality of start nodes that overlap at an end node of the second plurality of end nodes are identified based on a predefined overlap query graph that defines a connectivity to identify between a start node and the end node. The identified overlapping start nodes are output as a response to the predefined overlap query graph.