IP Library Granted Patent US 10,985,974
Granted Patent B2
US 10,985,974 · App. 16/817,478 · Granted Apr 20, 2021

Selectable declarative requirement levels

Inventors: Mansour Jad Karam (San Francisco, CA); Aleksandar Luka Ratkovic (Palo Alto, CA); Andrew Samoylov (San Jose, CA)
Assignee: Apstra, Inc.
H04L41/0803H04L41/046H04L43/0817
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 10,985,974
App. No.
16/817,478
Granted
Apr 20, 2021
Kind
B2
Abstract

Constraints are stored. A plurality of processing stages is processed. For at least one of the plurality of processing stages, an input declarative requirement is utilized with at least some of the constraints to determine an output declarative requirement that is at a different level than a level of the input declarative requirement. At least a portion of the plurality of processing stages are utilized to at least in part automatically configure a computer network.

Claims (32)

1. A method for configuring a computer network, comprising:

storing constraints; and

using a processor to process at least a portion of a plurality of processing stages, wherein for at least one of the plurality of processing stages, an input declarative requirement for configuring the computer network is utilized with at least some of the constraints to determine an output declarative requirement for configuring the computer network, the input declarative requirement is utilized to configure a computer network switch in configuring the computer network, the output declarative requirement is at a different level than a level of the input declarative requirement, and the input declarative requirement and the output declarative requirement are different declarative requirements;

wherein the input declarative requirement is allowed to be specified at an appropriate level for any one of two or more of the processing stages; and

wherein at least a portion of the plurality of processing stages are utilized to at least in part automatically configure the computer network.

2. The method of claim 1 , further comprising selecting a processing stage of the plurality of processing stages corresponding to the level of the input declarative requirement.

3. The method of claim 1 , wherein for each of the plurality processing stages, a corresponding input declarative requirement is processed using one or more corresponding constraints to determine a corresponding lower level of output declarative requirement.

4. The method of claim 1 , wherein the output declarative requirement is utilized as a next input declarative requirement for another one of the plurality of processing stages.

5. The method of claim 1 , wherein the output declarative requirement includes a declarative requirement for a specific network switch device.

6. The method of claim 1 , wherein the output declarative requirement includes a more specific declarative requirement than the input declarative requirement.

7. The method of claim 1 , wherein the constraints include an identifier of a characteristic of a device of the network.

8. The method of claim 1 , wherein the input declarative requirement includes an identification of a number of servers to be connected using the network and an identification of an oversubscription ratio.

9. The method of claim 1 , wherein the input declarative requirement includes a cabling mapping.

10. The method of claim 1 , wherein utilizing the input declarative requirement with at least some of the constraints includes assigning a resource identified to be available by at least one of the constraints to a connection identified by the input declarative requirement.

11. The method of claim 1 , wherein at least a portion of the output declarative requirement is provided to a proxy agent to configure a device of the network.

12. The method of claim 1 , wherein the output declarative requirement is validated.

13. The method of claim 1 , wherein the output declarative requirement is analyzed to verify that the output declarative requirement matches an intent of the input declarative requirement.

14. The method of claim 1 , wherein the plurality of processing stages are processed in a workflow order of a directed acyclic graph.

15. A system for configuring a computer network, comprising:

a memory storing constraints; and

a processor coupled with the memory and configured to process at least a portion of a plurality of processing stages, wherein for at least one of the plurality of processing stages, the processor is configured to utilize an input declarative requirement for configuring the computer network with at least some of the constraints to determine an output declarative requirement for configuring the computer network, and the input declarative requirement is utilized to configure a computer network switch in configuring the computer network, and the output declarative requirement is at a different level than a level of the input declarative requirement, and the input declarative requirement and the output declarative requirement are different declarative requirements;

wherein the processor is configured to allow the input declarative requirement to be specified at an appropriate level for any one of two or more of the processing stages; and

wherein the processor is configured to utilize at least a portion of the plurality of processing stages to at least in part automatically configure the computer network.

16. The system of claim 15 , wherein the output declarative requirement is a next input declarative requirement for another one of the plurality of processing stages.

17. The system of claim 15 , wherein the output declarative requirement includes a declarative requirement for a specific network switch device.

18. The system of claim 15 , wherein the input declarative requirement includes an identification of a number of servers to be connected using the network and an identification of an oversubscription ratio.

19. The system of claim 15 , wherein the processor is configured to utilize the input declarative requirement with at least some of the constraints including by being configured to assign a resource identified to be available by at least one of the constraints to a connection identified by the input declarative requirement.

20. A computer program product for configuring a computer network, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

storing constraints; and

processing at least a portion of a plurality of processing stages, wherein for at least one of the plurality of processing stages, an input declarative requirement for configuring the computer network is utilized with at least some of the constraints to determine an output declarative requirement for configuring the computer network, the input declarative requirement is utilized to configure a computer network switch in configuring the computer network, the output declarative requirement is at a different level than a level of the input declarative requirement, and the input declarative requirement and the output declarative requirement are different declarative requirements;

wherein the input declarative requirement is allowed to be specified at an appropriate level for any one of two or more of the processing stages; and

wherein at least a portion of the plurality of processing stages are utilized to at least in part automatically configure the computer network.

Assignments (1)
NUNC PRO TUNC ASSIGNMENT Recorded May 6, 2026
From: APSTRA, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 075513/0120 →
Continuity (4)
Continuation 16408039 · May 9, 2019
Continuation 16042624 · Jul 23, 2018
Continuation 14755153 · Jun 30, 2015
Related Publication 20200213189A1 · Jul 2, 2020