Distributed Event Processing with Low-Cost Routing and Augmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current application partitioning systems for event-based applications require manual identification of object instances and do not optimize component placement, leading to inefficient distribution and management of event-driven applications across distributed computing environments.
Innovation Solution
A Platform-as-a-Service (PaaS) system that automates the partitioning of event-driven applications by analyzing source code to infer relationships between components and applying assignment rules, eliminating the need for manual object instance creation and optimizing component placement across distributed nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual identification of object instances is used for application partitioning, then developers have control over component placement, but the process becomes labor-intensive and error-prone
Solution Approach 1:
The system performs automated application partitioning by analyzing source code and dependency graphs autonomously. The partitioning engine automatically identifies components, determines dependencies, and assigns them to node sets without requiring manual object instance creation or developer intervention, making the system self-sufficient in the partitioning task.
Solution Approach 2:
The patent replaces manual mechanical processes (developers manually identifying and assigning object instances) with an automated computational system. The partitioning engine uses source code analysis and dependency graph generation to automatically determine component placement, substituting human effort with algorithmic processing.
2Productivity
If automated partitioning is implemented, then productivity increases, but the system complexity increases
Solution Approach 1:
The automated partitioning system is divided into distinct functional modules: source code analysis component, dependency graph generation component, node set identification component, and component assignment component. This segmentation allows each module to perform a specific task efficiently, managing overall system complexity through modular design while maintaining high productivity.
Solution Approach 2:
The patent introduces a deployment manager as an intermediary layer between the development environment and the distributed runtime environment. The deployment manager orchestrates the automated partitioning process, managing the complexity of source code analysis, dependency tracking, and component distribution, thereby enabling high productivity without exposing complexity to end users.
3Reliability
If components are distributed across multiple nodes, then system robustness and responsiveness improve, but management complexity increases
Solution Approach 1:
The system dynamically determines component placement by analyzing runtime dependencies and system conditions. The partitioning engine can adapt component assignment to different node sets based on current system state, workload requirements, and dependency relationships, enabling robust distributed deployment while managing complexity through dynamic rather than static allocation.
Solution Approach 2:
The automated partitioning system incorporates feedback mechanisms where the deployment manager monitors component performance and system state after deployment. This feedback enables the system to verify correct component placement, detect issues, and make adjustments if needed, thereby improving system robustness while the feedback loop manages complexity by providing visibility and control over the distributed architecture.
Data Source
AI summary
A method distributes event processing in a distributed computing environment by storing transmission costs between computational node pairs, determining a low-cost route to deliver events from producers to consumers based on the costs, applying an augmentation to events via the low-cost route to generate augmented events, and delivering the augmented events to consumers via the low-cost route. Specifically, the method involves storing transmission costs between each of multiple computational node pairs in the distributed environment, where nodes comprise event producers and consumers. A low-cost route is determined to deliver a detected event from a producer to a consumer based on the stored costs. An augmentation is applied to the event via the low-cost route to generate an augmented event. The augmented event is then delivered to the consumer via the same low-cost route.


