Modular Application Server Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing systems face challenges in dynamically managing computing resources across various tasks associated with executing software applications, leading to inefficiencies due to resource-intensive components that hinder overall processing efficiency.

Innovation Solution

The method involves executing software applications on multiple interconnected physical computing devices, where processing resources are measured, and resource-intensive modular components are dynamically deployed to alternate application servers based on predefined criteria, using a remote request dispatcher to optimize resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software applications are executed on a single application server, then the system structure is simple, but processing efficiency deteriorates due to resource-intensive components

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the software application into multiple modular components that can be independently deployed and executed on different application servers. This allows resource-intensive components to be separated from other components, enabling parallel processing across multiple servers and improving overall processing efficiency while maintaining manageable system complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

2Productivity

If computing resources are statically allocated, then system management is simple, but resource utilization deteriorates due to uneven workload distribution

Engineering Contradiction:
Improveresource utilizationVSAvoiddynamic resource management
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The patent implements a feedback mechanism that continuously monitors processing resource consumption by modular components and dynamically adjusts their deployment locations. When a component is detected to be consuming excessive resources on its current server, the system automatically redistributes it to a different server with available capacity, thereby optimizing resource utilization through automated dynamic management.

Inventive Principle:
Principle #23Feedback

3Productivity

If resource-intensive components are concentrated on one server, then deployment is simple, but execution time deteriorates due to server overload

Engineering Contradiction:
Improveexecution timeVSAvoidcomponent distribution
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent employs dynamic load balancing that automatically detects and redistributes resource-intensive modular components from overloaded servers to underutilized servers. This dynamic adjustment of component distribution prevents server overload, reduces execution time for resource-intensive operations, and maintains simple deployment procedures through automated orchestration.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10241843B2Application processing allocation in a computing system
Publication Date: 2019.03.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10241843B2 patent drawing
  • US10241843B2 patent drawing
  • US10241843B2 patent drawing

AI summary

A method for allocating processing of an application performed by a computing system made up of a plurality of interconnected physical computing devices includes executing an application on a first application server associated with the computing system, the application having a number of modular software components; while executing the application, measuring processing resources consumed by one of the modular software components; and in response to one of the modular software components consuming an amount of processing resources defined by a criterion, deploying the one of the modular software components to a second application server associated with the computing system.