IP Library Granted Patent US 11,677,619
Granted Patent B2
US 11,677,619 · App. 17/301,355 · Granted Jun 13, 2023

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 11,677,619
App. No.
17/301,355
Granted
Jun 13, 2023
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, the method comprising:

determining, with a processor, a declarative requirement for a selected processing stage of an ordered sequence of processing stages, wherein each processing stage of the ordered sequence of processing stages is configured to output a respective set of output declarative requirements based on a respective set of input declarative requirements and a respective set of constraints of the computer network and wherein the respective set of output declarative requirements of a stage of the ordered sequence of processing stages is used as the respective set of input declarative requirements of a subsequent processing stage of the ordered sequence of processing stages;

processing, with the processor, the ordered sequence of processing stages using the declarative requirement as at least a portion of the respective set of input declarative requirements of the selected processing stage to generate a set of declarative requirements; and

outputting, with the processor, at least a portion of the set of declarative requirements to a network device of the computer network.

2. The method of claim 1 , further comprising determining, with the processor, the selected processing stage based on the declarative requirement.

3. The method of claim 2 , wherein each processing stage of the ordered sequence of processing stages is associated with a respective level and wherein selecting the selected processing stage comprises determining that the respective level associated with the selected processing stage corresponds to a level of the specified input declarative requirement.

4. The method of claim 1 , wherein outputting at least a portion of the set of declarative requirements to the network device of the computer network comprises publishing the portion of the set of declarative requirements to a data store.

5. The method of claim 1 , wherein the network device is configured to translate the portion of the set of declarative requirements into native hardware instructions for the network device.

6. The method of claim 1 , wherein the portion of the respective set of input declarative requirements of the selected processing stage is a first portion, the method further comprising determining a second portion of the respective set of input declarative requirements of the selected processing stage based on one or more of the declarative requirement or a default declarative requirement.

7. The method of claim 1 , wherein the ordered sequence of processing stages comprises:

a first processing stage configured to output the respective output declarative requirement to indicate a logical connectivity of the computer network;

a second processing stage configured to output the respective output declarative requirement to indicate a physical connectivity of the computer network; and

a third processing stage configured to output the respective output declarative requirement to indicate a cabling of the computer network.

8. The method of claim 1 , wherein the network device is a network switch device.

9. The method of claim 1 , wherein the set of constraints for the selected processing stage comprises one or more of resources available in the computer network, policies of the computer network, or an identifier of a characteristic of a device of the computer network.

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

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

12. The method of claim 1 , further comprising validating, with the processor, the set of declarative requirements.

13. The method of claim 1 , further comprising analyzing, with the processor, the set of declarative requirements to verify that the output declarative requirement matches an intent of the input declarative requirement.

14. The method of claim 1 , wherein the declarative requirement indicates a configuration of network components of the computer network without specifying a native device configuration.

15. The method of claim 1 , wherein the set of declarative requirements indicates a configuration of network components of the computer network without specifying a native device configuration.

16. The method of claim 1 , wherein the ordered sequence of processing stages comprises a linear progression of the processing stages or a directed acyclic graph of the processing stages.

17. An apparatus for configuring a computer network, the apparatus comprising a processor configured to:

determine a declarative requirement for a selected processing stage of an ordered sequence of processing stages, wherein each processing stage of the ordered sequence of processing stages is configured to output a respective set of output declarative requirements based on a respective set of input declarative requirements and a respective set of constraints of the computer network and wherein the respective set of output declarative requirements of a stage of the ordered sequence of processing stages is used as the respective set of input declarative requirements of a subsequent processing stage of the ordered sequence of processing stages;

process the ordered sequence of processing stages using the declarative requirement as at least a portion of the respective set of input declarative requirements of the selected processing stage to generate a set of declarative requirements; and

output at least a portion of the set of declarative requirements to a network device of the computer network.

18. The apparatus of claim 17 , further comprising a data store, wherein, to output the portion of the set of declarative requirements, the processor is configured to publish the portion of the set of declarative requirements to the data store.

19. The apparatus of claim 17 , wherein the processor is further configured to determine the selected processing stage based on the declarative requirement.

20. A non-transitory computer-readable medium comprising instructions for causing a processor to:

determine a declarative requirement for a selected processing stage of an ordered sequence of processing stages, wherein each processing stage of the ordered sequence of processing stages is configured to output a respective set of output declarative requirements based on a respective set of input declarative requirements and a respective set of constraints of a computer network and wherein the respective set of output declarative requirements of a stage of the ordered sequence of processing stages is used as the respective set of input declarative requirements of a subsequent processing stage of the ordered sequence of processing stages;

process the ordered sequence of processing stages using the declarative requirement as at least a portion of the respective set of input declarative requirements of the selected processing stage to generate a set of declarative requirements; and

output at least a portion of the set of declarative requirements to a network device of 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 (5)
Continuation 16817478 · Mar 12, 2020
Continuation 16408039 · May 9, 2019
Continuation 16042624 · Jul 23, 2018
Continuation 14755153 · Jun 30, 2015
Related Publication 20210218621A1 · Jul 15, 2021