Serializing Duration-Limited Task Executions in On-Demand Code Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

On-demand code execution systems face challenges in processing large data sets and long-running iterative processes due to duration limits, which can lead to incomplete executions and resource inefficiencies.

Innovation Solution

The system enables serialization of code across multiple duration-limited executions by determining when a duration limit is approaching and initiating subsequent executions from a determined state, allowing processes to be spread across multiple executions without exceeding individual limits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If duration limits are imposed on code executions to prevent resource ties, then resource availability is improved, but task completion capability deteriorates

Engineering Contradiction:
Improveresource availabilityVSAvoidtask completion capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides a long-running task into multiple sequential executions, each within the duration limit. The task is segmented into chunks that can be executed separately, with state preserved between executions. This allows the system to enforce duration limits while still completing tasks that would otherwise exceed the limit, resolving the contradiction between resource availability and task completion capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by saving task state at predetermined intervals before the duration limit is reached. This preliminary state preservation enables resumption of execution without restarting the entire task, ensuring that even with duration limits, the task can be completed through multiple executions.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If code is executed within a single duration-limited execution, then resource utilization is improved, but task completion reliability deteriorates

Engineering Contradiction:
Improveresource utilizationVSAvoidtask completion reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments long-running iterative processes into multiple execution units, each fitting within the duration limit. By dividing the task into manageable chunks and preserving state between executions, the system maintains high resource utilization while ensuring reliable task completion through the accumulation of partial results across multiple executions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system maintains continuity of useful action by resuming task execution from the saved state rather than restarting. This ensures that the computational work accumulates continuously across multiple executions, maintaining reliability of task completion while respecting duration limits and optimizing resource utilization.

Inventive Principle:
Principle #20Continuity of useful action

3Speed

If large data sets are processed in single executions, then processing speed is improved, but system stability deteriorates due to duration limits

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem stability
Core Design Contradiction:
SpeedVSStability of the object's composition

Solution Approach 1:

The patent segments large data set processing into multiple executions, each processing a portion of the data within the duration limit. This segmentation maintains processing speed by keeping each execution efficient while ensuring system stability by preventing any single execution from exceeding the duration limit, thus avoiding system instability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10725826B1Serializing duration-limited task executions in an on demand code execution system
Publication Date: 2020.07.28 AMAZON TECH INC
  • US10725826B1 patent drawing
  • US10725826B1 patent drawing
  • US10725826B1 patent drawing

AI summary

Systems and methods are described for conducting data processing against a target data set using multiple, duration-limited task executions in an on-demand code execution system. The on-demand code execution system can enable execution of user-specified code as a task, but may establish duration limits for each task execution. Such duration limits can sometimes cause a task execution to fail, such as when processing a large data set. To overcome this problem, this disclosure enables data processing to occur over multiple task executions. Each task execution can process a portion of a data set selected such that data processing of the portion can complete prior to expiration of the duration limit. If an additional portion remains, the task execution can generate state information to enable an additional execution to conduct data processing on an additional portion, and pass that state information within a call to start the additional execution.