IP Library Granted Patent US 12,289,364
Granted Patent B2
US 12,289,364 · App. 18/640,970 · Granted Apr 29, 2025

Self-learning service scheduler for smart NICs

Inventors: Raja Kommula (Cupertino, CA); Ganesh Byagoti Matad Sunkada (Bengaluru, IN); Thayumanavan Sridhar (Sunnyvale, CA); Rajasree Krishnamoorthy (Fremont, CA); Raj Yavatkar (Los Gatos, CA); Jit Gupta (Philadelphia, PA); Krishna Kant (Philadelphia, PA)
Assignee: Juniper Networks, Inc.
H04L67/1008H04L41/16
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,289,364
App. No.
18/640,970
Granted
Apr 29, 2025
Kind
B2
Abstract

An example method comprises determining, by an edge services controller, based on a respective predicted resource utilization value for each of a plurality of servers, a corresponding server weight for each of the plurality of servers; the plurality of servers comprising respective network interface cards (NICs), wherein each NIC of the plurality of NICs comprises an embedded switch and a processing unit coupled to the embedded switch; determining, by the edge services controller, based on a respective predicted resource utilization value for each of a plurality of services, a corresponding application weight for each of the plurality of services; and scheduling, by the edge services controller, based on the respective server weight for a server of the plurality of servers and the respective application weight for the service, a service of the plurality of services on the server.

Claims (63)

1. A method comprising:

predicting, by a controller for a plurality of servers, a resource utilization value for a service at a future time;

for each server of the plurality of servers, by the controller, predicting a central processing unit (CPU) utilization at the future time and a data processing unit (DPU) utilization at the future time, wherein the DPU utilization is for a DPU of a network interface card (NIC) of the server; and

scheduling, by the controller, based on the resource utilization value for the service at the future time, the CPU utilization at the future time for a particular server of the plurality of servers, and the DPU utilization at the future time for the DPU of the NIC of the particular server, the service to execute at least in part on the DPU of the NIC of the particular server.

2. The method of claim 1 , further comprising:

receiving, by the controller, historical usage data for the plurality of servers and a plurality of services, the plurality of services comprising the service; and

processing, by the controller, the historical usage data to train a machine learning model.

3. The method of claim 2 , further comprising:

predicting, by the trained machine learning model, the resource utilization value for the service at the future time; and

predicting, by the trained machine learning model, the DPU utilization at the future time for the DPU of the NIC of the particular server.

4. The method of claim 3 , further comprising:

iteratively training, by the controller, the trained machine learning model with a current DPU utilization for the DPU of the NIC of each server of the plurality of servers and with a current resource utilization value for each service of the plurality of services.

5. The method of claim 1 , wherein predicting the DPU utilization at the future time comprises processing, by the controller with a machine learning model, resource usage telemetry of a service instance for the service.

6. The method of claim 1 , wherein predicting the resource utilization value for the service at the future time comprises processing, by the controller with a machine learning model, usage telemetry data relative to a start time for the service.

7. The method of claim 1 , wherein predicting the resource utilization value for the service at the future time comprises:

receiving, by the controller, historical usage data associated with the service, a DPU usage, and one or more of:

a CPU usage;

a memory usage; or

a network usage; and

predicting, by the controller, the resource utilization value for the service at the future time as a function of the historical usage data.

8. The method of claim 7 , wherein the service is associated with a first timestamp corresponding to a start of the service, the method further comprising:

applying, by the controller, a vector autoregression machine learning model to the historical usage data to generate respective values, for a second timestamp following the first timestamp, for the DPU usage and one or more of:

the CPU usage;

the memory usage; or

the network usage.

9. The method of claim 1 , wherein scheduling the service to execute at least in part on the DPU of the NIC of the particular server comprises:

scheduling, by the controller, a first instance of the service to execute on the DPU of the NIC of the particular server; and

scheduling, by the controller, a second instance of the service on the DPU of the NIC of another server of the plurality of servers.

10. The method of claim 1 , wherein the DPU utilization at the future time for the DPU of the NIC of the server comprises an indication of availability of one or more of a processing core or a memory of the DPU of the NIC of the server.

11. A controller comprising processing circuitry having access to memory, the memory comprising instructions that, when executed, cause the processing circuitry to:

predict a resource utilization value for a service at a future time;

for each server of a plurality of servers, predict a central processing unit (CPU) utilization at the future time and a data processing unit (DPU) utilization at the future time, wherein the DPU utilization is for a DPU of a network interface card (NIC) of the server; and

schedule, based on the resource utilization value for the service at the future time, the CPU utilization at the future time for a particular server of the plurality of servers, and the DPU utilization at the future time for the DPU of the NIC of the particular server, the service to execute at least in part on the DPU of the NIC of the particular server.

12. The controller of claim 11 , wherein the instructions cause the processing circuitry to:

receive historical usage data for the plurality of servers and a plurality of services, the plurality of services comprising the service; and

process the historical usage data to train a machine learning model.

13. The controller of claim 12 , wherein the instructions cause the processing circuitry to:

predict, with the trained machine learning model, the resource utilization value for the service at the future time; and

predict, with the trained machine learning model, the DPU utilization at the future time for the DPU of the NIC of the particular server.

14. The controller of claim 13 , wherein the instructions cause the processing circuitry to:

iteratively train the trained machine learning model with a current DPU utilization for the DPU of the NIC of each server of the plurality of servers and with a current resource utilization value for each service of the plurality of services.

15. The controller of claim 11 , wherein to predict the DPU utilization at the future time, the instructions cause the processing circuitry to:

process, with a machine learning model, resource usage telemetry of a service instance for the service.

16. The controller of claim 11 , wherein to predict the resource utilization value for the service at the future time, the instructions cause the processing circuitry to:

process, with a machine learning model, usage telemetry data relative to a start time for the service.

17. The controller of claim 11 , wherein to predict the resource utilization value for the service at the future time, the instructions cause the processing circuitry to:

receive historical usage data associated with the service, a DPU usage, and one or more of:

a CPU usage;

a memory usage; or

a network usage; and

predict the resource utilization value for the service at the future time as a function of the historical usage data.

18. The controller of claim 17 ,

wherein the service is associated with a first timestamp corresponding to a start of the service, and

wherein the instructions cause the processing circuitry to:

apply a vector autoregression machine learning model to the historical usage data to generate respective values, for a second timestamp following the first timestamp, for the DPU usage and one or more of:

the CPU usage;

the memory usage; or

the network usage.

19. The controller of claim 11 , wherein the DPU utilization at the future time for the DPU of the NIC of the server comprises an indication of availability of one or more of a processing core or a memory of the DPU of the NIC of the server.

20. Non-transitory computer-readable media comprising instructions that, when executed, cause processing circuitry of a controller to:

predict a resource utilization value for a service at a future time;

for each server of a plurality of servers, predict a central processing unit (CPU) utilization at the future time and a data processing unit (DPU) utilization at the future time, wherein the DPU utilization is for a DPU of a network interface card (NIC) of the server; and

schedule, based on the resource utilization value for the service at the future time, the CPU utilization at the future time for a particular server of the plurality of servers, and the DPU utilization at the future time for the DPU of the NIC of the particular server, the service to execute at least in part on the DPU of the NIC of the particular server.

Assignments (3)
NUNC PRO TUNC ASSIGNMENT Recorded May 6, 2026
From: JUNIPER NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 075513/0034 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2025
From: YAVATKAR, RAJENDRA SHIVARAM
To: JUNIPER NETWORKS, INC.
Reel/Frame 073226/0029 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2025
From: KOMMULA, RAJA; SUNKADA, GANESH BYAGOTI MATAD; SRIDHAR, THAYUMANAVAN; KRISHNAMOORTHY, RAJASREE; YAVATKAR, RAJ; GUPTA, JIT; KANT, KRISHNA
To: JUNIPER NETWORKS, INC.
Reel/Frame 072834/0925 →
Continuity (2)
Continuation 18064803 · Dec 12, 2022
Related Publication 20240275846A1 · Aug 15, 2024
References Cited (37)
US 6141705A · Anand et al. · 2000 [cited by applicant]
US RE37811E · Sitbon · 2002 [cited by applicant]
US 9571391B2 · Tsiatsis et al. · 2017 [cited by applicant]
US 11968251B1 · Kommula et al. · 2024 [cited by applicant]
US 20050120095A1 · Aman · 2005 [cited by applicant]
US 20060136701A1 · Dickinson · 2006 [cited by applicant]
US 20160274953A1 · Pack · 2016 [cited by examiner]
US 20180024860A1 · Balle · 2018 [cited by examiner]
US 20180359544A1 · Sagie · 2018 [cited by applicant]
US 20190243691A1 · LaBute · 2019 [cited by applicant]
US 20200019444A1 · Rao · 2020 [cited by applicant]
US 20200106856A1 · Megahed · 2020 [cited by applicant]
US 20210004258A1 · Liu · 2021 [cited by applicant]
US 20210037363A1 · Yang · 2021 [cited by examiner]
US 20210255899A1 · Chen · 2021 [cited by examiner]
US 20220129316A1 · Sheoran · 2022 [cited by examiner]
US 20220261661A1 · Khaligh · 2022 [cited by examiner]
US 20220382593A1 · Tootaghaj et al. · 2022 [cited by applicant]
US 20220413941A1 · Ramtekkar · 2022 [cited by examiner]
US 20230259429A1 · Doddaiah · 2023 [cited by examiner]
US 20240020103A1 · Ramachandra · 2024 [cited by examiner]
US 20240020630A1 · Post · 2024 [cited by examiner]
US 20240028375A1 · Jigalur · 2024 [cited by examiner]
US 20240086217A1 · Lev Ran · 2024 [cited by examiner]
US 20240134970A1 · Levy · 2024 [cited by examiner]
US 20240184638A1 · Kairali · 2024 [cited by examiner]
US 20240272930A1 · Liu · 2024 [cited by examiner]
WO 2013184846A1 · 2013 [cited by applicant]
Lappin, “Kubernetes Cost Optimization: How to Rebalance Fragmented Kubernetes Clusters to Reduce Cloud Costs,” vmware.com, Dec. 15, 2020, 11 pp. [cited by applicant]
U.S. Appl. No. 18/316,668, filed May 12, 2023, naming inventors Kommula et al. [cited by applicant]
Adarsh, “Autonomous and Predictive Systems to Enhance the Performance of Resilient Networks”, University of California, Santa Barbara, Sep. 30, 2022, 268 pp. [cited by applicant]
Extended Search Report from counterpart European Application No. 23215625.7 dated Feb. 27, 2024, 10 pp. [cited by applicant]
Prosecution History from U.S. Appl. No. 18/064,803, dated Aug. 31, 2023 through Mar. 22, 2024, 36 pp. [cited by applicant]
U.S. Appl. No. 18/064,803, filed Dec. 12, 2022, naming inventors Kommula et al. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 18/316,668 dated Jan. 2, 2025, 7 pp. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 18/316,668 dated Nov. 5, 2024, 9 pp. [cited by applicant]
Response to Extended Search Report dated Feb. 27, 2024, from counterpart European Application No. 23215625.7 filed Dec. 17, 2024, 84 pp. [cited by applicant]