IP Library Granted Patent US 12,353,920
Granted Patent B2
US 12,353,920 · App. 17/644,961 · Granted Jul 8, 2025

Distributed artificial intelligence fabric controller

Inventors: Kaladhar Voruganti (San Jose, CA); Danjue Li (Dublin, CA); Lanfa Wang (Sunnyvale, CA); Mustafa Arisoylu (San Jose, CA); Ravi Kiran Pasula (San Jose, CA); Rodney Martin Elder (Plainfield, IL); Zoe Liu (Chino Hills, CA)
Assignee: Equinix, Inc.
G06F9/5055G06F9/5072G06F9/5077G06F11/3006G06F11/3409G06N20/00G06F2209/508
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,353,920
App. No.
17/644,961
Granted
Jul 8, 2025
Kind
B2
Abstract

In general, this disclosure describes techniques for configuring and provisioning, with a distributed artificial intelligence (AI) fabric controller, network resources in an AI fabric for use by AI applications. In one example, the AI fabric controller is configured to discover available resources communicatively coupled to a cloud exchange; obtain a set of candidate solutions, each candidate solution of the set of candidate solutions comprising an AI application and a configuration of resources for use by the AI application; filter, based on one or more execution metrics corresponding to each of the candidate solutions, the set of candidate solutions to generate a filtered set of candidate solutions; generate provisioning scripts for the filtered set of candidate solutions; execute the provisioning scripts to provision resources for each candidate solution in the filtered set of candidate solutions; and create an execution environment for each candidate solution in the filtered set of candidate solutions.

Claims (51)

1. A computing device comprising:

processing circuitry coupled to a memory;

an artificial intelligence (AI) fabric controller configured for execution by the processing circuitry, wherein the AI fabric controller comprises:

a monitoring service configured to discover available resources communicatively coupled to a cloud exchange and to monitor the available resources;

an analysis service configured to:

obtain a set of candidate solutions, each candidate solution of the set of candidate solutions comprising an AI application and a configuration of resources for use by the AI application, wherein the configuration of resources is different for each of the candidate solutions, and wherein each of the candidate solutions is associated with corresponding execution metrics, and

filter, based on one or more of the corresponding execution metrics, the set of candidate solutions to generate a filtered set of candidate solutions, the filtered set of candidate solutions comprising a plurality of candidate solutions;

a planning service configured to generate provisioning scripts for the filtered set of candidate solutions; and

an execution service configured to:

execute the provisioning scripts to provision resources for each candidate solution in the filtered set of candidate solutions; and

create an execution environment for each candidate solution in the filtered set of candidate solutions.

2. The computing device of claim 1 , wherein the AI fabric controller is configured to determine the corresponding execution metrics associated with a corresponding candidate solution by executing an instance of the AI application for the corresponding candidate solution of the candidate solutions in accordance with the configuration of resources associated with the corresponding candidate solution.

3. The computing device of claim 1 , wherein the AI fabric controller is configured to select, from the filtered set of candidate solutions, an optimal candidate solution based on the execution metrics associated with each of the candidate solutions and to deploy the optimal candidate solution to a production environment.

4. The computing device of claim 1 , wherein the monitoring service adds resource data describing an available resource as a node to a graph of available resources and monitors the available resources associated with the nodes in the graph.

5. The computing device of claim 1 , wherein the monitoring service monitors one or more of resource utilization, resource availability, resource capacity and resource performance for each corresponding available resource of the available resources.

6. The computing device of claim 1 , wherein the analysis service is triggered to execute in response to a new resource being added as an available resource.

7. The computing device of claim 1 , wherein the execution metrics associated with a corresponding solution comprise one or more of a machine learning model accuracy, a resource cost, and a privacy setting.

8. The computing device of claim 1 , wherein the analysis service orders the set of candidate solutions according to an infrastructure cost associated with each respective candidate solution of the set of candidate solutions.

9. The computing device of claim 1 , wherein a candidate solution comprises the AI application configured to operate in a centralized mode, and wherein the planning service is configured to:

determine that the AI application can execute in a federated mode;

in response to the determination that the AI application can execute in a federated mode, generating an additional candidate solution corresponding to operating the AI application in the federated mode; and

adding the additional candidate solution to the set of candidate solutions.

10. The computing device of claim 1 , wherein to create the execution environment for each candidate solution comprises to create the execution environment using a container orchestration platform.

11. A method comprising:

discovering, by one or more processors, available resources communicatively coupled to a cloud exchange;

obtaining, by the one or more processors, a set of candidate solutions, each candidate solution of the set of candidate solutions comprising an artificial intelligence (AI) application and a configuration of resources for use by the AI application, wherein the configuration of resources is different for each of the candidate solutions, and wherein each of the candidate solutions is associated with corresponding execution metrics, and

filtering, by the one or more processors, based on one or more of the corresponding execution metrics, the set of candidate solutions to generate a filtered set of candidate solutions, the filtered set of candidate solutions comprising a plurality of candidate solutions;

generating, by the one or more processors, provisioning scripts for the filtered set of candidate solutions;

executing, by the one or more processors, the provisioning scripts to provision resources for each candidate solution in the filtered set of candidate solutions; and

creating an execution environment for each candidate solution in the filtered set of candidate solutions.

12. The method of claim 11 , further comprising executing an instance of the AI application for a corresponding candidate solution of the candidate solutions in accordance with the configuration of resources associated with the corresponding candidate solution to determine the corresponding execution metrics associated with the corresponding candidate solution.

13. The method of claim 11 , further comprising:

selecting, from the filtered set of candidate solutions, an optimal candidate solution based on the execution metrics associated with each of the filtered set of candidate solutions; and

deploying the optimal candidate solution to a production environment.

14. The method of claim 11 , further comprising adding resource data describing an available resource as a node to a graph of available resources; and

monitoring the available resources associated with the nodes in the graph.

15. The method of claim 14 , wherein monitoring the available resources comprises monitoring one or more of resource utilization, resource availability, resource capacity and resource performance for each corresponding available resource of the available resources.

16. The method of claim 11 , wherein the execution metrics associated with a corresponding solution comprise one or more of a machine learning model accuracy, a resource cost, and a privacy setting.

17. The method of claim 11 , further comprising ordering the set of candidate solutions according to an infrastructure cost associated with each respective candidate solution of the set of candidate solutions.

18. The method of claim 11 , wherein a candidate solution comprises the AI application configured to operate in a centralized mode, and wherein the method further comprises:

determining that the AI application can execute in a federated mode;

in response to determining that the AI application can execute in a federated mode, generating an additional candidate solution corresponding to operating the AI application in the federated mode; and

adding the additional candidate solution to the set of candidate solutions.

19. The method of claim 11 , wherein creating the execution environment for each candidate solution comprises creating the execution environment using a container orchestration platform.

20. A non-transitory computer readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to:

discover available resources communicatively coupled to a cloud exchange;

obtain a set of candidate solutions, each candidate solution of the set of candidate solutions comprising an AI application and a configuration of resources for use by the AI application, wherein the configuration of resources is different for each of the candidate solutions, and wherein each of the candidate solutions is associated with corresponding execution metrics, and

filter, based on one or more of the corresponding execution metrics, the set of candidate solutions to generate a filtered set of candidate solutions, the filtered set of candidate solutions comprising a plurality of candidate solutions;

generate provisioning scripts for the filtered set of candidate solutions;

execute the provisioning scripts to provision resources for each candidate solution in the filtered set of candidate solutions; and

create an execution environment for each candidate solution in the filtered set of candidate solutions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2021
From: VORUGANTI, KALADHAR; LI, DANJUE; WANG, LANFA; ARISOYLU, MUSTAFA; PASULA, RAVI KIRAN; ELDER, RODNEY MARTIN; LIU, ZOE
To: EQUINIX, INC.
Reel/Frame 058420/0943 →
Continuity (2)
Provisional Application 63131695 · Dec 29, 2020
Related Publication 20220206865A1 · Jun 30, 2022
References Cited (21)
US 9886267B2 · Maheshwari et al. · 2018 [cited by applicant]
US 9948552B2 · Teng et al. · 2018 [cited by applicant]
US 10129078B2 · Kumar et al. · 2018 [cited by applicant]
US 10735281B1 · Burgin · 2020 [cited by examiner]
US 11074107B1 · Nandakumar · 2021 [cited by examiner]
US 20130138806A1 · Gohad · 2013 [cited by examiner]
US 20170149875A1 · Iyengar · 2017 [cited by examiner]
US 20170180220A1 · Leckey · 2017 [cited by examiner]
US 20170187791A1 · Bayon-Molino · 2017 [cited by examiner]
US 20170277531A1 · McGrath · 2017 [cited by examiner]
US 20200136906A1 · Guim Bernat et al. · 2020 [cited by applicant]
US 20200195607A1 · Wang et al. · 2020 [cited by applicant]
EP 3382544A1 · 2018 [cited by applicant]
WO 2020226979A2 · 2020 [cited by applicant]
“Documentation, Kube Flow,” www.kubeflow.org/docs/, last modified Apr. 21, 2020, 1 pp. [cited by applicant]
International Search Report and Written Opinion of International Application No. PCT/US2021/064136, mailed Mar. 18, 2022, 11 pp. [cited by applicant]
Response to Communication Pursuant to Rules 161(1) and 162 EPC dated Aug. 8, 2023, from counterpart European Application No. 21844858.7, filed Feb. 6, 2024, 10 pp. [cited by applicant]
Response to Office Action dated Oct. 9, 2023, from counterpart Australian Application No. 2021413737 filed Jan. 5, 2024, 15 pp. [cited by applicant]
Notice of Intent to Grant from counterpart Australian Application No. 2021413737 dated Jan. 30, 2024, 7 pp. [cited by applicant]
First Examination Report from counterpart Australian Application No. 2021413737 dated Oct. 9, 2023, 3 pp. [cited by applicant]
International Preliminary Report on Patentability from International Application No. PCT/US2021/064136 dated Jul. 13, 2023, 9 pp. [cited by applicant]