IP Library Granted Patent US 12,417,217
Granted Patent B2
US 12,417,217 · App. 18/631,460 · Granted Sep 16, 2025

Multi-tenant database resource utilization

Inventors: Pratheesh Ezhapilly Chennen (Fremont, CA); Prakash Ramaswamy (Morrisville, NC)
Assignee: Salesforce, Inc.
G06F16/217G06F16/27
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 12,417,217
App. No.
18/631,460
Granted
Sep 16, 2025
Kind
B2
Abstract

Some implementations of the disclosed systems, apparatus, methods and computer program products may provide for determination of resource usage by tenants in a multi-tenant server system. Tenants may provide resource requests to a database of the multi-tenant server system and such resource requests may include context data. Periodic snapshots of the database may be performed to determine the pending resource requests received by the various tenants and, based on the snapshots and the context data, the resource usage of the various tenants, as well as the system as a whole, may be determined and forecasted for the future.

Claims (40)

1. A system comprising:

a database; and

a computing pod, configured to provide on-demand computing services to a plurality of tenant entities, the computing pod comprising a processor pod shared by the plurality of tenant entities, the computing pod configured to:

receive, in a computing pod of a computing system providing computing services to a plurality of different entities sharing a common resource of the computing pod, resource utilization requests from the plurality of different entities;

store, in a database, context data associated with the resource utilization requests, the context data comprising indications of the entities that provided the resource utilization requests and a duration of using the common resource;

obtain first and second snapshots from the database, the first and second snapshots comprising first and second context data associated with a first entity and a second entity for a first time period and a second time period;

determine, based on the first and second snapshots, first and second usage data for the first entity and the second entity during the first time period and the second time period, the first and second usage data indicating a first and second quantity of resource usage of the computing pod for the first entity and the second entity;

forecast, based on the first and second context data and the first and second usage data, resource usage for the first entity and the second entity for an upcoming time period, wherein the first and second context data are utilized to adjust the first and second usage data, based on the duration of using the common resource, to determine the resource usage forecast for the first entity and the second entity; and

configure the computing system based on the forecast resource usage.

2. The system of claim 1 , wherein the forecasting comprises using a machine learning application to create a forecast for the resource usage by the first entity.

3. The system of claim 1 , wherein the first entity is a tenant of a multi-tenant server system running in the computing pod.

4. The system of claim 1 , further comprising a container, wherein the computing pod is included within the container.

5. The system of claim 1 , wherein the first context data comprises planned future resource usage changes for the first entity.

6. The system of claim 5 , wherein the planned future usage change comprises a planned usage decrease for first entity, and wherein the adjustment of the first usage data comprises decreasing the resource usage forecast for the first entity.

7. The system of claim 5 , wherein the planned future usage change comprises a planned usage increase for first entity, and wherein the adjustment of the first usage data comprises increasing the resource usage forecast for the first entity.

8. The system of claim 1 , wherein the resource utilization requests are received during a first timeframe less than the first time period, and wherein the determining the first usage data comprises extrapolating the first usage data within the first timeframe from the snapshot.

9. A method comprising:

receiving, in a computing pod of a computing system providing computing services to a plurality of different entities sharing a common resource of the computing pod, resource utilization requests from the plurality of different entities;

storing, in a database, context data associated with the resource utilization requests, the context data comprising indications of the entities that provided the resource utilization requests and a duration of using the common resource;

obtaining first and second snapshots from the database, the first and second snapshots comprising first and second context data associated with a first entity and a second entity for a first time period and a second time period;

determining, based on the first and second snapshots, first and second usage data for the first entity and the second entity during the first time period and the second time period, the first and second usage data indicating a first and second quantity of resource usage of the computing pod for the first entity and the second entity;

forecasting, based on the first and second context data and the first and second usage data, resource usage for the first entity and the second entity for an upcoming time period, wherein the first and second context data are utilized to adjust the first and second usage data, based on the duration of using the common resource, to determine the resource usage forecast for the first entity and the second entity; and

configuring the computing system based on the forecast resource usage.

10. The method of claim 9 , wherein the forecasting comprises using a machine learning application to create a forecast for the resource usage by the first entity.

11. The method of claim 9 , wherein the first entity is a tenant of a multi-tenant server system running in the computing pod.

12. The method of claim 9 , wherein the computing pod is included within a container of the computing system.

13. The method of claim 9 , wherein the first context data comprises planned future resource usage changes for the first entity.

14. The method of claim 13 , wherein the planned future usage change comprises a planned usage decrease for first entity, and wherein the adjustment of the first usage data comprises decreasing the resource usage forecast for the first entity.

15. The method of claim 13 , wherein the planned future usage change comprises a planned usage increase for first entity, and wherein the adjustment of the first usage data comprises increasing the resource usage forecast for the first entity.

16. The method of claim 9 , wherein the resource utilization requests are received during a first timeframe less than the first time period, and wherein the determining the first usage data comprises extrapolating the first usage data within the first timeframe from the snapshot.

17. One or more non-transitory computer-readable medium having instructions stored thereon for performing a method, the method comprising:

receiving, in a computing pod of a computing system providing computing services to a plurality of different entities sharing a common resource of the computing pod, resource utilization requests from the plurality of different entities;

storing, in a database, context data associated with the resource utilization requests, the context data comprising indications of the entities that provided the resource utilization requests and a duration of using the common resource;

obtaining first and second snapshots from the database, the first and second snapshots comprising first and second context data associated with a first entity and a second entity for a first time period and a second time period;

determining, based on the first and second snapshots, first and second usage data for the first entity and the second entity during the first time period and the second time period, the first and second usage data indicating a first and second quantity of resource usage of the computing pod for the first entity and the second entity;

forecasting, based on the first and second context data and the first and second usage data, resource usage for the first entity and the second entity for an upcoming time period, wherein the first and second context data are utilized to adjust the first and second usage data, based on the duration of using the common resource, to determine the resource usage forecast for the first entity and the second entity; and

configuring the computing system based on the forecast resource usage.

18. The computer program product of claim 17 , wherein the forecasting comprises using a machine learning application to create a forecast for the resource usage by the first entity.

19. The computer program product of claim 17 , wherein the first entity is a tenant of a multi-tenant server system running in the computing pod.

20. The computer program product of claim 17 , wherein the first context data comprises planned future resource usage changes for the first entity.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2024
From: CHENNEN, PRATHEESH EZHAPILLY; RAMASWAMY, PRAKASH
To: SALESFORCE.COM, INC.
Reel/Frame 067073/0956 →
CHANGE OF NAME Recorded Apr 11, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 067077/0917 →
Continuity (2)
Continuation 17645536 · Dec 22, 2021
Related Publication 20240256508A1 · Aug 1, 2024
References Cited (17)
US 8914582B1 · Trimble et al. · 2014 [cited by applicant]
US 9491112B1 · Patel et al. · 2016 [cited by applicant]
US 11093294B2 · Wang et al. · 2021 [cited by applicant]
US 20180123907A1 · Raman et al. · 2018 [cited by applicant]
US 20180165109A1 · Feng · 2018 [cited by examiner]
US 20190034241A1 · Badjatia et al. · 2019 [cited by applicant]
US 20190104017A1 · Khosrowpour · 2019 [cited by examiner]
US 20190213099A1 · Schmidt · 2019 [cited by examiner]
US 20200403930A1 · Das et al. · 2020 [cited by applicant]
US 20210105317A1 · Kona · 2021 [cited by applicant]
US 20210224106A1 · Wang et al. · 2021 [cited by applicant]
US 20230179539A1 · Brown · 2023 [cited by examiner]
US 20230195703A1 · Chennen · 2023 [cited by applicant]
US 20230275799A1 · Boldt · 2023 [cited by examiner]
U.S. Appl. No. 17/645,536, Non Final Office Action mailed Feb. 21, 2023, 10 pgs. [cited by applicant]
U.S. Appl. No. 17/645,536, Notice of Allowance mailed Jan. 18, 2024, 8 pgs. [cited by applicant]
U.S. Appl. No. 17/645,536, Final Office Action mailed Jun. 27, 2023, 12 pgs. [cited by applicant]