Adaptive Shared Computing Infrastructure for Dynamic Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional enterprise computing environments face inefficiencies due to fixed resource allocation, leading to underutilization during periods of less than peak demand, and struggle to adapt to varying demands across different types of applications and application servers.

Innovation Solution

A system and method for dynamically allocating and provisioning shared computing resources using a broker that optimally allocates computing engines across various software applications and application servers, with a configuration manager and optimization module to reconfigure resources based on demand, and a software distribution module for managing resource allocation and deployment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If computing resources are manually assigned and provisioned to meet current demand levels, then service requirements are satisfied, but the system cannot adapt to changing demand levels over time

Engineering Contradiction:
Improveadaptability to demand changesVSAvoidresource allocation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation where computing resources are not fixed but can be automatically adjusted based on changing demand levels. The system continuously monitors performance metrics and demand patterns, then dynamically provisions or de-provisions resources to match current needs, enabling the infrastructure to adapt over time without manual reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs self-service automation where the computing infrastructure automatically monitors its own resource utilization, detects demand changes, and performs self-provisioning or de-provisioning of resources without human intervention. This automated self-management resolves the contradiction by making the system adaptable while avoiding the complexity of manual resource allocation processes.

Inventive Principle:
Principle #25Self-service

2Reliability

If computing resources are assigned according to peak-level demands, then minimum service requirements are met, but resources are underutilized during periods of less than peak demand

Engineering Contradiction:
Improveservice level guaranteeVSAvoidresource underutilization
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system implements dynamic resource provisioning that adjusts resource allocation based on real-time or near-real-time demand conditions. During peak demand periods, resources are automatically provisioned to meet service level requirements. During off-peak periods, excess resources are automatically de-provisioned or scaled down, eliminating underutilization while maintaining reliability when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent utilizes parameter changes in resource allocation by adjusting provisioning levels based on monitored performance metrics and demand indicators. The system changes resource parameters (such as number of virtual machines, CPU allocation, memory allocation) dynamically rather than maintaining fixed peak-level allocations, thereby matching resource supply with actual demand to prevent waste while ensuring service levels are met.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If computing resources are dynamically provisioned using grid computing virtualization, then resource underutilization is reduced, but the system struggles to adapt to varying demands across different types of applications and application servers

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidadaptability to different application types
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal resource pool that can be dynamically allocated to support multiple types of applications and application servers through a common virtualized infrastructure. The system abstracts underlying hardware resources into flexible virtual computing resources that can be provisioned to different application types as needed, enabling high resource utilization while maintaining versatility across diverse workloads including web applications, enterprise applications, and other services-based applications.

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

Solution Approach 2:

The system employs an intermediary virtualization layer that sits between the physical computing resources and diverse applications. This intermediary layer abstracts and standardizes resource interfaces, allowing the underlying infrastructure to efficiently serve multiple application types without requiring application-specific resource management logic. The intermediary enables both high resource utilization and broad adaptability to different application requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7870568B2Adaptive shared computing infrastructure for application server-based deployments
Publication Date: 2011.01.11 CLOUD SOFTWARE GROUP LLC
  • US7870568B2 patent drawing
  • US7870568B2 patent drawing
  • US7870568B2 patent drawing

AI summary

An adaptive system for dynamically provisioning a shared computing infrastructure among a plurality of software applications and a plurality of types of software application servers providing run-time environments for the software applications. The system includes computing engines assigned to execute instances of the software applications, clients accessing the computing engines to request and receive services from the software applications, and a broker device that dynamically allocates engines domains for executing the software applications. The broker device includes an optimization module for allocating the computing engines to the domains, and a configuration manager for configuring the engines. The configuration manager reconfigures a computing engine by halting a current instance of a first software application, and by loading and starting an instance of a second software application. The system is capable of reconfiguring software applications running in environments provided by different types of software application servers.