Distributed Program Execution Service Manager for Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing large-scale distributed computing resources across multiple geographical locations is complex due to increased scale and scope, requiring efficient and secure sharing of computing resources while ensuring application isolation and security.

Innovation Solution

A Distributed Program Execution Service System Manager module that determines and configures computing resources for distributed program execution across multiple nodes, allowing users to specify execution parameters and automatically adjusts for optimal performance, and provides tracking and modification capabilities for ongoing executions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtualization technologies are used to share computing resources among multiple users, then resource utilization efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments computing resources into virtual machines (VMs) that can be independently allocated and managed. Each VM is a virtualized instance that can be deployed on different physical hosts, enabling efficient resource sharing while maintaining isolation and simplicity through standardized virtualization layers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a resource manager as an intermediary component that abstracts the complexity of physical hardware from users. This manager handles resource allocation, migration, and scheduling, allowing users to interact with simplified virtual interfaces while the system manages the underlying physical complexity automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If computing resources are distributed across multiple geographical locations, then system reliability is improved, but management complexity increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidmanagement complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal resource manager that operates consistently across multiple geographical locations and data centers. This multi-functional manager handles allocation, monitoring, and coordination tasks uniformly regardless of location, enabling distributed operations without increasing management complexity through standardized protocols and interfaces.

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

Solution Approach 2:

The patent incorporates feedback mechanisms that continuously monitor system status across distributed locations and automatically adjust resource allocation in response to failures or performance changes. This closed-loop control maintains reliability while reducing manual management complexity through automated responses to system conditions.

Inventive Principle:
Principle #23Feedback

3Power

If more computing nodes are allocated for distributed execution, then processing capability is improved, but resource allocation complexity increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidresource allocation complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation where computing nodes can be dynamically added, removed, or migrated based on workload demands. The resource manager continuously adjusts the number and distribution of active nodes, enabling the system to scale processing capability up or down while managing allocation complexity through automated decision-making algorithms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes allocation parameters such as node count, distribution pattern, and resource quotas based on workload characteristics and system state. By adjusting these parameters dynamically, the system optimizes processing capability while the resource manager handles the complexity of reconfiguration automatically based on predefined policies and metrics.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9826031B2Managing distributed execution of programs
Publication Date: 2017.11.21 AMAZON TECH INC
  • US9826031B2 patent drawing
  • US9826031B2 patent drawing
  • US9826031B2 patent drawing

AI summary

Techniques are described for managing distributed execution of programs. In some situations, the techniques include determining configuration information to be used for executing a particular program in a distributed manner on multiple computing nodes and/or include providing information and associated controls to a user regarding ongoing distributed execution of one or more programs to enable the user to modify the ongoing distributed execution in various manners. Determined configuration information may include, for example, configuration parameters such as a quantity of computing nodes and/or other measures of computing resources to be used for the executing, and may be determined in various manners, including by interactively gathering values for at least some types of configuration information from an associated user (e.g., via a GUI that is displayed to the user) and/or by automatically determining values for at least some types of configuration information (e.g., for use as recommendations to a user).