Blockchain Task Grouping for Asynchronous Rollback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems face difficulties in identifying and rolling back tasks that depend on other tasks, especially in asynchronous operations, leading to complex and hard-to-maintain code when tasks fail, making it challenging to diagnose and fix errors.
Innovation Solution
The use of blockchain to manage software operations by grouping tasks based on dependencies, allowing for efficient execution and rollback of tasks, with each block in the blockchain containing execution and rollback functions, enabling precise failure diagnosis and simplified error handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If complex programming instructions are added to manage task dependencies and rollbacks in asynchronous operations, then the system can handle task failures and dependencies, but the code becomes very difficult to maintain and understand
Solution Approach 1:
The patent introduces a mediator component that manages task dependencies and rollback logic separately from the task execution code. This intermediary layer handles the complex coordination of asynchronous tasks, their dependencies, and rollback operations, while keeping the individual task implementations simple and maintainable.
Solution Approach 2:
The system segments the complex task management logic into distinct components: task definition, dependency specification, execution orchestration, and rollback handling. Each aspect is separated and managed independently, making the overall system more maintainable despite the complexity of handling asynchronous dependencies.
2Reliability
If complex programming instructions are added to manage task dependencies, then the system can handle rollback operations when tasks fail, but it becomes very difficult to add new operations
Solution Approach 1:
The patent creates a universal task management framework that handles diverse operations (task execution, dependency management, rollback) through a single standardized interface. This multi-functional system can accommodate new operations without requiring separate complex logic for each case, improving adaptability while maintaining reliability.
Solution Approach 2:
The system dynamically adapts to new operations by allowing task definitions and dependencies to be specified in a flexible, declarative manner. New operations can be added by defining their tasks and dependencies without modifying the core execution logic, making the system both reliable and adaptable.
3Productivity
If asynchronous task execution is used to perform operations in parallel, then the system efficiency improves, but it becomes difficult to identify which tasks need to be rolled back when failures occur
Solution Approach 1:
The patent implements a feedback mechanism that tracks the execution status of each asynchronous task and automatically determines which tasks need rollback based on failure propagation rules. The system monitors task outcomes and provides feedback to the orchestration layer, which then identifies affected tasks and triggers appropriate rollback operations without manual intervention.
Solution Approach 2:
The system performs preliminary actions by pre-defining task dependencies and rollback rules before execution. When failures occur, the pre-established dependency graph and rollback policies enable automatic identification of affected tasks, eliminating the difficulty of tracking failures in parallel asynchronous operations.
Data Source
AI summary
Methods and systems are disclosed herein for managing software operations in a computer system. A software operation may include many tasks. The tasks may be grouped together based on the tasks' dependencies on output generated from other tasks. Each group of tasks may be placed in a block of a blockchain based on the dependencies. If the output of a block fails to pass a validation test, the tasks in each block may be undone in an organized order (e.g., starting with the most recently performed task and using the one or more rollback functions associated with each task), which may prevent problems that could occur when some asynchronous tasks complete and others fail. Use of the blockchain may allow the computer system to determine more precisely where an operation failed and may allow the computer system to determine more information about the failure.


