Social Network Graph Querying via Static Fixed-Size Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex querying of social and online professional network data is time- and resource-intensive due to the exponential increase in the number of links to be scanned with the number of hops in the query, leading to significant computational resources and latency issues, especially when dealing with nodes having a large number of connections.

Innovation Solution

A system that processes social network data by maintaining a static representation of the graph on a single computer system, using fixed-size blocks and an index to efficiently retrieve data, and a dynamic representation in memory to track changes, reducing the need for multiple machines and minimizing latency through contiguous data storage and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If complex queries scan all links between individuals to find paths in the social network, then query completeness is improved, but the number of links to be scanned increases exponentially with the number of hops, causing time and resource consumption to worsen

Engineering Contradiction:
Improvequery completenessVSAvoidquery execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the social network graph into fixed-size blocks organized in a grid structure, where each block contains a subset of nodes and their connections. This segmentation allows queries to be processed in distributed fashion across multiple machines, with each machine handling a specific block, thereby reducing the exponential time complexity by dividing the search space into manageable segments that can be processed in parallel.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a spatial dimension by organizing graph blocks in a two-dimensional grid layout with coordinates. This dimensional transformation enables efficient routing and localization of data blocks across distributed machines, allowing the system to quickly navigate to relevant blocks without scanning the entire graph, thus reducing query execution time while maintaining completeness.

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

2Power

If the system uses a cluster-based architecture to distribute graph processing, then computational capacity is improved, but system complexity and deployment difficulty increase

Engineering Contradiction:
Improvecomputational capacityVSAvoidsystem architecture complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The patent designs each worker machine to be a universal node capable of processing any graph block type (source blocks, intermediate blocks, destination blocks) and handling various query operations. This multi-functionality allows the system to scale by simply adding identical worker machines without increasing system complexity, as each machine can perform any required operation, thereby improving computational capacity while maintaining architectural simplicity.

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

Solution Approach 2:

The patent uses identical copies of the graph data distributed across multiple worker machines, where each machine holds a complete or partial copy of the graph blocks it needs to process. This copying approach enables parallel processing and improves computational capacity while keeping each node's software stack simple and uniform, reducing deployment complexity compared to specialized cluster architectures.

Inventive Principle:
Principle #26Copying

3Productivity

If the system stores graph data distributed across multiple machines, then processing parallelism is improved, but network communication overhead and latency increase

Engineering Contradiction:
Improvequery throughputVSAvoidnetwork communication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent pre-computes and caches intermediate results during the graph traversal process, storing them in local memory on worker machines. This preliminary action reduces the need for repeated network communications during query execution, as intermediate findings are already available locally, thereby improving throughput while reducing network overhead and energy consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces coordinator machines that act as intermediaries between client queries and worker machines. The coordinator receives queries, determines which worker machines need to be contacted, and manages the aggregation of results. This intermediary layer optimizes network communication by batching requests and reducing the total number of network hops, thereby improving throughput while minimizing communication overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10037388B2Fast querying of social network data
Publication Date: 2018.07.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10037388B2 patent drawing
  • US10037388B2 patent drawing
  • US10037388B2 patent drawing

AI summary

The disclosed embodiments provide a system for processing data. During operation, the system obtains a graph of a social network, wherein the graph includes a set of nodes representing users in the social network and a set of edges representing relationships between pairs of the users. Next, the system stores, on a single computer system, a static representation of the graph, wherein the static representation includes a first set of fixed-size blocks representing the nodes and the edges and a first index that maps a set of identifiers for the nodes and the edges to offsets of the first set of fixed-size blocks. The system then uses the static representation of the graph to process, by the single computer system, one or more queries of the graph.