IP Library Granted Patent US 9,436,443
Granted Patent B2
US 9,436,443 · App. 14/471,534 · Granted Sep 6, 2016

Software defined network controller

Inventors: Margaret Chiosi (East Brunswick, NJ); Brian Dean Freeman (Farmingdale, NJ); Han Q. Nguyen (Marlboro, NJ)
Assignee: AT&T Intellectual Property I, L.P.
G06F8/35G06F8/41H04L41/0843H04L41/145
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 9,436,443
App. No.
14/471,534
Granted
Sep 6, 2016
Kind
B2
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 (86)

1. A method comprising:

compiling, at a computer system comprising a processor, a service model that represents a service;

compiling, at the processor, a network model that represents network resources that support the service;

determining, by the processor, resources that support the service;

accessing, by the processor, templates to identify templates that relate to the resources;

assembling, by the processor, the templates identified to obtain a template-based representation of the service;

executing, by the processor, the template-based representation to determine if the service is ready for deployment;

determining, by the processor, that the service is ready for deployment;

determining, by the processor, that the resources are ready to support the service;

issuing, by the processor, a first command to allocate the resources; and

issuing, by the processor, a second command to load a function to the resources.

2. The method of claim 1 , further comprising receiving an event at a service logic control, the event being received from an autonomous algorithm running at a network resource autonomous control, wherein the autonomous algorithm runs against data in a data collection analysis engine.

3. The method of claim 1 , wherein the service model comprises a file in a modelling language.

4. The method of claim 1 , further comprising:

determining, by the processor, a process flow that supports the service; and

accessing, by the processor, the templates to identify further templates that relate to the process flow.

5. The method of claim 1 , wherein the resources comprise physical network functions and virtual network functions.

6. The method of claim 1 , wherein the templates comprise a network template and a service template.

7. The method of claim 1 , further comprising:

activating the service; and

monitoring the service.

8. The method of claim 1 , wherein obtaining the service model and the network model comprises:

obtaining a service request;

identifying, via analysis of the service request, a service feature to be included in the service requested; and

executing directed graph logic to implement the service model and the network model.

9. The method of claim 1 , further comprising:

selecting a directed graph based on a service model indicated in an application programming interface; and

operating the directed graph on the network model to

gather data items,

select and allocate the resources, and

pass a data set to an adaptor to change a network state.

10. A system comprising:

a processor; and

a memory that stores computer-executable instructions that, when executed by the processor, cause the processor to perform operations comprising

compiling a service model that represents a service,

compiling a network model that represents network resources that support the service,

accessing templates to identify templates that relate to the resources,

assembling the templates identified to obtain a template-based representation of the service,

executing the template-based representation to determine if the service is ready for deployment,

determining that the service is ready for deployment,

determining that the resources are ready to support the service,

issuing a first command to allocate the resources, and

issuing a second command to load a function to the resources.

11. The system of claim 10 , wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising:

activating the service; and

monitoring the service.

12. The system of claim 10 , wherein the service comprises a service selected from a group of services consisting of an access service and a network service.

13. The system of claim 10 , wherein obtaining the service model and the network model comprises:

obtaining a service request;

identifying, via analysis of the service request, a service feature to be included in the service requested; and

executing directed graph logic to implement the service model and the network model.

14. The system of claim 10 , wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising:

selecting a directed graph based on a service model indicated in an application programming interface; and

operating the directed graph on the network model to

gather data items,

select the resources, and

pass a data set to an adaptor to change a network state.

15. The system of claim 10 , wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising:

determining a process flow that supports the service; and

accessing the templates to identify further templates that relate to the process flow.

16. A computer storage medium having computer-executable instructions stored thereon that, when executed by a processor, cause the processor to perform operations comprising:

compiling a service model that represents a service;

compiling a network model that represents network resources that support the service;

accessing templates to identify templates that relate to the resources;

assembling the templates identified to obtain a template-based representation of the service;

executing the template-based representation to determine if the service is ready for deployment;

determining that the service is ready for deployment;

determining that the resources are ready to support the service;

issuing a first command to allocate the resources; and

issuing a second command to load a function to the resources.

17. The computer storage medium of claim 16 , wherein obtaining the service model and the network model comprises:

obtaining a service request;

identifying, via analysis of the service request, a service feature to be included in the service requested; and

executing directed graph logic to implement the service model and the network model.

18. The computer storage medium of claim 16 , wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising:

selecting a directed graph based on a service model indicated in an application programming interface; and

operating the directed graph on the network model to

gather data items,

select the resources, and

pass a data set to an adaptor to change a network state.

19. The computer storage medium of claim 16 , wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising:

activating the service; and

monitoring the service.

20. The computer storage medium of claim 16 , wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising:

determining a process flow that supports the service; and

accessing the templates to identify further templates that relate to the process flow.

Assignments (3)
CHANGE OF NAME Recorded Aug 5, 2022
From: ATLASSIAN, INC.
To: ATLASSIAN US, INC.
Reel/Frame 061085/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2019
From: AT&T INTELLECTUAL PROPERTY I, L.P.
To: ATLASSIAN INC.
Reel/Frame 050382/0862 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2014
From: CHIOSI, MARGARET; FREEMAN, BRIAN DEAN; NGUYEN, HAN Q.
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 033630/0860 →
Continuity (1)
Related Publication 20160062746A1 · Mar 3, 2016