Resumption Event Scheduling via Dynamic Deadlines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In enterprise computing systems, the efficient resumption of suspended processes is hindered by the lack of granular control over resumption events, leading to inefficiencies and increased latency, particularly in resource-constrained environments where crash recovery events may delay timeout events.

Innovation Solution

Implementing a system that prioritizes and schedules resumption events based on per-event deadlines, determined by combining execution times and resumption time windows, allowing for more precise control over the order of process resumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If resumption events are executed in the order they are queued, then the system maintains simple scheduling logic, but the system experiences increased latency and reduced throughput due to inability to prioritize critical events

Engineering Contradiction:
ImprovethroughputVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by calculating resumption deadlines for all events in advance, before execution. Each event's deadline is determined based on its desired execution time and resumption time window, allowing the scheduler to pre-sort events by urgency without adding complex runtime decision logic

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduling problem is segmented into distinct components: events are divided into individual resumption units, each with its own deadline calculation and priority level. This segmentation allows the system to handle multiple events independently with different priorities rather than treating them as a single queue

Inventive Principle:
Principle #1Segmentation

2Reliability

If crash recovery events are always prioritized over timeout events, then critical system recovery is ensured, but non-critical timeout events experience unacceptable delays during multiple simultaneous crashes

Engineering Contradiction:
Improvecrash recovery reliabilityVSAvoidtimeout event delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system changes the parameter of event priority from a fixed category-based system to a dynamic deadline-based system. By calculating specific resumption deadlines for each event based on desired execution time and time window, the system can adapt priorities in real-time rather than using static crash-recovery-always-first rules

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The scheduling system transitions from a static priority model to a dynamic one where event priorities are continuously recalculated based on current time and individual event deadlines. This allows the system to be flexible: crash recovery events get priority when urgent, but timeout events are not permanently deprioritized

Inventive Principle:
Principle #15Dynamics

3Loss of time

If the system services all resumption events immediately, then latency is reduced, but resource constraints are violated and system stability deteriorates

Engineering Contradiction:
Improveresumption latencyVSAvoidsystem stability
Core Design Contradiction:
Loss of timeVSStability of the object's composition

Solution Approach 1:

The system performs preliminary deadline calculations for all events before execution, establishing a predetermined resumption order. This preliminary sorting allows the system to process events in an optimized sequence that balances latency reduction with resource constraints, rather than attempting immediate servicing of all events

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous useful action by keeping the resumption queue continuously sorted by deadline and processing events in that optimized order. This continuous sorted state ensures that the system consistently operates at optimal efficiency without periodic re-sorting overhead

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8375389B2Ordered scheduling of suspended processes based on resumption events
Publication Date: 2013.02.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8375389B2 patent drawing
  • US8375389B2 patent drawing
  • US8375389B2 patent drawing

AI summary

A method includes receiving a plurality of resumption events associated with a plurality of suspended processes. Each resumption event is associated with a suspended process. Each resumption event also includes an execution time and a resumption time window. The method includes determining resumption deadlines for the suspended processes and determining a resumption order based on the resumption deadlines. The resumption deadline for a suspended process is based on the execution time and the resumption time window of the corresponding resumption event. The suspended processes are scheduled for execution in accordance with the resumption order.