IP Library Granted Patent US 11,038,758
Granted Patent B2
US 11,038,758 · App. 16/372,448 · Granted Jun 15, 2021

Systems and methods for optimizing the number of servers in a cluster

Inventors: Rajat Garg (Bangalore, IN); Chandrashekhar Jha (Bangalore, IN); Yash Bhatnagar (Bangalore, IN)
Assignee: VMWARE, INC.
H04L41/0893H04L41/0823
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,038,758
App. No.
16/372,448
Granted
Jun 15, 2021
Kind
B2
Abstract

Examples described herein include systems and methods for optimizing the number of servers in a cluster. In one example, a number of application servers, a number of backend servers, and a first disk throughput of a backend server to be included in the cluster are determined. The first disk throughput is determined based on the storage capacity of the backend server and a first round trip time. Example systems and method can also include validating the number of application servers based on a cluster throughput and one of a network interface card bandwidth of an application server to be included in the cluster and a load bearing capacity of the application server. The systems and methods can further include determining a second disk throughput of the backend server and increasing the number of backend servers if the second disk throughput is less than the second disk throughput.

Claims (51)

1. A system for optimizing the number of servers in a cluster, comprising:

a memory storage including a non-transitory, computer-readable medium comprising instructions; and

a computing device including a processor that executes the instructions to carry out stages comprising:

determining a number of application servers for inclusion in the cluster;

determining a number of backend servers for inclusion in the cluster;

determining a first disk throughput of a backend server to be included in the cluster based on a storage capacity of the backend server and a first round trip time;

validating the number of application servers based on dividing a cluster throughput by a lesser of:

a network interface card (NIC) bandwidth of an application server to be included in the cluster, and

a load bearing capacity of the application server;

determining a second disk throughput of the backend server;

increasing the number of backend servers if the second disk throughput is less than the first disk throughput; and

provisioning the increased number of backend servers in the cluster.

2. The system of claim 1 , wherein validating the number of application servers further comprises increasing the number of application servers.

3. The system of claim 2 , wherein determining the second disk throughput stage further comprises:

provisioning each of a plurality of servers as an application server or a backend server based on the increased number of application servers and the determined number of backend servers; and

measuring a second round trip time to process a request between one of the plurality of servers provisioned as an application server and one of the plurality of servers provisioned as a backend server.

4. The system of claim 3 , wherein the second disk throughput is determined based on the second round trip time.

5. The system of claim 4 , wherein the stages for determining second disk throughput and increasing the number of backend servers are repeated until the second disk throughput is not less than the first disk throughput.

6. The system of claim 1 , wherein the number of backend servers is determined based on a storage requirement of an application and a storage capacity of the backend server.

7. The system of claim 1 , wherein the number application servers is determined based on a request load and the load bearing capacity of the application server.

8. A non-transitory computer-readable medium comprising instructions that, when executed by a processor of a computing device, performs stages for optimizing the number of servers in a cluster, the stages comprising:

determining a number of application servers for inclusion in the cluster;

determining a number of backend servers for inclusion in the cluster;

determining a first disk throughput of a backend server to be included in the cluster based on a storage capacity of the backend server and a first round trip time;

validating the number of application servers based on dividing a cluster throughput by a lesser of a network interface card (NIC) bandwidth of an application server to be included in the cluster and a load bearing capacity of the application server;

determining a second disk throughput of the backend server;

increasing the number of backend servers if the second disk throughput is less than the first disk throughput; and

provisioning the increased number of backend servers in the cluster.

9. The non-transitory computer-readable medium of claim 8 , wherein validating the number of application servers further comprises increasing the number of application servers.

10. The non-transitory computer-readable medium of claim 9 , wherein determining the second disk throughput stage further comprises:

provisioning each of a plurality of servers as an application server or a backend server based on the increased number of application servers and the determined number of backend servers; and

measuring a second round trip time to process a request between one of the plurality of servers provisioned as an application server and one of the plurality of servers provisioned as a backend server.

11. The non-transitory computer-readable medium of claim 10 , wherein the second disk throughput is determined based on the second round trip time.

12. The non-transitory computer-readable medium of claim 11 , wherein the stage for determining second disk throughput and the stage for increasing the number of backend servers are repeated until the second disk throughput is not less than the first disk throughput.

13. The non-transitory computer-readable medium of claim 8 , wherein the number of backend servers is determined based on a storage requirement of an application and a storage capacity of the backend server.

14. The non-transitory computer-readable medium of claim 8 , wherein the number application servers is determined based on a request load and the load bearing capacity of the application server.

15. A method for optimizing the number of servers in a cluster, the stages of the method comprising:

determining a number of application servers for inclusion in the cluster;

determining a number of backend servers for inclusion in the cluster;

determining a first disk throughput of a backend server to be included in the cluster based on a storage capacity of the backend server and a first round trip time;

validating the number of application servers based on dividing a cluster throughput by a lesser of a network interface card (NIC) bandwidth of an application server to be included in the cluster and a load bearing capacity of the application server;

determining a second disk throughput of the backend server;

increasing the number of backend servers if the second disk throughput is less than the first disk throughput; and

provisioning the increased number of backend servers in the cluster.

16. The method of claim 15 , wherein validating the number of application servers further comprises increasing the number of application servers and the second disk throughput stage further comprises:

provisioning each of a plurality of servers as an application server or a backend server based on the increased number of application servers and the determined number of backend servers; and

measuring a second round trip time to process a request between one of the plurality of servers provisioned as an application server and one of the plurality of servers provisioned as a backend server.

17. The method of claim 16 , wherein the second disk throughput is determined based on the second round trip time.

18. The method of claim 17 , wherein the determining second disk throughput stage and the increasing the number of backend servers stage are repeated until the second disk throughput is not less than the first disk throughput.

19. The method of claim 15 , wherein the number of backend servers is determined based on a storage requirement of an application and a storage capacity of the backend server.

20. The method of claim 15 , wherein the number application servers is determined based on a request load and the load bearing capacity of the application server.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2019
From: GARG, RAJAT; JHA, CHANDRASHEKHAR; BHATNAGAR, YASH
To: VMWARE, INC.
Reel/Frame 048760/0907 →