Operator State Access via Object Graph Querying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems, particularly event processing systems, accessing operator state information is challenging due to its encapsulation within operators, making it difficult to retrieve intermediate values and historical state information without duplicating operator state or using debuggers, which are inefficient and disruptive to computations.

Innovation Solution

A data processing system is designed with an interface and query manager that utilizes an object graph to provide access to operator state information, allowing queries to traverse nodes and retrieve state information at different points in time, enabling efficient access to temporal state information without duplicating operator state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If operator state information is encapsulated within operators, then operator integrity and modularity are maintained, but accessibility of state information for querying and analysis is lost

Engineering Contradiction:
Improveoperator integrityVSAvoidstate information accessibility
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mechanism that bridges the gap between encapsulated operator state and external querying needs. The system maintains operator encapsulation while providing controlled access to state information through a query interface that can retrieve intermediate values and historical state without breaking the operator's internal structure or requiring state duplication.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If operator state is duplicated to enable access, then state information becomes accessible, but memory requirements and system complexity increase

Engineering Contradiction:
Improvestate information accessibilityVSAvoidmemory requirements
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary state information that needs to be accessed externally, rather than duplicating entire operator states. The system identifies and exposes specific intermediate values and historical state data that are queryable, while keeping the rest of the operator state encapsulated and managed internally, thus avoiding unnecessary memory overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

3Difficulty of detecting and measuring

If traditional debugging methods are used to access operator state, then state information can be inspected, but computation is disrupted and performance degrades

Engineering Contradiction:
Improvestate inspection capabilityVSAvoidcomputation performance
Core Design Contradiction:
Difficulty of detecting and measuringVSProductivity

Solution Approach 1:

The patent implements a self-service mechanism where the operator system itself provides state information access through a dedicated query interface, eliminating the need for external debugging tools. The query manager allows users to retrieve state information without pausing or disrupting the computation flow, as the system serves its own state inspection needs internally while maintaining full computational performance.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240168964A1Providing access to state information associated with operators in a data processing system
Publication Date: 2024.05.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20240168964A1 patent drawing
  • US20240168964A1 patent drawing
  • US20240168964A1 patent drawing

AI summary

A data processing system that provides access to operator state information includes a plurality of operators that are configured to perform a computation with respect to data received from data sources. State information is associated with at least one of the plurality of operators. The data processing system also includes an object graph that comprises a representation of the computation, and that may dynamically change at runtime. The data processing system also includes an interface that provides access to the state information via the object graph. The data processing system also includes a query manager that is executable to process a graph query to retrieve the state information by traversing a plurality of nodes within the object graph. Temporal navigation is also supported. Thus, processing a graph query may involve navigating to a node in the object graph at a certain point in time.