Runtime Memory Configuration for Executable Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer execution systems lack a flexible and optimized memory allocation and management approach, often using a single allocation scheme for all applications, which can lead to inefficiencies as they fail to account for the unique requirements of individual processes and environments.

Innovation Solution

A configurable memory allocation and management system that generates a configuration file with optimized settings, allowing for tailored memory allocation and garbage collection parameters for each application or process, using offline analysis and data collection from diverse systems to determine valid settings based on static and dynamic state information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a single allocation scheme is applied to all executable code, then the system design is simple and general-purpose, but memory allocation efficiency deteriorates due to inability to account for unique process requirements

Engineering Contradiction:
Improvesystem design simplicityVSAvoidmemory allocation efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent segments memory allocation management by creating separate allocation schemes for different executable codes. The system divides the general memory management function into code-specific allocation policies, allowing each executable to have its own optimized memory allocation strategy while maintaining overall system structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic memory allocation schemes that can adapt to different executable codes and their unique requirements. The system allows memory allocation parameters to be dynamically adjusted based on the specific characteristics of each executing code, transitioning from static general-purpose allocation to dynamic code-specific allocation.

Inventive Principle:
Principle #15Dynamics

2Productivity

If optimized memory settings are applied to individual applications, then memory management efficiency improves, but system complexity increases due to multiple configuration schemes

Engineering Contradiction:
Improvememory management efficiencyVSAvoidsystem configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where the system automatically selects and applies appropriate memory allocation schemes based on the executing code identification. The memory management system serves itself by autonomously determining which allocation policy to apply without requiring manual configuration for each application, reducing the perceived complexity while maintaining optimization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent manages complexity by systematically organizing memory allocation parameters into configurable schemes that can be selectively applied. Instead of hardcoding complex logic throughout the system, the invention uses parameter-based configuration where memory allocation behavior is controlled by selectable schemes with defined parameters, making the system more manageable despite multiple optimization strategies.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If default settings are used when optimized settings are unavailable, then system reliability is maintained, but memory allocation performance deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidmemory allocation performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements feedback mechanisms where the system continuously monitors memory allocation performance and the availability of optimized settings for different executable codes. When optimized settings become available through learning or configuration, the system transitions from using default settings to applying the optimized scheme, thereby improving performance while maintaining reliability during the transition period.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8656134B2Optimized memory configuration deployed on executing code
Publication Date: 2014.02.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8656134B2 patent drawing
  • US8656134B2 patent drawing
  • US8656134B2 patent drawing

AI summary

A configurable memory allocation and management system may generate a configuration file with memory settings that may be deployed at runtime. An execution environment may capture a memory allocation boundary, look up the boundary in a configuration file, and apply the settings when the settings are available. When the settings are not available, a default set of settings may be used. The execution environment may deploy the optimized settings without modifying the executing code.