IP Library Granted Patent US 12,248,803
Granted Patent B2
US 12,248,803 · App. 18/295,678 · Granted Mar 11, 2025

System and method for dynamic adjustment of data plane virtual machines

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 12,248,803
App. No.
18/295,678
Granted
Mar 11, 2025
Kind
B2
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 (41)

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 based on a first load associated with first traffic, 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;

determining that the first traffic will change from the first load to a second load;

determining that an amount of operational pods operating in the deployment plane will change from the first number of operational pods to a second number of operational pods based on the change from the first load to the second load, the deployment plane including a traffic controller configured to determine second traffic based on the first traffic as a function of the amount of operational pods and a service type and the determined first traffic change from the first load to the second load based on the service type;

determining a value of the change in the amount of 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 amount of operational pods operating in the deployment plane where the number of virtual machines in the data plane changes with the value of the amount of operational pods operating in the deployment plane such that when the amount of operational pods decreases, the number of virtual machines in the data plane is decreased and when the amount of 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 a 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) to a cloud-based virtual machine API based on a result of the comparing of the first number of operational pods to the second number of operational pods.

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:

determining that the first traffic will change from the second load to a third load;

determining that the amount of operational pods operating in the deployment plane will change from the second number to a third number of operational pods based on the change from the second load to the third load; and

dynamically adjusting the number of virtual machines in the data plane based on the change from the second load to the third load such that the number of virtual machines is adjusted a second time after the provisioning.

6. A system for dynamically adjusting a number of virtual machines in a data plane, the 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 the number of virtual machines in the data plane based on a first load associated with first traffic, 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;

determining that the first traffic will change from the first load to a second load;

determining that an amount of operational pods operating in the deployment plane will change from the first number of operational pods to a second number of operational pods based on the change from the first load to the second load, the deployment plane including a traffic controller configured to determine second traffic based on the first traffic as a function of the amount of operational pods and a service type and the determined first traffic change from the first load to the second load based on the service type;

determining a value of the change in the amount of 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 amount of operational pods operating in the deployment plane where the number of virtual machines in the data plane changes with the value of the amount of operational pods operating in the deployment plane such that when the amount of operational pods decreases, the number of virtual machines in the data plane is decreased and when the amount of 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 a 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) to a cloud-based virtual machine API based on a result of the comparing of the first number of operational pods to the second number of operational pods.

9. The system of claim 8 , 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.

10. The system of claim 6 , wherein the instructions further cause the at least one processor to perform operations comprising:

determining that the first traffic will change from the second load to a third load;

determining that the amount of operational pods operating in the deployment plane will change from the second number to a third number of operational pods based on the change from the second load to the third load; and

dynamically adjusting the number of virtual machines in the data plane based on the change from the second load to the third load such that the number of virtual machines is adjusted a second time after the provisioning.

11. A non-transitory machine-readable medium having instructions embodied thereon for dynamically adjusting a number of virtual machines in a data plane, the instructions executable by a processor of a machine to perform operations comprising:

provisioning the number of virtual machines in the data plane based on a first load associated with first traffic, 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;

determining that the first traffic will change from the first load to a second load;

determining that an amount of operational pods operating in the deployment plane will change from the first number of operational pods to a second number of operational pods based on the change from the first load to the second load, the deployment plane including a traffic controller configured to determine second traffic based on the first traffic as a function of the amount of operational pods and a service type and the determined first traffic change from the first load to the second load based on the service type;

determining a value of the change in the amount of 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 amount of operational pods operating in the deployment plane where the number of virtual machines in the data plane changes with the value of the amount of operational pods operating in the deployment plane such that when the amount of operational pods decreases, the number of virtual machines in the data plane is decreased and when the amount of operational pods increases, the number of virtual machines in the data plane is increased.

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

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

14. The non-transitory machine-readable medium of claim 13 , 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.

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

determining that the first traffic will change from the second load to a third load;

determining that the amount of operational pods operating in the deployment plane will change from the second number to a third number of operational pods based on the change from the second load to the third load; and

dynamically adjusting the number of virtual machines in the data plane based on the change from the second load to the third load 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 Apr 4, 2023
From: THANKACHAN, ABY; DAVID, LORENZO
To: SNAP INC.
Reel/Frame 063222/0549 →
Continuity (2)
Continuation 17809653 · Jun 29, 2022
Related Publication 20240004691A1 · Jan 4, 2024
References Cited (18)
US 11645105B1 · Thankachan · 2023 [cited by examiner]
US 20160205518A1 · Patel et al. · 2016 [cited by applicant]
US 20170366605A1 · Chang et al. · 2017 [cited by applicant]
US 20190238509A1 · Hira · 2019 [cited by examiner]
US 20200007405A1 · Chitalia et al. · 2020 [cited by applicant]
US 20200356397A1 · Kumatagi et al. · 2020 [cited by applicant]
US 20200403905A1 · Allen et al. · 2020 [cited by applicant]
US 20210019194A1 · Bahl · 2021 [cited by examiner]
US 20210311759A1 · Corrie · 2021 [cited by examiner]
US 20210311765A1 · Subramanian · 2021 [cited by examiner]
US 20220197687A1 · Oki · 2022 [cited by examiner]
US 20230231933A1 · Biswas · 2023 [cited by examiner]
“U.S. Appl. No. 17/809,653, Non Final Office Action mailed Sep. 9, 2022”. [cited by applicant]
“U.S. Appl. No. 17/809,653, Notice of Allowance mailed Jan. 5, 2023”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 17/809,653, Response filed Dec. 5, 2022 to Non Final Office Action mailed Sep. 9, 2022”, 11 pgs. [cited by applicant]
“International Application Serial No. PCT US2023 068938, International Search Report mailed Aug. 11, 2023”, 5 pgs. [cited by applicant]
“International Application Serial No. PCT US2023 068938, Written Opinion mailed Aug. 11, 2023”, 7 pgs. [cited by applicant]
Buyakar, Tulja Vamshi Kiran, “Auto Scaling Of Data Plane VNFs In 5g Networks”, 13th International Conference on Network and Service Management (CNSM), IFIP, (Nov. 26, 2017), 4 pgs. [cited by applicant]