Preemptive Scheduling for In-Enclave Threads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional secure enclaves lack support for preemptive scheduling, which is essential for avoiding thread starvation and improving program responsiveness, despite their ability to provide secure and confidential data manipulation within trusted computation environments.

Innovation Solution

The implementation of preemptive scheduling enclaves that include a scheduler capable of rescheduling in-enclave threads, leveraging default enclave thread actions to initiate preemptive scheduling through a preemption manager, allowing for seamless handling of hardware interrupts and resourceful allocation of processor time without requiring modifications to the operating system or additional hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional secure enclaves are used without preemptive scheduling, then security and confidentiality of data manipulation are maintained, but thread starvation occurs and program responsiveness deteriorates

Engineering Contradiction:
Improvesecurity and confidentialityVSAvoidprogram responsiveness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the enclave execution model into two distinct modes: secure enclave execution for maintaining confidentiality and a preemptive scheduling layer for improving responsiveness. The scheduler is divided into an enclave scheduler (executing within the enclave) and an exclave scheduler (executing outside the enclave), allowing different scheduling strategies to be applied in different contexts while preserving security boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary scheduling layer that mediates between the secure enclave environment and the external operating system. This intermediary scheduler monitors enclave thread execution and can trigger context switches without compromising the enclave's security model, thereby improving program responsiveness while maintaining security guarantees.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If preemptive scheduling is implemented in secure enclaves, then thread starvation is avoided and program responsiveness improves, but enclave complexity increases

Engineering Contradiction:
Improveprogram responsivenessVSAvoidenclave complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the preemptive scheduling functionality with the existing enclave thread management infrastructure. The scheduler utilizes existing enclave data structures and execution mechanisms, combining security enforcement and thread scheduling into a unified framework rather than adding separate complex systems.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The enclave scheduler is designed to perform multiple functions: it manages thread scheduling, handles context switches, enforces security policies, and coordinates with the exclave scheduler. This multi-functionality reduces overall system complexity by consolidating responsibilities into a single versatile component.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If preemptive scheduling is implemented in secure enclaves, then logical processor utilization improves, but requirements for OS modifications or additional hardware increase

Engineering Contradiction:
Improvelogical processor utilizationVSAvoidsystem modification requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a self-service scheduling mechanism where the enclave scheduler autonomously manages thread scheduling within the enclave without requiring external intervention. The scheduler can independently make scheduling decisions, trigger context switches, and manage thread states, eliminating the need for operating system modifications or additional hardware support.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent prepares scheduling data structures and thread states in advance within the enclave before context switches are needed. Thread information, scheduling priorities, and execution contexts are pre-configured and maintained in enclave-managed data structures, allowing rapid context switches without requiring external system modifications.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10908952B2Preemptive scheduling of in-enclave threads
Publication Date: 2021.02.02 INTEL CORP
  • US10908952B2 patent drawing
  • US10908952B2 patent drawing
  • US10908952B2 patent drawing

AI summary

Preemptive scheduling enclaves as disclosed herein support both cooperative and preemptive scheduling of in-enclave (IE) thread execution. These preemptive scheduling enclaves may include a scheduler configured to be executed as part of normal hardware interrupt processing by enclave threads. The scheduler identifies an IE thread to be scheduled and modifies enclave data structures so that when the enclave thread resumes processing after a hardware interrupt, the identified IE thread is executed, rather than the interrupted IE thread.