# US 12,182,545 B2 · Software defined network controller

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

- Number: US 12,182,545 B2
- Document ID: US12182545B2
- Status: Granted
- Kind: B2
- Application number: 18/130,881
- Filed: 2023-04-04
- Published: 2023-08-03
- Granted: 2024-12-31
- Earliest claimed: 2014-08-28
- Assignees: Atlassian US, Inc.
- Applicants: Atlassian US, Inc.
- Inventors: Margaret Chiosi; Brian Dean Freeman; Han Nguyen
- Web page: https://patentgrep.com/patent/US12182545B2

## CPC

- G06F 8/35: model driven
- G06F 8/41: Compilation
- G06F 8/60: Software deployment
- H04L 41/0843: {based on generic templates}
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- 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/5048: {Automatic or semi-automatic definitions, e.g. definition templates}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Concepts and technologies are disclosed herein for providing and using a software defined network controller. A software defined network controller can be provided by a computing system that includes a processor. A service model that represents a service can be obtained. A network model that represents network resources that support the service can be obtained. Resources that support the service can be determined. Templates can be accessed to identify templates that relate to the resources. The templates identified can be assembled to obtain a template-based representation of the service. The template-based representation can be executed to determine if the service is ready for deployment.

## Claims

### Claim 1

A computer-implemented method for operating a networked system using a software defined network framework, the method comprising:
receiving a service request for a virtual network service to be operated over the networked system;
determining, using a software defined network controller, an availability of a set of network resources that are available to provide the virtual network service; and
in response to determining, by the software defined network controller, that the set of network resources are available to provide the virtual network service:
allocating the set of network resources for use with the virtual network service;
configuring, by a cloud-based service orchestrator, a set of physical or virtual functions to provide the virtual network service;
loading the set of virtual or physical functions on the set of network resources that have been allocated;
initiating, by the cloud-based service orchestrator, allocation of one or more physical network resources associated with the set of physical or virtual functions; and
instructing, by the cloud-based service orchestrator, instantiation of the virtual network service.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein:
the cloud-based service orchestrator is configured to select a stored template that corresponds to the service request; and
the stored template specifies the set of physical or virtual functions to be configured and loaded on the set of network resources.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein:
the service request is matched to one or more templates;
the software defined network controller defines a directed graph using the one or more templates; and
the directed graph defines the set of physical or virtual functions.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein at least one operation of the software defined network controller or the cloud-based service orchestrator uses the directed graph to instantiate the virtual network service.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the virtual network service is a virtual private network service.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein one or more of the software defined network controller or the cloud-based service orchestrator is configured to obtain a service model associated with the virtual network service and a network model associated with the virtual network service upon receiving the service request.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the service model is used to determine one or more physical network resources that are needed to support the virtual network service.

### Claim 8 (depends on 6)

The computer-implemented method of claim 6, wherein the service model is formatted in a programming language.

### Claim 9

A system comprising:
one or more processing units;
computer readable memory operably coupled to the one or more processing units and storing computer-executable instructions for providing operations of a software defined network framework, the operations comprising:
receiving a service request for a network service to be operated on a networked system;
identifying, using a software defined network controller, a set of network resources that are available to provide the network service;
in response to determining, by the software defined network controller, that the set of network resources are available to provide the network service:
allocating the set of network resources to be used with the network service;
configuring the set of network resources that have been allocated to operate a set of functions to provide the network service;
initiating allocation of one or more physical network resources associated with the set of functions; and
instructing instantiation of the network service.

### Claim 10 (depends on 9)

The system of claim 9, wherein the service request causes generation of one or more of a service model or a network model.

### Claim 11 (depends on 10)

The system of claim 10, wherein the system is configured to obtain a directed graph based at least on the one or more of the service model or the network model.

### Claim 12 (depends on 11)

The system of claim 11, wherein the directed graph is used to configure the set of network resources that have been allocated to operate the set of functions.

### Claim 13 (depends on 10)

The system of claim 10, wherein:
the system comprises a cloud orchestrator; and
the cloud orchestrator is configured to allocate the set of network resources to be used with the network service.

### Claim 14 (depends on 10)

The system of claim 10, wherein the set of functions include a set of virtual or physical functions.

### Claim 15

A system, comprising:
one or more processing units;
computer readable memory operably coupled to the one or more processing units and storing computer-executable instructions for providing operations of a software defined network framework, the operations comprising:
receiving a request to provide a virtual network service;
selecting a network controller from among multiple network controllers, wherein the selected network controller is configured to determine whether a network resource is available to provide the virtual network service; and
in response to the selected network controller determining that the network resource is available:
configuring a set of physical or virtual functions to provide the virtual network service, the set of physical or virtual functions associated with the network resource;
allocating the network resource for use with the virtual network service, the network resource associated with the set of physical or virtual functions; and
instantiating the virtual network service.

### Claim 16 (depends on 15)

The system of claim 15, wherein the request generates one or more of a service model or a network model.

### Claim 17 (depends on 16)

The system of claim 16, wherein the network controller is configured to obtain a directed graph based at least on the one or more of the service model or the network model.

### Claim 18 (depends on 17)

The system of claim 17, wherein the directed graph specifies the set of network functions used to provide the virtual network service.

### Claim 19 (depends on 17)

The system of claim 17, wherein:
the network controller comprises a network service controller and a network resource controller;
the network service controller is configured to insatiate the virtual network service; and
the network resource controller is configured to instantiate network services for providing the virtual network service.

### Claim 20 (depends on 15)

The system of claim 15, wherein:
the network resource is at least one selected from a group of a physical resource or a virtual resource; and
the group of the physical resource or the virtual resource comprises a processor or a memory.
