IP Library Granted Patent US 11,645,105
Granted Patent B1
US 11,645,105 · App. 17/809,653 · Granted May 9, 2023

Autoscaling data plane

Inventors: Aby Thankachan (Sammamish, WA); Lorenzo David (San Francisco, CA)
Assignee: Confluent, Inc.
G06F9/45558G06F9/5077G06F9/546G06F2009/45562
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,645,105
App. No.
17/809,653
Granted
May 9, 2023
Kind
B1
Abstract

A method of adjusting a number of virtual machines in a data plane is provided. A number of virtual machines in the data plane each having a data plane proxy is provisioned. The virtual machines provide data routing for a first number of operational pods in a deployment plane associated with the data plane. A status of the deployment plane is monitored. The status reflects the deployment plane has a second number of operational pods different from the first number of operational pods. The first number of operational pods is compared to the second number of operational pods. Based on the comparison, the number of virtual machines in the data plane is adjusted.

Claims (37)

1. A method of dynamically adjusting a number of virtual machines in a data plane, the method comprising:

provisioning the number of virtual machines in the data plane, the number of virtual machines having a data plane proxy, the number of virtual machines providing data routing for a first number of operational pods in a deployment plane associated with the data plane;

monitoring a status of the deployment plane, the status reflecting that a number of the operational pods operating in the deployment plane has changed from the first number to a second number of operational pods, the second number being different from the first number of operational pods;

comparing the first number of operational pods to the second number of operational pods to determine a value of the change in the number of the operational pods operating in the deployment plane; and

dynamically adjusting the number of virtual machines in the data plane based on the value of the change in the number of operational pods operating in the deployment plane where the number of virtual machines in the data plane changes with the value of the number operational pods operating in the deployment plane such that when the number of the operational pods decreases, the number of virtual machines in the data plane is decreased and when the number of the operational pods increases, the number of virtual machines in the data plane is increased.

2. The method of claim 1 , wherein the deployment plane includes a traffic controller and the traffic controller is configured to monitor the status of the deployment plane and compare the first number of operational pods to the second number of operational pods.

3. The method of claim 2 , wherein the traffic controller is configured to issue a virtual machine application programming interface (API) based on the comparison between the first number of operational pods and the second number of operation pods to a cloud-based virtual machine API.

4. The method of claim 3 , wherein the second number of operational pods is zero and the virtual machine API reduces the number of virtual machines in the data plane to zero.

5. The method of claim 1 , further comprising:

monitoring a second status of the deployment plane after dynamically adjusting the number of virtual machines in the data plane, the status reflecting the deployment plane has a third number of operational pods different from the second number of operation pods;

comparing the second number of operational pods to the third number of operational pods; and

dynamically adjusting the number of virtual machines in the data plane based on the comparison between the second number of operational pods and the third number of operational pods such that the number of virtual machines is adjusted a second time after the provisioning.

6. A system, comprising:

at least one processor; and

at least one memory including instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

provisioning a number of virtual machines in a data plane, the number of virtual machines having a data plane proxy, the number of virtual machines providing data routing for a first number of operational pods in a deployment plane associated with the data plane;

monitoring a status of the deployment plane, the status reflecting that a number of the operational pods operating in the deployment plane has changed from the first number to a second number of operational pods, the second number being different from the first number of operational pods;

comparing the first number of operational pods to the second number of operational pods to determine a value of the change in the number of the operational pods operating in the deployment plane; and

dynamically adjusting the number of virtual machines in the data plane based on the value of the change in the number of operational pods operating in the deployment plane where the number of virtual machines in the data plane changes with the value of the number operational pods operating in the deployment plane such that when the number of the operational pods decreases, the number of virtual machines in the data plane is decreased and when the number of the operational pods increases, the number of virtual machines in the data plane is increased.

7. The system of claim 6 , wherein the deployment plane includes a traffic controller and the traffic controller is configured to monitor the status of the deployment plane and compare the first number of operational pods to the second number of operational pods.

8. The system of claim 7 , wherein the traffic controller is configured to issue a virtual machine application programming interface (API) based on the comparison between the first number of operational pods and the second number of operation pods to a cloud-based virtual machine API.

9. The system of claim 6 , wherein the instructions further cause the device to perform operations comprising:

monitoring a second status of the deployment plane after dynamically adjusting the number of virtual machines in the data plane, the status reflecting the deployment plane has a third number of operational pods different from the second number of operation pods;

comparing the second number of operational pods to the third number of operational pods; and

dynamically adjusting the number of virtual machines in the data plane based on the comparison between the second number of operational pods and the third number of operational pods such that the number of virtual machines is adjusted a second time after the provisioning.

10. A non-transitory machine-readable medium having instructions embodied thereon, the instructions executable by a processor of a machine to perform operations comprising:

provisioning a number of virtual machines in a data plane, the number of virtual machines having a data plane proxy, the number of virtual machines providing data routing for a first number of operational pods in a deployment plane associated with the data plane;

monitoring a status of the deployment plane, the status reflecting that a number of the operational pods operating in the deployment plane has changed from the first number to a second number of operational pods, the second number being different from the first number of operational pods;

comparing the first number of operational pods to the second number of operational pods to determine a value of the change in the number of the operational pods operating in the deployment plane; and

dynamically adjusting the number of virtual machines in the data plane based on the value of the change in the number of operational pods operating in the deployment plane where the number of virtual machines in the data plane changes with the value of the number operational pods operating in the deployment plane such that when the number of the operational pods decreases, the number of virtual machines in the data plane is decreased and when the number of the operational pods increases, the number of virtual machines in the data plane is increased.

11. The non-transitory machine-readable medium of claim 10 , wherein the deployment plane includes a traffic controller and the traffic controller is configured to monitor the status of the deployment plane and compare the first number of operational pods to the second number of operational pods.

12. The non-transitory machine-readable medium of claim 11 , wherein the traffic controller is configured to issue a virtual machine application programming interface (API) based on the comparison between the first number of operational pods and the second number of operation pods to a cloud-based virtual machine API.

13. The non-transitory machine-readable medium of claim 12 , wherein the second number of operational pods is zero and the virtual machine API reduces the number of virtual machines in the data plane to zero.

14. The non-transitory machine-readable medium of claim 10 , wherein the operations further comprise:

monitoring a second status of the deployment plane after dynamically adjusting the number of virtual machines in the data plane, the status reflecting the deployment plane has a third number of operational pods different from the second number of operation pods;

comparing the second number of operational pods to the third number of operational pods; and

dynamically adjusting the number of virtual machines in the data plane based on the comparison between the second number of operational pods and the third number of operational pods such that the number of virtual machines is adjusted a second time after the provisioning.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2026
From: CONFLUENT, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 075569/0163 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2023
From: THANKACHAN, ABY; DAVID, LORENZO
To: CONFLUENT, INC.
Reel/Frame 062945/0642 →
Cited By (1)
US 12,248,803