Task Linking for Automatic Execution of Dependent Data Tasks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data visualization applications face challenges in managing complex data sets and visualizations, where changes to one visualization do not clearly affect others, and scheduling updates can be difficult, leading to potential inaccuracies and outdated data.
Innovation Solution
A system that allows users to schedule tasks with predefined schedules, automatically linking outputs to ensure data freshness and prevent downstream tasks from running when upstream data is not updated, with notifications for failures, enabling real-time data management and accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If users manually schedule each task individually, then task execution timing can be controlled, but the complexity of managing multiple related tasks increases significantly
Solution Approach 1:
The patent combines multiple independent task scheduling operations into a single unified scheduling interface. When a user schedules one task, the system automatically identifies and schedules all dependent tasks (upstream and downstream) as a group, eliminating the need to manually configure each task separately and reducing management complexity while maintaining data accuracy.
Solution Approach 2:
The scheduling system provides universal functionality that automatically handles multiple task types (upstream, downstream, and related tasks) through a single scheduling operation. The system dynamically determines which tasks to schedule based on data dependencies, making the scheduling mechanism adaptable to various task relationships without requiring different scheduling approaches for each case.
2Reliability
If tasks are scheduled to run at fixed times, then execution timing is predictable, but data may become outdated if upstream changes occur between scheduled runs
Solution Approach 1:
The system implements feedback mechanisms where tasks monitor the status and output of upstream tasks. When an upstream task completes or produces new data, this information feeds back to trigger downstream tasks automatically, ensuring data freshness without requiring fixed scheduling intervals. The system continuously monitors task completion status and initiates dependent tasks when conditions are met.
Solution Approach 2:
The task scheduling system transitions from static fixed-time scheduling to dynamic event-driven scheduling. Tasks are scheduled based on real-time conditions such as upstream task completion, data availability, and dependency satisfaction. This dynamic approach allows the system to adapt scheduling decisions to current system state, ensuring data freshness while minimizing unnecessary executions.
3Ease of operation
If downstream tasks run independently without checking upstream status, then task execution is simple, but data accuracy deteriorates when upstream data is outdated
Solution Approach 1:
The system performs preliminary checks of upstream task status before allowing downstream tasks to execute. Dependency validation is performed in advance to ensure all required upstream data is available and up-to-date. This preliminary verification maintains data accuracy while keeping the execution logic simple, as the system proactively prevents execution under inappropriate conditions rather than requiring complex runtime checks.
Data Source
AI summary
A computer receives a first user input linking a first output of a first task to a second task. The first task is scheduled for execution at a specific time. The computer receives a second user input selecting a third task from a list of additional tasks that are downstream from the second task. In response to the second user input, the computer links the third task to a second output of the second task. At the specific time, the computer automatically executes the first task and updates the first output of the first task. After updating the first output of the first task, the computer automatically executes the second task that is linked to the first output of the first task, including updating the second output of the second task. After updating the second output of the second task, the computer automatically executes the third task.


