Database Placement Manager Using Genetic Algorithms
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Providers of software as a service (SaaS) face challenges in optimizing computational resources while maintaining a desired service experience for multiple users with varying requirements, particularly in placing multi-tenant databases across servers to ensure load balancing and fault tolerance.
Innovation Solution
A computer system with a placement manager that uses a genetic algorithm to determine the optimal placement of tenant databases across servers, considering Service Level Agreement (SLA) constraints and computational constraints, by generating and evaluating chromosomes representing potential placements and iteratively improving solutions through an evolutionary loop.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If database placements are optimized to improve resource utilization, then productivity increases, but service level agreement compliance may deteriorate
Solution Approach 1:
The system changes the parameters of database placement by using genetic algorithms to evolve placement configurations. It adjusts placement parameters iteratively to find optimal configurations that simultaneously improve resource utilization while maintaining SLA compliance through automated parameter optimization.
Solution Approach 2:
The system implements feedback mechanisms by evaluating placement configurations against SLA constraints and computational constraints. The chromosome comparator provides feedback on compliance status, and this feedback guides the evolutionary optimization process to maintain SLA adherence while improving productivity.
2Productivity
If multiple tenant databases are placed on fewer servers to improve resource utilization, then productivity increases, but device complexity increases
Solution Approach 1:
The system applies self-service by using automated genetic algorithms to perform placement optimization without manual intervention. The chromosome combiner and comparator automatically evaluate and evolve placements, reducing the complexity burden on operators while improving resource utilization through intelligent self-optimization.
Solution Approach 2:
The system replaces manual placement management mechanics with computational algorithms. Instead of human operators manually managing complex placement decisions, the patent substitutes automated genetic algorithm mechanics that evaluate chromosomes representing placements, thereby reducing operational complexity while improving productivity.
3Reliability
If database placements are optimized for load balancing, then service quality improves, but the complexity of evaluating and adjusting placements increases
Solution Approach 1:
The system segments the placement optimization problem into discrete chromosomes representing individual placement configurations. Each chromosome can be independently evaluated for load balancing performance, and the genetic algorithm processes them in manageable units, reducing evaluation complexity while maintaining optimization effectiveness.
Solution Approach 2:
The system performs preliminary action by pre-evaluating multiple placement configurations through chromosome comparison before implementing changes. The genetic algorithm prepares optimized placements in advance through iterative evaluation, reducing the complexity of real-time adjustment while ensuring load balancing performance.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A placement manager (102) may be configured to determine a placement of a plurality of tenant databases (104) with a plurality of servers (106). The placement manager (102) may include an input handler (120) configured to determine constraints (112) of a service level agreement (SLA) governing an association of the plurality of tenant databases (104) with the plurality of servers (106) and computational constraints (114) associated with the plurality of servers (106), a chromosome comparator (128) configured to compare a plurality of chromosomes, each chromosome including a potential placement of each of the plurality of tenant databases (104) with one of the plurality of servers (106), and configured to compare each of the plurality of chromosomes based on compliance with the SLA constraints (112) and relative to the computational constraints (114), to thereby output a selected subset of the plurality of chromosomes. The placement manager (102) also may include a chromosome combiner configured to combine chromosomes of the selected subset to obtain a next generation of chromosomes for output to the chromosome comparator (128) for comparison therewith of the next generation of chromosomes with respect to the SLA constraints (112) and the computational constraints (114).