# US 10,374,872 B2 · Configuring system resources for different reference architectures

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,374,872 B2
- Document ID: US10374872B2
- Status: Granted
- Kind: B2
- Application number: 15/163,308
- Filed: 2016-05-24
- Published: 2017-11-30
- Granted: 2019-08-06
- Earliest claimed: 2016-05-24
- Assignees: Apstra, Inc.
- Applicants: Apstra, Inc.
- Inventors: Aleksandar Luka Ratkovic; Mansour Jad Karam
- Web page: https://patentgrep.com/patent/US10374872B2

## CPC

- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/0803: Configuration setting
- H04L 41/0886: {Fully automatic configuration}
- H04L 41/122: of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 41/5054: Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 41/0866: Checking the configuration
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

One or more network devices can be configured to provide a desired network service according to declarative requirements. A specification of an intent that identifies a desired service and a reference architecture is received. For example, one or more network devices are configured to provide a network service desired according to declarative requirements. The desired service is rendered to provide instructions for dispatch to a plurality of devices having roles. For example, the reference architecture identifies a network topology and one or more protocols to be utilized to provide an intended network service. Rendering the desired service includes invoking a service rendering program function based on the reference architecture and a role of a specific device. A new reference architecture may be implemented by specifying a new service rendering program function for the new reference architecture.

## Claims

### Claim 1

A method of configuring system resources including:
receiving a specification of an intent that identifies a desired service and a reference architecture, wherein the specification of the intent identifies a computer network topology to be implemented for connections between a plurality of computer networking devices; and
using a processor to render the desired service to automatically provide instructions for dispatch to the plurality of computer networking devices having roles, wherein the plurality of devices includes a plurality of computer networking switches to be configured using at least a portion the automatically provided instructions and the plurality of computer networking switches are configured using at least a portion the automatically provided instructions;
wherein rendering the desired service includes automatically selecting among a plurality of service rendering program functions a subset of one or more service rendering program functions based on the reference architecture and a role of a specific device within the reference architecture and invoking the selected subset of one or more service rendering program functions; and
wherein a specification of a new reference architecture allows the new reference architecture to be implemented utilizing at least a portion of the same plurality of computer networking devices configured using a new set of one or more service rendering program functions selected among the plurality of service rendering program functions based on the new reference architecture and a role of a specific device within the new reference architecture.

### Claim 2 (depends on 1)

The method of claim 1, wherein the intent identifies declarative requirements of the desired service.

### Claim 3 (depends on 1)

The method of claim 1, wherein the desired service includes a network service.

### Claim 4 (depends on 1)

The method of claim 1, wherein the plurality of devices includes a plurality of nodes of the reference architecture.

### Claim 5 (depends on 1)

The method of claim 1, wherein the reference architecture identifies a protocol to be utilized to provide the desired service.

### Claim 6 (depends on 1)

The method of claim 1, wherein the desired service may be rendered using at least one of a plurality of different reference architectures.

### Claim 7 (depends on 1)

The method of claim 1, wherein the service rendering program function generates declarative requirements to be provided to the specific device.

### Claim 8 (depends on 1)

The method of claim 1, wherein the reference architecture identifies an L3 Clos network architecture.

### Claim 9 (depends on 1)

The method of claim 1, wherein the roles include roles within the reference architecture.

### Claim 10 (depends on 1)

The method of claim 1, wherein rendering the desired service includes identifying a different service rendering program function for each different role of the plurality of devices.

### Claim 11 (depends on 1)

The method of claim 1, wherein invoking the service rendering program function includes providing to the service rendering program function an implementation configuration based on the intent and an identifier of the specific device.

### Claim 12 (depends on 1)

The method of claim 1, wherein rendering the desired service includes using a dispatcher that identifies and invokes a function instance for each of the devices to be utilized to provide the desired service.

### Claim 13 (depends on 1)

The method of claim 1, wherein rendering the desired service includes invoking a verification model program function based on the reference architecture and the role of the specific device.

### Claim 14 (depends on 13)

The method of claim 13, wherein the verification model program function generates a verification model for the specific device.

### Claim 15 (depends on 14)

The method of claim 14, wherein the verification model identifies one or more parameters to be monitored for the specific device.

### Claim 16 (depends on 14)

The method of claim 14, wherein the verification model is provided to the specific device.

### Claim 17

A system for configuring system resources, comprising:
a processor configured to:
receive a specification of an intent that identifies a desired service and a reference architecture, wherein the specification of the intent identifies a computer network topology to be implemented for connections between a plurality of computer networking devices; and
render the desired service to automatically provide instructions for dispatch to the plurality of computer networking devices having roles, wherein the plurality of devices includes a plurality of computer networking switches to be configured using at least a portion the automatically provided instructions and the plurality of computer networking switches are configured using at least a portion the automatically provided instructions;
wherein rendering the desired service includes automatically selecting among a plurality of service rendering program functions a subset of one or more service rendering program functions based on the reference architecture and a role of a specific device within the reference architecture and invoking the selected subset of one or more service rendering program functions; and
wherein a specification of a new reference architecture allows the new reference architecture to be implemented utilizing at least a portion of the same plurality of computer networking devices configured using a new set of one or more service rendering program functions selected among the plurality of service rendering program functions based on the new reference architecture and a role of a specific device within the new reference architecture; and
a memory coupled to the processor and configured to provide the processor with instructions.

### Claim 18

A computer program product for configuring system resources, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
receiving a specification of an intent that identifies a desired service and a reference architecture, wherein the specification of the intent identifies a computer network topology to be implemented for connections between a plurality of computer networking devices; and
rendering the desired service to automatically provide instructions for dispatch to the plurality of computer networking devices having roles, wherein the plurality of devices includes a plurality of computer networking switches to be configured using at least a portion the automatically provided instructions and the plurality of computer networking switches are configured using at least a portion the automatically provided instructions;
wherein rendering the desired service includes automatically selecting among a plurality of service rendering program functions a subset of one or more service rendering program functions based on the reference architecture and a role of a specific device within the reference architecture and invoking the selected subset of one or more service rendering program functions; and
wherein a specification of a new reference architecture allows the new reference architecture to be implemented utilizing at least a portion of the same plurality of computer networking devices configured using a new set of one or more service rendering program functions selected among the plurality of service rendering program functions based on the new reference architecture and a role of a specific device within the new reference architecture.

### Claim 19 (depends on 17)

The system of claim 17, wherein the reference architecture identifies a protocol to be utilized to provide the desired service.

### Claim 20 (depends on 17)

The system of claim 17, wherein the desired service may be rendered using at least one of a plurality of different reference architectures.
