Declarative Processing Plans for Network-Independent Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed processing systems face challenges with flexibility, portability, and handling of slow or out-of-service nodes due to their reliance on specific network communications protocols and flow, making upgrades difficult and error-prone.

Innovation Solution

A declarative language is used to separate application logic from network technology, allowing processing plans to specify operations and nodes without detailing communication methods, enabling network-independent and portable processing systems that can adapt to changes in network technology.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If distributed processing systems use specific network communications protocols and flow, then processing can be controlled and coordinated, but the system loses flexibility and portability, making upgrades difficult and error-prone

Engineering Contradiction:
Improveprocessing controlVSAvoidnetwork flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a message broker as an intermediary component that decouples the processing logic from network communication details. The broker handles protocol-specific communication, allowing processing plans to remain protocol-agnostic while maintaining reliable coordination. This resolves the contradiction by providing reliable processing control through the broker while preserving system flexibility and upgradeability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments processing logic into separate processing plans that are independent from network communication code. By dividing the system into distinct components (processing plans, message broker, node executors), each with specific responsibilities, the patent enables independent evolution of communication protocols without affecting processing logic, thus maintaining both reliability and adaptability.

Inventive Principle:
Principle #1Segmentation

2Reliability

If processing logic is tightly integrated with communication code, then system behavior is predictable and controlled, but portability decreases and upgrades become error-prone

Engineering Contradiction:
Improvesystem predictabilityVSAvoidsystem portability
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent extracts communication code from processing logic by introducing a message broker that handles all network communication. Processing plans are taken out from being intertwined with communication protocols and become standalone, portable definitions of processing behavior. This extraction maintains system predictability through the broker's standardized interface while dramatically improving portability and ease of upgrades.

Inventive Principle:
Principle #2Taking out (Extraction)

3Manufacturing precision

If the system waits for all inputs to arrive before performing service, then data completeness is ensured, but processing time increases and system responsiveness decreases

Engineering Contradiction:
Improvedata completenessVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent implements partial service execution by allowing processing nodes to perform services with partial input data when available, rather than waiting for complete input sets. The message broker tracks incoming data and triggers service execution as soon as sufficient data arrives, balancing data completeness requirements with processing time constraints and improving system responsiveness.

Inventive Principle:
Principle #16Partial or excessive action

4Ease of repair

If the system uses a declarative language to separate application logic from network technology, then network upgrades become faster and more accurate, but system complexity increases

Engineering Contradiction:
Improveupgrade speedVSAvoidsystem architecture
Core Design Contradiction:
Ease of repairVSDevice complexity

Solution Approach 1:

The message broker serves as an intermediary that manages the complexity of separating application logic from network technology. By centralizing communication handling in the broker, the system achieves fast and accurate upgrades through protocol abstraction while the broker itself manages the architectural complexity, preventing it from propagating to the processing logic layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2920691B1A network-independent programming model for online processing in distributed systems
Publication Date: 2018.10.10 GOOGLE LLC
  • EP2920691B1 patent drawingFigure 1
  • EP2920691B1 patent drawingFigure 2
  • EP2920691B1 patent drawingFigure 3

AI summary

Systems and methods include a distributed system that uses a declarative language to separate application logic from the network technology used to communicate. For example, in a system with a plurality of processing nodes, each processing node may include at least one processor, a networking layer for communicating with other processing nodes, and a memory storing instructions that, when executed by the at least one processor, cause the processing node to perform operations. The operations may include receiving a processing plan using the networking layer and analyzing the processing plan to determine a service to perform and a number of inputs anticipated for the service. The operations may also include performing the determined service. The processing plan defines a processing tree comprising a subset of the plurality of processing nodes, the processing tree having unidirectional communication from the root to a final level of the tree.