Cloud Service Graph Optimization for Resource Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing environments, the inefficient deployment of services due to unequal resource utilization across virtual machines and containers leads to underutilization, resulting in increased power consumption and costs, as each service requires different resource distributions.
Innovation Solution
A management server generates graphs representing virtual execution environments, allowing for the identification of a minimal set of servers needed to run services, optimizing resource utilization by combining nodes and edges within these graphs to ensure resource requirements are met without exceeding maximum utilization thresholds.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If services are deployed in separate virtual execution environments for each service, then service isolation and management are simplified, but resource utilization becomes unequal and underutilization increases
Solution Approach 1:
The patent combines multiple services into shared virtual execution environments instead of isolating each service in separate environments. The service manager analyzes service requirements and consolidates compatible services together, allowing multiple services to share the same virtual machine or container resources, thereby improving resource utilization while maintaining manageable service groupings
Solution Approach 2:
The patent creates universal virtual execution environments that can host multiple different services simultaneously. Rather than dedicated single-service environments, the virtual execution environments are designed to be multi-functional, accommodating various services with different resource requirements through dynamic resource allocation and service orchestration
2Reliability
If more virtual execution environments are deployed to meet service requirements, then service resource requirements are satisfied, but the number of virtual machines or containers increases leading to higher costs
Solution Approach 1:
The patent merges multiple services into fewer virtual execution environments by analyzing service compatibility and resource requirements. The service manager consolidates services that can share resources, reducing the total number of virtual machines or containers needed while ensuring all service requirements are met through coordinated resource allocation
Solution Approach 2:
The patent dynamically adjusts resource allocation parameters within virtual execution environments to accommodate multiple services. The service manager modifies CPU, memory, and storage allocations based on actual service performance and requirements, allowing a single virtual execution environment to efficiently host multiple services with varying resource needs
3Ease of manufacture
If services are deployed with equal resource distribution across virtual execution environments, then resource allocation is simplified, but services with different resource requirements cannot be optimized
Solution Approach 1:
The patent implements local quality by allowing different resource distribution strategies for different services within the same virtual execution environment. The service manager analyzes each service's specific requirements and allocates resources accordingly, giving each service optimized resource access while maintaining overall system coordination and manageable deployment processes
Data Source
AI summary
Systems and methods of the disclosure include: identifying, by a processing device, a plurality of services of a cloud computing environment, wherein each service of the plurality of services employs one or more virtual execution environments; generating a plurality of graphs, wherein each graph of the plurality of graphs represents a service of the plurality of services, wherein each graph comprises a plurality of nodes, such that each node represents a corresponding virtual execution environment of the one or more virtual execution environments employed by the service, and wherein each node is associated with a computing resource usage indicator reflecting a usage of a computing resource by the corresponding virtual execution environment; and determining, using the plurality of graphs, a set of servers for running the plurality of services.


