Global Edge ID Assignment for Evolving Graphs
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


