Multi-tenant Resource Placement Algorithm
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current multi-tenancy software as a service (SaaS) systems face challenges in accurately calculating resource requirements for new tenants and meeting service level agreement (SLA) constraints, leading to inefficient resource allocation and increased costs due to oversized server estimates and lack of tenant-aware placement solutions.
Innovation Solution
A method and system for dynamic multi-tenancy placement that involves representing tenant constraints and server resource capacity, generating mappings of tenants to offering instances, and assigning tenants to instances based on resource availability and constraints, ensuring optimal resource utilization and compliance with SLA requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If manual server estimates are used for tenant placement, then deployment is simple, but resource allocation is inefficient and costs increase due to oversized server estimates
Solution Approach 1:
The system performs self-service by automatically calculating resource requirements and generating tenant placement recommendations without manual intervention. The automated advisor analyzes tenant constraints, server capacity, and resource usage patterns to produce optimized placement plans, eliminating the need for manual server estimation while improving resource allocation efficiency.
Solution Approach 2:
Manual mechanical estimation processes are replaced with automated computational algorithms. The system uses algorithms to calculate resource requirements, evaluate placement options, and generate recommendations, substituting human judgment with precise computational analysis that optimizes resource allocation while maintaining deployment simplicity.
2Measurement precision
If tenant-aware placement solutions are implemented, then resource allocation accuracy improves, but system complexity increases
Solution Approach 1:
The placement system is segmented into distinct functional modules: a constraint representation module that models tenant requirements, a resource calculation module that computes resource needs, and a recommendation generation module that produces placement advice. This segmentation manages complexity by organizing functions into separate, manageable components while achieving accurate resource allocation.
Solution Approach 2:
An automated advisor acts as an intermediary between tenant requirements and server placement decisions. This intermediary component processes complex calculations and constraints, then presents simplified recommendations to administrators, bridging the gap between complex analysis and user-friendly interfaces.
3Productivity
If automated dynamic placement is implemented, then resource utilization optimizes and costs reduce, but calculation complexity for new tenant resource requirements increases
Solution Approach 1:
The system performs preliminary actions by pre-calculating resource requirements for new tenants before actual placement. The automated advisor computes resource needs in advance, evaluates multiple placement scenarios, and prepares optimized recommendations, enabling efficient resource utilization while managing calculation complexity through advance planning.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring resource usage patterns, tenant constraints, and placement outcomes. This feedback informs subsequent resource calculations and placement decisions, optimizing resource utilization while adapting to changing conditions without requiring increasingly complex calculations for each new tenant.
Data Source
AI summary
A method for assigning tenants of users to offering instances of an application or middleware includes representing a set of offerings as respective offering instances of the application or middleware available from a server, determining server resource capacity of the server, representing constraints associated with the tenants and the offering instances, generating a mapping of the tenants to the offering instances based on the server resource capacity and constraints, and assigning a tenant to an offering instance according to the mapping, wherein the offering instance is made accessible to the users of the assigned tenant.


