Task Scheduler for Single-Threaded Apps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Information management applications using single-threaded programming languages face slow user experiences and operational issues due to sequential task execution, where user interactions are delayed until scheduled tasks are completed, leading to frustrating and error-prone experiences.

Innovation Solution

Implementing a scheduler module that identifies and prioritizes task modules based on user interactions, allowing control to be granted to relevant task modules out of sequence, enabling faster and more responsive user interface operations by interrupting the normal execution flow in response to user interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If tasks are executed sequentially in a single-threaded environment, then system simplicity is maintained, but user experience deteriorates due to slow response times

Engineering Contradiction:
Improvesystem simplicityVSAvoiduser experience responsiveness
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent implements dynamic task scheduling where the execution order of tasks is adjusted based on user interactions. The scheduler monitors user actions and reorders task execution dynamically, allowing high-priority tasks triggered by user interactions to execute before lower-priority scheduled tasks, thereby improving responsiveness without requiring a complete architectural shift to multi-threading

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a scheduler module as an intermediary between task definitions and task execution. This scheduler acts as a mediator that receives task definitions, determines execution order based on user interactions and priorities, and manages task queue operations, thereby decoupling the simplicity of single-threaded code from the responsiveness needs of user interactions

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If all scheduled tasks are completed before user interaction tasks, then task completion reliability is ensured, but user experience worsens due to delays

Engineering Contradiction:
Improvetask completion reliabilityVSAvoiduser interaction delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The scheduler dynamically adjusts task execution priorities based on user interactions. When a user interaction occurs, the scheduler evaluates the interaction against scheduled tasks and can promote interaction-triggered tasks to higher priority, allowing them to execute before lower-priority scheduled tasks while maintaining overall task completion reliability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms where user interactions are monitored and fed back to the scheduler, which then adjusts task execution order accordingly. This feedback loop ensures that tasks relevant to current user actions are prioritized, reducing perceived delays while maintaining reliable task completion

Inventive Principle:
Principle #23Feedback

3Stability of the object's composition

If tasks are executed in strict sequential order, then system stability is maintained, but operational efficiency deteriorates due to inability to handle user interactions promptly

Engineering Contradiction:
Improvesystem stabilityVSAvoidoperational efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The scheduler module serves as an intermediary that manages task execution order without requiring changes to the underlying single-threaded architecture. It maintains system stability by executing tasks sequentially while improving operational efficiency by intelligently reordering tasks based on user interactions, task priorities, and relevance assessments

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system maintains sequential execution stability while dynamically adjusting task priorities and execution order based on runtime conditions. The scheduler can promote certain tasks ahead of others based on user interactions, creating a dynamically optimized execution sequence within the stable single-threaded framework

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10007554B2Task scheduling based on user interaction
Publication Date: 2018.06.26 MICROSOFT TECHNOLOGY LICENSING LLC

AI summary

Provided herein are systems, methods, and software for implementing information management applications. In an implementation, at least a portion of an information management application is embodied in program instructions that include various task modules and a scheduler module. In some implementations the program instructions are written in accordance with a single threaded programming language, such as JavaScript or any other suitable single threaded language. When executed, each task module returns control to the scheduler module upon completing. The scheduler module identifies to which of the plurality of task modules to grant control based at least in part on a relevance of each task module to a user interaction.