Social affinity scores for proactive network resource allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current content distribution networks face inefficiencies in predicting and allocating resources for data transmission to users, as they lack a method to accurately anticipate and prepare for data demands based on user interactions and relationships.

Innovation Solution

Calculating a collective social affinity score between network elements to pre-fetch data and allocate resources proactively, by identifying user pairs, retrieving social graph information, and determining a weighted average of social affinity scores to anticipate peak periods and optimize data transmissions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If content is proactively cached at intermediary network elements, then distribution speed to network edges is improved, but resource allocation efficiency deteriorates due to inability to accurately predict demand

Engineering Contradiction:
Improvedistribution speedVSAvoidresource allocation efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system performs preliminary actions by proactively caching content at intermediary network elements before actual user requests occur. The social affinity score mechanism enables the system to predict which users are likely to request content and pre-position content at the appropriate network elements, transforming reactive caching into predictive pre-positioning that improves both speed and resource efficiency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If resources are allocated for data transmission, then user data demand is met, but latency increases due to lack of anticipatory resource preparation

Engineering Contradiction:
Improvedata demand fulfillmentVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system calculates social affinity scores between users and uses these scores to predict future data transmission needs. By proactively allocating resources and pre-fetching content based on predicted demand patterns, the system eliminates latency that would otherwise occur during actual data transmission, while ensuring resources are only allocated when prediction confidence is high.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If social graph information is retrieved and processed, then prediction accuracy for data demands is improved, but system complexity increases

Engineering Contradiction:
Improveprediction accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system introduces an intermediary prediction layer that sits between the social graph data and the content distribution system. The social affinity score acts as a simplified intermediary metric that captures complex social relationship patterns without requiring the full complexity of the social graph to be processed for every distribution decision, thereby improving prediction accuracy while managing system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3012798B1Social scores for network elements
Publication Date: 2019.06.05 META PLATFORMS INC
  • EP3012798B1 patent drawingFigure 1A
  • EP3012798B1 patent drawingFigure 1B
  • EP3012798B1 patent drawingFigure 2A

AI summary

In one embodiment, a method includes identifying users of a social-networking system whose client devices receive and transmit data by a first network element, and retrieving social graph information for each of the users. The social graph information for each user may comprise (1) a social affinity score for each relationship between the user and one of their social-graph connections and (2) an identification of a second network element to which a client system of the social-graph connection is connected. Particular embodiments may include calculating a collective social affinity score between the first network element and the second network element based at least in part on individual social affinity scores for relationships between the users and the social-graph connections, and taking action, based on the collective social affinity score, to handle data transmissions involving the first users and the second users (e.g., pre-fetching data and/or establishing additional TCP connections.