Function Checkpoint for Seamless Service Hub Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face challenges in efficiently migrating and restoring the execution state of program code functions between services hubs, particularly due to resource overload, instability, and the need for transparent and seamless operation within local device networks and service provider environments.

Innovation Solution

The creation and utilization of function checkpoints, which include execution instructions and state data, allows for the suspension and subsequent restoration of program code functions on different services hubs, enabling transparent migration and operation across local device networks and service provider environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If program code functions are migrated between services hubs, then service availability and scalability are improved, but execution state integrity and seamless operation are compromised

Engineering Contradiction:
Improveservice availabilityVSAvoidexecution state integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by creating a checkpoint of the execution state before migration occurs. The checkpoint manager suspends the function instance, captures its execution state including register values and memory contents, and stores this information in a checkpoint data structure. This preliminary capture ensures that the execution state is preserved intact before the function is transferred to a different services hub, thereby maintaining execution state integrity during migration.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements copying by creating a replicated copy of the execution state in the checkpoint data structure. Instead of directly transferring the running function instance, the system creates a copy of its state (register values, memory contents, stack information) and stores it in the checkpoint. This copied state can then be restored on the destination services hub, ensuring that the execution state integrity is maintained across the migration while enabling service availability and scalability.

Inventive Principle:
Principle #26Copying

2Productivity

If function instances are suspended and restored on different services hubs, then load balancing and resource optimization are improved, but migration time and operational complexity increase

Engineering Contradiction:
Improveload balancingVSAvoidmigration time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing the function instance into separate state components that can be independently captured and transferred. The checkpoint data structure segments the execution state into distinct elements such as register values, memory contents, stack information, and instruction pointers. This segmentation allows the system to efficiently serialize and transfer only the necessary state information rather than the entire running process, thereby reducing migration time while enabling effective load balancing across services hubs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary suspension and state capture before the actual migration occurs. By suspending the function instance and capturing its state in advance, the system prepares a ready-to-transfer checkpoint that can be quickly restored on the destination hub. This preliminary action reduces the actual migration time during runtime, as the destination hub can rapidly restore the function from the pre-captured checkpoint rather than performing complex state extraction during the transfer.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If execution state is captured and transferred, then service continuity and fault tolerance are improved, but system complexity and resource overhead increase

Engineering Contradiction:
Improveservice continuityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements universality by designing a checkpoint data structure that serves multiple functions within a single unified format. The same checkpoint structure is used for both capturing execution state for migration purposes and for restoring state for fault tolerance recovery. This multi-functional checkpoint mechanism eliminates the need for separate complex systems for migration and fault recovery, thereby reducing overall system complexity while maintaining service continuity and reliability through state capture and transfer.

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

Solution Approach 2:

The checkpoint manager acts as an intermediary component that mediates between the running function instances and the migration/restoration processes. Rather than requiring direct complex interactions between multiple services hubs and their respective function instances, the checkpoint manager centralizes the state capture, serialization, and restoration operations. This intermediary approach simplifies the overall system architecture by providing a single point of control for state management, thereby reducing system complexity while ensuring service continuity through reliable state transfer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10782950B2Function portability for services hubs using a function checkpoint
Publication Date: 2020.09.22 AMAZON TECH INC
  • US10782950B2 patent drawing
  • US10782950B2 patent drawing
  • US10782950B2 patent drawing

AI summary

Technologies are described for creating a function checkpoint for an instance of a program code function located on a first services hub and using the function checkpoint to load the instance of the program code function on a second services hub. An example method may include creating a function checkpoint for an instance of a program code function loaded in memory of a first services hub, where the function checkpoint may contain execution instructions and execution state data for the instance of the program code function. A second services hub included in the local device network may be identified, and the function checkpoint may be sent to the second services hub to allow execution of the instance of the program code function to be loaded on the second services hub using the function checkpoint.