IP Library Granted Patent US 10,333,776
Granted Patent B2
US 10,333,776 · App. 16/042,624 · Granted Jun 25, 2019

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,333,776
App. No.
16/042,624
Granted
Jun 25, 2019
Kind
B2
Abstract

A network is configured. Constraints are stored. A plurality of processing stages is processed. For at least one of the plurality of processing stages, an application agent utilizes an input declarative requirement with at least some of the constraints to determine an output declarative requirement that is at a lower level than a level of the input declarative requirement. Each processing stage corresponds to an interaction agent that is able to specify the input declarative requirement for that stage.

Claims (29)

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

storing constraints; and

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

wherein an interaction agent is able to be utilized to specify the input declarative requirement at an appropriate level for any of the plurality of processing stages; and the plurality of processing stages are utilized to at least in part automatically establish and 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 , further comprising receiving the constraints.

7. The method of claim 1 , further comprising receiving the input declarative requirement from a user.

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

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

10. The method of claim 1 , wherein the constraints include an identifier of a device of the network determined to be available.

11. The method of claim 1 , wherein the constraints include a policy.

12. 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.

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

14. 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.

15. 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.

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

17. 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.

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

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

a memory storing constraints; and

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

wherein an interaction agent is able to be utilized to specify the input declarative requirement at an appropriate level for any of the plurality of processing stages; and the plurality of processing stages are utilized to at least in part automatically establish and configure the computer network.

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 a plurality of processing stages, wherein for at least one of the plurality of processing stages, an application agent utilizes an input declarative requirement for configuring the computer network to be established with at least some of the constraints to determine an output declarative requirement for configuring the computer network to be established, the input declarative requirement is to be utilized to configure a computer network switch in establishing the computer network, the output declarative requirement is at a lower level than a level of the input declarative requirement, and the input declarative requirement and the output declarative requirement are different declarative requirements;

wherein an interaction agent is able to be utilized to specify the input declarative requirement at an appropriate level for any of the plurality of processing stages; and the plurality of processing stages are utilized to at least in part automatically establish and configure the computer network.

Assignments (2)
NUNC PRO TUNC ASSIGNMENT Recorded May 6, 2026
From: APSTRA, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 075513/0120 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2024
From: KARAM, MANSOUR JAD; RATKOVIC, ALEKSANDAR LUKA
To: APSTRA, INC.
Reel/Frame 068820/0552 →
Continuity (2)
Continuation 14755153 · Jun 30, 2015
Related Publication 20180351827A1 · Dec 6, 2018