IP Library › Granted Patent US 11,971,849
Granted Patent B2
US 11,971,849 · App. 17/677,450 · Granted Apr 30, 2024

Managing fleet of multi-tenant logical databases in relational database management system servers

Inventors: Abhik Gupta (Kolkata, IN); Nishtha Srivastava (Lucknow, IN); Vineet Singh (Delhi, IN)
Assignee: SAP SE
G06F16/122G06F16/284
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,971,849
App. No.
17/677,450
Granted
Apr 30, 2024
Kind
B2
Abstract

According to some embodiments, methods and systems may manage a fleet of multi-tenant logical databases in Relational Database Management System (“RDBMS”) servers for a cloud computing environment. The system may include a pool of physical RDBMS servers (e.g., Postgre-Structured Query Language (“SQL”) servers) and a tenant-aware Application Programming Interface (“API”) that is accessed by tenants. A computer processor of a database allocation engine may receive, from the tenant-aware API, a request to provision a logical database including a tenant identifier associated with a requesting tenant. The database allocation may then select an eligible physical RDBMS server in the pool of physical RDBMS servers and allocate a logical database for the requesting tenant via the selected physical RDBMS server (e.g., using the tenant identifier).

Claims (37)

1. A system to manage a fleet of multi-tenant logical databases in Relational Database Management System (“RDBMS”) servers for a cloud computing environment, comprising:

a pool of physical RDBMS servers;

a tenant-aware Application Programming Interface (“API”) accessed by tenants; and

a database allocation engine, including:

a computer processor, and

a computer memory storing instructions that, when executed by the computer processor, cause the database allocation engine to:

receive, from the tenant-aware API, a request to provision a logical database including a tenant identifier associated with a requesting tenant,

select an eligible physical RDBMS server in the pool of physical RDBMS servers, and

allocate a logical database for the requesting tenant via the selected physical RDBMS server using the tenant identifier,

wherein operational intelligence implements a constraint-oriented rule including a maximum number of tenant databases per physical RDBMS server and a multi-mode physical RDBMS server scaling limit, including a first mode in which the database allocation engine scales up if a percentage of physical nodes has reached a maximum limit and a second mode in which the database allocation engine scales up if a mean of overall system utilization has reached a defined threshold.

2. The system of claim 1 , wherein the selected physical RDBMS server hosts multiple logical databases for multiple tenants.

3. The system of claim 1 , wherein the database allocation engine enforces Role-Based Access Control (“RBAC”) for physical RDBMS servers to preclude access to the allocated logical database by other tenants.

4. The system of claim 1 , wherein the physical RDBMS servers comprise Postgre-Structured Query Language (“SQL”) servers.

5. The system of claim 1 , wherein the allocated logical database is associated with a physical server node having a resource quota manager to gather resource usage metrics associated with tenants.

6. The system of claim 1 , wherein the allocated logical database is associated with a physical server node having a process health manager for automatic monitoring, maintenance, and restoration of node processes.

7. The system of claim 1 , wherein the allocated logical database is associated with operational intelligence to perform all of the following: (i) tune a default system allocation algorithm for tenant databases; (ii) tweak scheduling engine parameters for the physical RDBMS servers; (iii) tune backup schedules for specified logical databases; (iv) execute an offline transition of allocated tenant databases to more eligible physical RDBMS servers; (v) perform health checks for the physical RDBMS servers; and (vi) add or remove policy definitions for tenant database operations.

8. The system of claim 1 , wherein the constraint-oriented rule further comprises: (i) fill-queue database scheduling, (ii) affinity-based scheduling, and (iii) size-based scheduling.

9. A computer-implemented method to manage a fleet of multi-tenant logical databases in Relational Database Management System (“RDBMS”) servers for a cloud computing environment, comprising:

receiving, at a computer processor of a database allocation engine from a tenant-aware Application Programming Interface (“API”) accessed by tenants, a request to provision a logical database including a tenant identifier associated with a requesting tenant;

selecting an eligible physical RDBMS server from a pool of physical RDBMS servers; and

allocating a logical database for the requesting tenant via the selected physical RDBMS server using the tenant identifier,

wherein operational intelligence implements a constraint-oriented rule including a maximum number of tenant databases per physical RDBMS server and a multi-mode physical RDBMS server scaling limit, including a first mode in which the database allocation engine scales up if a percentage of physical nodes has reached a maximum limit and a second mode in which the database allocation engine scales up if a mean of overall system utilization has reached a defined threshold.

10. The method of claim 9 , wherein the selected physical RDBMS server hosts multiple logical databases for multiple tenants.

11. The method of claim 10 , wherein the database allocation engine enforces Role-Based Access Control (“RBAC”) for physical RDBMS servers to preclude access to the allocated logical database by other tenants.

12. The method of claim 9 , wherein the physical RDBMS servers comprise Postgre Structured Query Language (“SQL”) servers.

13. The method of claim 9 , wherein the allocated logical database is associated with a physical server node having a resource quota manager to gather resource usage metrics associated with tenants.

14. The method of claim 9 , wherein the allocated logical database is associated with a physical server node having a process health manager for automatic monitoring, maintenance, and restoration of node processes.

15. The method of claim 9 , wherein the allocated logical database is associated with operational intelligence to perform all of the following: (i) tune a default system allocation algorithm for tenant databases; (ii) tweak scheduling engine parameters for the physical RDBMS servers; (iii) tune backup schedules for specified logical databases; (iv) execute an offline transition of allocated tenant databases to more eligible physical RDBMS servers; (v) perform health checks for the physical RDBMS servers; and (vi) add or remove policy definitions for tenant database operations.

16. The method of claim 9 , wherein the constraint-oriented rule further comprises: (i) fill-queue database scheduling, (ii) affinity-based scheduling, and (iii) size-based scheduling.

17. A non-transitory, computer-readable medium storing instructions, that, when executed by a processor, cause the processor to perform a method to manage a fleet of multi-tenant logical databases in Relational Database Management System (“RDBMS”) servers for a cloud computing environment, the method comprising:

receiving, at a computer processor of a database allocation engine from a tenant-aware Application Programming Interface (“API”) accessed by tenants, a request to provision a logical database including a tenant identifier associated with a requesting tenant;

selecting an eligible physical RDBMS server from a pool of physical RDBMS servers; and

allocating a logical database for the requesting tenant via the selected physical RDBMS server using the tenant identifier,

wherein operational intelligence implements a constraint-oriented rule including a maximum number of tenant databases per physical RDBMS server and a multi-mode physical RDBMS server scaling limit, including a first mode in which the database allocation engine scales up if a percentage of physical nodes has reached a maximum limit and a second mode in which the database allocation engine scales up if a mean of overall system utilization has reached a defined threshold.

18. The medium of claim 17 , wherein the selected physical RDBMS server hosts multiple logical databases for multiple tenants.

19. The medium of claim 18 , wherein the database allocation engine enforces Role-Based Access Control (“RBAC”) for physical RDBMS servers to preclude access to the allocated logical database by other tenants.

20. The medium of claim 17 , wherein the physical RDBMS servers comprise Postgre Structured Query Language (“SQL”) servers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2022
From: GUPTA, ABHIK; SRIVASTAVA, NISHTHA; SINGH, VINEET
To: SAP SE
Reel/Frame 059066/0792 →
Continuity (1)
Related Publication 20230267097A1 · Aug 24, 2023
Cited By (1)
US 12,645,775