Computer Execution Progress Indicator Using Runtime Logs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Complex computer tasks in systems like ERP, CRM, and BI often lack accurate progress indicators due to difficulty in determining involved systems and processing overhead from polling, leading to inaccurate execution time estimates.
Innovation Solution
A system that generates an estimated execution time for computer tasks by comparing the task to a log of previously executed commands and their times, using a runtime data log to store and retrieve measured execution times, and displaying a dynamic progress indicator to the user.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If polling is used to query progress of complex tasks, then progress indication is provided, but processing overhead increases and task completion time increases
Solution Approach 1:
The system performs preliminary actions by logging all task execution parameters and actual completion times before the task is executed. This historical data is stored and reused to predict progress without needing to poll during execution, thus avoiding the processing overhead while still providing accurate progress information.
Solution Approach 2:
Instead of polling the actual executing task, the system creates a copy of the task definition and compares it against historical logs of similar tasks. This copying approach allows progress estimation without interfering with the original task execution, eliminating the harmful polling overhead.
2Ease of operation
If generic execution time estimates are used, then progress indicators can be provided, but accuracy deteriorates due to system-specific variations
Solution Approach 1:
The system applies local quality by capturing and using system-specific characteristics (hardware configuration, software environment, system load conditions) when logging task execution data. Each task log entry includes these local contextual factors, allowing the progress estimation to be tailored to the specific system environment rather than using generic estimates.
Solution Approach 2:
The system implements feedback by continuously logging actual task completion times and using this information to refine future estimates. The historical data is fed back into the estimation algorithm, improving accuracy over time as the system learns from actual performance patterns specific to that environment.
3Loss of information
If polling of system portions is performed, then progress information can be obtained, but determining which portions to poll becomes problematic for complex tasks
Solution Approach 1:
The system extracts the progress indication function from the task execution process itself. Instead of polling various system portions during task execution, the progress information is extracted from historical logs of similar tasks, separating the estimation function from the execution function and eliminating the complexity of determining which system portions to poll.
Solution Approach 2:
The system introduces an intermediary layer - a progress estimation service that sits between the task execution and the user interface. This intermediary uses historical data and task parameters to calculate progress without needing to directly poll or interact with the complex backend systems, simplifying the architecture while maintaining accurate progress indication.
Data Source
AI summary
Example systems and methods of providing an indicator of execution progress of a computer task are presented. In one example, a command to perform a computer task is received. The command is compared to a log of commands for computer tasks previously performed on the computer system and their associated execution times. At least one execution time is retrieved from the log based on the comparison. An indicator indicating an estimated execution time for the computer task is provided for presentation to a user of the computer system based on the at least one retrieved execution time.


