Event Status Propagation via Graph-Based Relationship Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In online applications and services, efficiently propagating a status or feature among related events is challenging due to the need for extensive searching across many records, especially in distributed data storage environments, which can impact processing and data operations, and often results in low-quality content being completely suppressed, potentially depriving users of interesting content.

Innovation Solution

A graph-based representation of related events is maintained, allowing quick identification and propagation of statuses by storing metadata that links events, enabling rapid imputation of statuses from ancestor events to new events without extensive searching, and separating event storage from status storage to limit data operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extensive searching is performed through many records to identify related events, then complete status propagation is achieved, but processing time and computational resources increase significantly

Engineering Contradiction:
Improvestatus propagation completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining pre-computed graph-based representations of event relationships and caching status information. When a new event is ingested, the system proactively queries the graph for related events and pre-determines status propagation paths, so that when status updates are needed, the work has already been partially done. This eliminates the need for extensive searching at the moment of status assignment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates and maintains copies of event relationship data in graph structures and caches status information in multiple locations. Rather than searching through all original event records, the system queries pre-built graph representations and status caches that contain copied relevant information, dramatically reducing search time while maintaining complete status propagation.

Inventive Principle:
Principle #26Copying

2Reliability

If all low-quality content is completely suppressed to prevent spam distribution, then content quality is improved, but users are deprived of potentially interesting low-quality content

Engineering Contradiction:
Improvecontent qualityVSAvoidcontent distribution flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system applies local quality by allowing different distribution policies for different pieces of low-quality content based on their specific characteristics and context. Rather than uniformly suppressing all low-quality content, the system can selectively distribute certain low-quality events to specific user networks where they may be of interest, while preventing broader distribution. This enables nuanced quality management where each content item receives treatment appropriate to its local context.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of content distribution from a binary suppressed/not-suppressed state to a multi-level distribution model. Status values can indicate different distribution restrictions (e.g., network-only, limited audiences, or full suppression), allowing flexible control over how low-quality content is distributed based on its specific properties and the preferences of different user groups.

Inventive Principle:
Principle #35Parameter changes

3Stability of the object's composition

If event storage and status storage are combined, then data consistency is simplified, but data operation complexity and processing overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoiddata operation complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The system segments event storage and status storage into separate components. Events are stored in event records with their relationships represented in graph structures, while status information is maintained separately in status tables and caches. This segmentation allows independent optimization of each storage mechanism and reduces the complexity of data operations, as status updates can be performed without necessarily modifying event records.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces intermediary structures (graph-based representations and status caches) that mediate between event storage and status storage. These intermediaries maintain the relationships and status information in optimized formats, allowing the system to query and propagate statuses efficiently without directly manipulating the core event records, thus simplifying data operations while maintaining consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10628462B2Propagating a status among related events
Publication Date: 2020.04.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10628462B2 patent drawing
  • US10628462B2 patent drawing
  • US10628462B2 patent drawing

AI summary

A system, method, and apparatus are provided for propagating a status among related events. A relationship component of the system maintains a graph of the related events and, upon assignment of a status to an event identifies one or more related events (e.g., the root event, other ancestor events, descendant events). A retention component of the system includes multiple nodes that maintain user records (e.g., sharded by user identifier) storing events associated with the members and that also maintain separate event status tables to identify statuses of selected events. For example, an event status table may store statuses of root events and/or other ancestor events from which a given subsequent event may inherit or derive a status. An event status may reflect a quality or characteristic of the event (e.g., spam, low quality, language of the event), a status of the associated user (e.g., fame, level of influence), etc.