Hardware Update Mechanism for Virtualized Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, updating computing resources such as hypervisors and microcode while maintaining system stability and minimizing disruption to connected customers is challenging, especially when security patches and software updates are required, as interruptions can significantly impact user experience.

Innovation Solution

The use of hardware-supported management modes, like SMM, allows for suspended instruction execution, enabling safe updates of virtualization software and firmware by isolating and authenticating updates within a secure memory area, ensuring minimal disruption by resuming execution without restarting servers or shutting down virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional software update methods are used to patch security flaws and software bugs, then system reliability is improved, but system availability deteriorates due to required interruptions and restarts

Engineering Contradiction:
Improvesystem reliabilityVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system is segmented into two separate processor execution contexts: a service domain (SD) for performing updates and a customer domain (CD) for maintaining customer workloads. This segmentation allows updates to be applied in isolation without interrupting customer-facing services, resolving the contradiction between improving reliability through updates and maintaining productivity/availability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A hypervisor acts as an intermediary layer between the physical hardware and customer virtual machines. The hypervisor enables the processor to switch between service domain and customer domain execution contexts, facilitating seamless updates while maintaining continuous service availability. The hardware-supported execution environments provide the intermediary mechanism for transitioning between update and service modes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If computing resources are shared amongst multiple customers via virtualization, then resource utilization efficiency is improved, but the complexity of coordinating updates without impacting customer experience increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidupdate coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The virtualization architecture is segmented into customer domains for service delivery and a service domain for management operations. This segmentation simplifies update coordination by providing a dedicated execution context that is isolated from customer workloads, eliminating the need for complex coordination mechanisms while maintaining high resource utilization through virtualization.

Inventive Principle:
Principle #1Segmentation

3Reliability

If server restarts are performed to install updates, then software bug fixes are applied, but service interruption to virtual machines occurs

Engineering Contradiction:
Improvesoftware update applicationVSAvoidservice interruption time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The processor dynamically switches between execution contexts (service domain and customer domain) based on operational requirements. This dynamic context switching enables updates to be applied in the service domain without requiring server restarts or VM shutdowns, eliminating service interruption time while ensuring software updates are properly applied through the controlled service domain execution environment.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9465652B1Hardware-based mechanisms for updating computer systems
Publication Date: 2016.10.11 AMAZON TECH INC
  • US9465652B1 patent drawing
  • US9465652B1 patent drawing
  • US9465652B1 patent drawing

AI summary

Techniques for using hardware-based mechanisms for updating computing resources are described herein. At a time after receiving a code update request, one or more hardware-supported system management capabilities of processors within a computing system are invoked at least to interrupt execution of currently running instructions. While the system management capabilities are active and instruction execution is suspended, programmatic routines are updated. After the updates are complete, instruction execution is resumed.