Global Edge ID Assignment for Evolving Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques for processing large graphs used in big data applications, such as social networking and e-commerce, are inefficient in updating graphs as they evolve over time, as they are designed for static graphs with a fixed number of vertices and edges, lacking a method to assign global edge IDs effectively in dynamic environments.

Innovation Solution

A method for assigning global edge IDs in evolving graphs by dividing vertices into blocks, calculating block IDs, and using these to determine global edge IDs, allowing for efficient storage and calculation, while also implementing incremental Page Rank calculations to reuse trained results and reduce computational overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current static graph processing techniques are used, then the processing method is simple, but the system cannot efficiently update graphs as new vertices and edges are added over time

Engineering Contradiction:
Improveability to update graphs as they evolveVSAvoidcomplexity of graph processing system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides vertices into blocks and segments the adjacency matrix into block matrices. This segmentation allows the system to process and update graphs incrementally by working with smaller block matrices rather than the entire large matrix, enabling efficient updates as new vertices are added while maintaining manageable complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic graph processing by allowing the graph structure to evolve over time. The block matrix representation and incremental update mechanisms enable the system to adapt to changing graph structures by adding new blocks for new vertices rather than reconstructing the entire graph, making the processing system dynamic rather than static.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If the entire adjacency matrix is stored for global edge ID calculation, then edge ID assignment is straightforward, but memory consumption becomes prohibitive for large graphs

Engineering Contradiction:
Improvesimplicity of edge ID assignmentVSAvoidmemory consumption
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent segments the large adjacency matrix into smaller block matrices corresponding to different vertex blocks. Instead of storing and processing the entire adjacency matrix at once, the system stores and operates on smaller block matrices, significantly reducing memory consumption while maintaining the ability to calculate global edge IDs through block matrix operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the two-dimensional adjacency matrix problem into a multi-dimensional block matrix structure. By organizing the matrix into blocks with hierarchical indexing, the system reduces the memory footprint by storing only essential block information rather than the complete dense matrix, enabling edge ID calculation with reduced memory requirements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If static graph processing methods are used, then computational overhead is low, but the system cannot handle evolving graphs with continuously added vertices and edges

Engineering Contradiction:
Improveability to process evolving graphsVSAvoidcomputational efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by pre-defining block structures and establishing block matrix representations before full graph processing. This preliminary organization into blocks enables more efficient incremental updates later, as the computational framework is already in place to handle evolving graph structures without requiring complete reprocessing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous processing of evolving graphs by maintaining the block matrix structure throughout graph evolution. As new vertices and edges are added, the system continuously updates the relevant blocks rather than stopping and restarting processing, maintaining computational efficiency through continuous useful action on the evolving graph structure.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10417280B2Assigning global edge IDs for evolving graphs
Publication Date: 2019.09.17 INTEL CORP
  • US10417280B2 patent drawing
  • US10417280B2 patent drawing
  • US10417280B2 patent drawing

AI summary

A method, computing system, and computer-readable medium for assigning global edge IDs for evolving graphs are described herein. The method includes selecting a block size for an evolving graph and, as new vertices are added to the evolving graph, calculating block IDs for the evolving graph. Calculating the block IDs includes creating a table representing the evolving graph and, as new vertices are added to the evolving graph, calculating block IDs for cells in a new column of the table before calculating block IDs for cells in a new row of the table. The method also includes calculating global edge IDs for the evolving graph based on the source vertex ID, the target vertex ID, and the block ID for the block at which each edge is located. The method may also include calculating incremental Page Rank for the evolving graph.