Dynamic Process Management for Cloud Game Hosting Instances

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based game hosting services face inefficiencies in utilizing computing resources due to overutilization or underutilization, leading to suboptimal game performance and user experience, as game developers struggle to manually determine the optimal number of processes to run on virtual machine instances based on changing resource demands.

Innovation Solution

Implementing a dynamic process management system that collects performance metrics and health values from virtual machine instances to adjust the number of concurrently executing processes, ensuring efficient resource utilization and maintaining acceptable game performance by generating updated configuration data based on threshold values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of processes executing on VM instances is increased to improve resource utilization, then computing resource utilization is improved, but game performance deteriorates due to overutilization

Engineering Contradiction:
Improvecomputing resource utilizationVSAvoidgame performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts the number of processes permitted to execute on VM instances based on real-time health values and performance metrics. The game hosting service continuously monitors process health and modifies process counts upward or downward to maintain optimal performance while maximizing resource utilization, transforming a static configuration into a dynamic adaptive system.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback loops where health values from process monitoring are continuously fed back to the game hosting service. Based on this feedback, the service determines whether to increase or decrease the number of processes, creating a closed-loop control system that automatically maintains performance thresholds while optimizing resource usage.

Inventive Principle:
Principle #23Feedback

2Reliability

If the number of processes executing on VM instances is decreased to maintain game performance, then game performance is maintained, but computing resource utilization deteriorates due to underutilization

Engineering Contradiction:
Improvegame performanceVSAvoidcomputing resource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Rather than maintaining a fixed conservative process limit, the system dynamically adjusts process counts based on actual health values. When health metrics indicate capacity for more processes, the system increases utilization; when thresholds are approached, it reduces processes. This dynamic approach prevents both overutilization and underutilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of process count based on monitored health values and performance metrics. By continuously adjusting this parameter upward or downward according to system state, the system optimizes the balance between resource utilization and performance maintenance.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If manual configuration of process numbers is used to optimize performance, then game performance can be maintained, but system complexity increases and adaptability to changing demands deteriorates

Engineering Contradiction:
Improvegame performanceVSAvoidadaptability to changing resource demands
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system enables self-service automation where the game hosting service autonomously monitors health values, determines optimal process counts, and adjusts configurations without manual intervention. This eliminates the need for developers to manually calculate and configure process numbers, allowing the system to automatically adapt to changing resource demands and performance requirements.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

By implementing continuous feedback loops that monitor process health and automatically adjust process counts, the system replaces manual configuration with adaptive automated control. The feedback mechanism enables the system to respond dynamically to changing conditions without human intervention, improving both adaptability and reducing operational complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10967274B1Dynamic management of processes executing on computing instances
Publication Date: 2021.04.06 AMAZON TECH INC
  • US10967274B1 patent drawing
  • US10967274B1 patent drawing
  • US10967274B1 patent drawing

AI summary

This disclosure describes techniques for a game-hosting service of a service provider network to dynamically determine a number of processes that are permitted to concurrently execute on an instance based on health values that indicate performances of the processes running on the instance. The game-hosting service may periodically or continuously receive health values from the instance, or multiple instances in a fleet of instances, and determine whether additional processes may be permitted to run, or if less processes may be permitted to run, on the instance based on the performance of the processes that are concurrently running on the instance. In this way, instances may dynamically be permitted to concurrently execute additional processes, or less processes, to help ensure that computing resources are being efficiently utilized, but also while maintaining acceptable performance for processes (e.g., game sessions) that are hosted on the instances.