IP Library Granted Patent US 12,261,746
Granted Patent B2
US 12,261,746 · App. 18/211,360 · Granted Mar 25, 2025

Hierarchical API for a SDDC

Inventors: Sachin Mohan Vaidya (Pune, IN); Mayur Dhas (Pune, IN); Naveen Ramaswamy (Pune, IN); Pavlush Margarian (Dublin, CA); Hamza Aharchaou (Redwood City, CA)
Assignee: VMWare LLC
H04L41/0889H04L41/0806H04L67/10
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,261,746
App. No.
18/211,360
Granted
Mar 25, 2025
Kind
B2
Abstract

Some embodiments of the invention provide a method for deploying software-implemented resources in a software defined datacenter (SDDC). The method initially receives a hierarchical API command that, in a declarative format, specifies several operation requests for several software-defined (SD) resources at several resource levels of a resource hierarchy in the SDDC. The method parses the API command to identify the SD resources at the plurality of resource levels. Based on the parsed API command, the method deploys the SD resources by using a deployment process that ensures that any first SD resource on which a second SD resource depends is deployed before the second resource. In some embodiments, a second SD resource depends on a first SD resource when the second SD resource is a child of the first SD resource. Alternatively, or conjunctively, a second SD resource can also depend on a first SD resource in some embodiments when the second SD resource has some operational dependency on the first SD resource. In some embodiments, the method parses the API command by identifying several sets of SD resources, with each set having one or more SD resources at one resource level. The deployment in some embodiments deploys the identified SD resource sets at higher resource levels before deploying SD resources at lower resource levels.

Claims (42)

1. A method of deploying software-implemented resources in a software defined datacenter, the method comprising:

receiving a hierarchical API command that in a declarative format specifies a plurality of software-defined (SD) resources at a plurality of resource levels of a resource hierarchy in the datacenter;

parsing the hierarchical API command to identify the plurality of SD resources at the plurality of resource levels; and

based on the parsed hierarchical API command, deploying the SD resources by using a deployment process that ensures that any first SD resource on which a second SD resource depends is deployed before the second SD resource;

wherein at least one SD resource further comprises an SD service module for performing a middlebox service operation, SD service operation including one of a firewall operation, a load balancing operation, a network address translation operation, an encryption operation, an intrusion detection operation, and an intrusion prevention operation.

2. The method of claim 1 , wherein

the parsing comprises identifying a plurality of sets of SD resources, each set having one or more SD resources at one resource level, and

the deploying comprises deploying identified SD resource sets at higher resource levels before deploying SD resources at lower resource levels.

3. The method of claim 1 , wherein at least one SD resource comprises an SD forwarding element.

4. The method of claim 3 , wherein the SD resources further comprise workloads.

5. The method of claim 1 , wherein the SD service module is a service machine.

6. The method of claim 1 , wherein the SD service module is a service filter on a host machine.

7. The method of claim 1 , wherein

the hierarchical API command includes a set of parameters to update an earlier deployed SD resource, and

deploying SD resource comprises updating the earlier deployed SD resource based on a set of parameters specified in the parsed hierarchical API command.

8. The method of claim 1 , wherein

the hierarchical API command includes a set of parameters that define a new SD resource, and

deploying SD resource comprises deploying the SD resource based on the set of parameters specified in the parsed hierarchical API command.

9. The method of claim 1 further comprising sending, after determining that the identified SD resources are deployable, a confirmation that the hierarchical API command has been successfully processed to a source that produced the hierarchical API command.

10. The method of claim 1 further comprising:

determining that one the SD resources cannot be deployed, and

sending a message that the hierarchical API command has not been successfully processed to a source that produced the hierarchical API command.

11. A non-transitory machine readable medium storing a program for deploying software-defined (SD) resources in a software defined datacenter, the program comprising sets of instructions for:

receiving a hierarchical API command that in a declarative format specifies a plurality of software-defined (SD) resources at a plurality of resource levels of a resource hierarchy in the datacenter;

parsing the hierarchical API command to identify the plurality of SD resources at the plurality of resource levels; and

based on the parsed hierarchical API command, deploying the SD resources by using a deployment process that ensures that any first SD resource on which a second SD resource depends is deployed before the second SD resource;

wherein at least one SD resource further comprises an SD service module for performing a middlebox service operation, SD service operation including one of a firewall operation, a load balancing operation, a network address translation operation, an encryption operation, an intrusion detection operation, and an intrusion prevention operation.

12. The non-transitory machine readable medium of claim 11 , wherein

the set of instructions for parsing comprises a set of instructions for identifying a plurality of sets of SD resources, each set having one or more SD resources at one resource level, and

the set of instructions for deploying comprises a set of instructions for deploying identified SD resource sets at higher resource levels before deploying SD resources at lower resource levels.

13. The non-transitory machine readable medium of claim 11 , wherein at least one SD resource comprises an SD forwarding element.

14. The non-transitory machine readable medium of claim 13 , wherein the SD resources further comprise workloads.

15. The non-transitory machine readable medium of claim 11 , wherein the SD service module is a service machine.

16. The non-transitory machine readable medium of claim 11 , wherein the SD service module is a service filter on a host machine.

17. The non-transitory machine readable medium of claim 11 , wherein SD service operation include one of a firewall operation, a load balancing operation, a network address translation operation, an encryption operation, an intrusion detection operation, and an intrusion prevention operation.

18. The non-transitory machine readable medium of claim 11 , wherein

the hierarchical API command includes a set of parameters to update an earlier deployed SD resource, and

the set of instructions for deploying SD resource comprises a set of instructions for updating the earlier deployed SD resource based on a set of parameters specified in the parsed hierarchical API command.

19. The non-transitory machine readable medium of claim 11 , wherein

the hierarchical API command includes a set of parameters that define a new SD resource, and

the set of instructions for deploying the SD resource comprise a set of instructions for deploying the SD resource based on the set of parameters specified in the parsed hierarchical API command.

20. The non-transitory machine readable medium of claim 11 , wherein the program further comprises a set of instructions for sending, after determining that the identified SD resources are deployable, a confirmation that the hierarchical API command has been successfully processed to a source that produced the hierarchical API command.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2024
From: VAIDYA, SACHIN MOHAN; DHAS, MAYUR; RAMASWAMY, NAVEEN; MARGARIAN, PAVLUSH; AHARCHAOU, HAMZA
To: VMWARE, INC.
Reel/Frame 069186/0078 →
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →