Template Engine for Dynamic Hardware Provisioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application deployment methods in application server environments are inflexible, leading to poor hardware utilization and increased costs due to static hardware definitions, and require redeployment when switching between different application servers.

Innovation Solution

A system with a template engine that dynamically provisions resources based on application characteristics by analyzing metadata and using virtualized templates to allocate hardware resources, allowing for flexible adjustment of resources according to performance needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If static hardware definitions are used for application deployment, then deployment process is simple, but hardware utilization is poor and costs increase

Engineering Contradiction:
Improvedeployment simplicityVSAvoidhardware utilization efficiency
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The patent implements dynamic hardware provisioning by introducing a template engine that automatically selects and applies hardware templates based on application characteristics and current system state. This transforms the static hardware allocation model into a dynamic one where resource allocation adapts in real-time to application needs, thereby improving hardware utilization without complicating the deployment process for users.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs self-service mechanisms through automated template selection and application characteristics analysis. The template engine automatically determines which hardware template to apply based on metadata extraction from applications, eliminating the need for manual hardware configuration while optimizing resource allocation. This self-service approach maintains deployment simplicity while significantly improving hardware utilization efficiency.

Inventive Principle:
Principle #25Self-service

2Device complexity

If static hardware definitions are used, then configuration is straightforward, but flexibility to adapt to changing application requirements is limited

Engineering Contradiction:
Improveconfiguration complexityVSAvoidhardware flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic adaptability through a template engine that can select and apply different hardware templates based on application characteristics and changing requirements. This allows the system to adapt to varying computational needs, storage requirements, and other hardware demands without requiring complex manual reconfiguration, thereby maintaining low configuration complexity while achieving high hardware flexibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal hardware provisioning system through standardized templates that can serve multiple application types and scenarios. The template engine universally applies the same selection and provisioning logic across different applications, making the system adaptable to diverse requirements without increasing configuration complexity. This multi-functional template approach enables a single system to handle various hardware allocation scenarios efficiently.

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

3Ease of operation

If application server-specific deployment is used, then deployment is straightforward for each server, but switching between application servers requires redeployment

Engineering Contradiction:
Improvedeployment easeVSAvoidapplication server portability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent implements application server portability through a universal template engine that is independent of specific application server implementations. The template selection and provisioning mechanism works consistently across different application servers, allowing applications to be deployed and migrated between servers without requiring redeployment. This universal approach maintains ease of operation while achieving high adaptability to different application server environments.

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

Solution Approach 2:

The template engine acts as an intermediary layer between applications and application servers, abstracting away server-specific deployment complexities. This intermediary mechanism enables seamless application migration between different application servers by handling the provisioning logic uniformly, thereby maintaining deployment ease while improving application server portability and reducing the need for redeployment during server switching.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9639402B2Systems and methods for automatic hardware provisioning based on application characteristics
Publication Date: 2017.05.02 ORACLE INT CORP
  • US9639402B2 patent drawing
  • US9639402B2 patent drawing
  • US9639402B2 patent drawing

AI summary

Systems and methods are provided for automatically provisioning resources based on application characteristics. In accordance with an embodiment, a system can include a computer, including a computer readable medium and processor, and a template engine, executing on the computer. The template engine is configured to receive applications and associated metadata. The system can also include a virtualized environment, and a plurality of templates, each defining a different resource available within the virtualized environment. When the template engine receives an application and associated metadata, the template engine determines resource requirements for the application based on the associated metadata, compares the resource requirements with the plurality of templates, identifies appropriate templates for the resource requirements, and provisions resources in the virtualized environment using the appropriate templates. Hardware resources can then be allocated dynamically according to the needs of the virtualized environment.