# US 10,454,836 B2 · Method and apparatus for dynamically adapting a software defined network

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

- Number: US 10,454,836 B2
- Document ID: US10454836B2
- Status: Granted
- Kind: B2
- Application number: 15/340,694
- Filed: 2016-11-01
- Published: 2018-05-03
- Granted: 2019-10-22
- Earliest claimed: 2016-11-01
- Assignees: AT&T Intellectual Property I, L.P.
- Applicants: At&T Intellectual Property I, L.P.
- Inventors: Venson Shaw; Zhi Cui; Sangar Dowlatkhah
- Web page: https://patentgrep.com/patent/US10454836B2

## CPC

- H04L 47/24: Traffic characterised by specific attributes, e.g. priority or QoS
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0897: by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 41/5019: Ensuring fulfilment of SLA
- H04L 41/5025: by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L 43/20: the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Aspects of the subject disclosure may include, for example, a method receiving, from service layer equipment of a network, a first plurality of service requirements to fulfill a first service request, determining a first configuration of a first plurality of software defined network controllers according to the first plurality of service requirements, instantiating into the network the first plurality of software defined network controllers according to the first configuration to fulfill the first service request, receiving a first communication from a first software defined network controller of the first plurality of software defined network controllers, determining a shortage in a first network resource according to the first communication, and transmitting a second communication to the first software defined network controller to direct the first software defined network controller to instantiate a first virtual network function to compensate for the shortage in the first network resource. Other embodiments are disclosed.

## Claims

### Claim 1

A non-transitory, machine-readable storage medium, comprising executable instructions that, when executed by a processing system including a processor, facilitate performance of operations, the operations comprising:
receiving a first service request via a network;
transmitting a query to service layer equipment according to the first service request that is received;
receiving, from the service layer equipment, a first plurality of service requirements to fulfill the first service request responsive to the query that is transmitted;
determining a first plurality of software defined network controllers according to the first plurality of service requirements;
prioritizing the first plurality of software defined network controllers according to the first plurality of service requirements to obtain a first prioritized plurality of software defined network controllers;
determining an insufficiency of the first prioritized plurality of software defined network controllers to satisfy the first plurality of service requirements;
instantiating into the network, responsive to the determining of the insufficiency, another software defined network controller;
reprioritizing the first prioritized plurality of software defined network controllers and the another software defined network controller to obtain a second prioritized plurality of software defined network controllers comprising the first plurality of software defined network controllers and the another software defined network controller, wherein the second prioritized plurality of software defined network controllers are configured to support the first service request according to the first plurality of service requirements;
receiving a first communication from a first software defined network controller of the second prioritized plurality of software defined network controllers;
determining a shortage in a first network resource according to the first communication; and
transmitting a second communication to the first software defined network controller to direct the first software defined network controller to instantiate a first virtual network function to compensate for the shortage in the first network resource.

### Claim 2 (depends on 1)

The non-transitory, machine-readable storage medium of claim 1,
wherein the first software defined network controller instantiates the first virtual network function to compensate for the shortage in the first network resource responsive to receiving the second communication.

### Claim 3 (depends on 2)

The non-transitory, machine-readable storage medium of claim 2,
wherein, responsive to receiving the second communication, the first software defined network controller transmits a third communication to a second software defined network controller of the one of the first plurality of software defined network controllers or the another software defined network controller.

### Claim 4 (depends on 1)

The non-transitory, machine-readable storage medium of claim 1, wherein the operations further comprise:
receiving a third communication from the first software defined network controller;
determining an excess in the first network resource according to the third communication; and
transmitting a fourth communication to the first software defined network controller to direct the first software defined network controller to decommission the first virtual network function to compensate for the excess in the first network resource.

### Claim 5 (depends on 1)

The non-transitory, machine-readable storage medium of claim 1, wherein the operations further comprise
storing a first configuration associated with the first service request,
wherein the first configuration includes information identifying the first plurality of software defined network controllers and a first plurality of priorities.

### Claim 6 (depends on 1)

The non-transitory, machine-readable storage medium of claim 1, wherein the operations further comprise:
determining whether the first plurality of service requirements to fulfill the first service request is associated with a previously saved configuration; and
accessing the previously saved configuration,
wherein the first plurality of software defined network controllers are further determined according to the previously saved configuration that is accessed.

### Claim 7 (depends on 1)

The non-transitory, machine-readable storage medium of claim 1, wherein the operations further comprise:
receiving a second plurality of service requirements associated with a second service request;
determining that the one of the first plurality of software defined network controllers or the another software defined network controller are able to perform the second plurality of service requirements; and
transmitting a third communication to the one of the first plurality of software defined network controllers or the another software defined network controller to reconfigure the one of the first plurality of software defined network controllers or the another software defined network controller according to a second plurality of priorities to fulfill the second service request.

### Claim 8 (depends on 1)

The non-transitory, machine-readable storage medium of claim 1,
wherein the one of the first plurality of software defined network controllers or the another software defined network controller include
an access software defined network controller,
a core software defined network controller,
a transport software defined network controller, or
any combination thereof.

### Claim 9 (depends on 1)

The non-transitory, machine-readable storage medium of claim 1,
wherein the first software defined network controller comprises
an access software defined network controller that instantiates the first virtual network function to provide
wireless cellular communication,
wireless local area network communication, or
any combination thereof.

### Claim 10 (depends on 1)

The non-transitory, machine-readable storage medium of claim 1,
wherein the first software defined network controller comprises
a core software defined network controller that instantiates the first virtual
network function to provide a user plane gateway function,
a control plane gateway function, or
a combined user plane and control plane gateway functions.

### Claim 11 (depends on 1)

The non-transitory, machine-readable storage medium of claim 1,
wherein the first software defined network controller comprises
a transport software defined network controller that instantiates the first
virtual network function to manage fiber-base communication,
wireless-based communication,
satellite-based communication, or
any combination thereof.

### Claim 12 (depends on 1)

The non-transitory, machine-readable storage medium of claim 1, wherein the operations further comprise:
accessing historical information;
predicting a second plurality of service requirements according to the historical information;
determining a second plurality of software defined network controllers according to the second plurality of service requirements;
determining a second plurality of priorities for the second plurality of software defined network controllers according to the second plurality of service requirements; and
instantiating into the network a second plurality of software defined network controllers that are configured according to the second plurality of priorities to fulfill the second plurality of service requirements.

### Claim 13

A method, comprising:
receiving, from service layer equipment of a network and by a processing system including a processor, a first plurality of service requirements to fulfill a first service request;
determining, by the processing system, a first configuration of a first plurality of software defined network controllers according to the first plurality of service requirements;
prioritizing, by the processing system, the first plurality of software defined network controllers according to the first plurality of service requirements to obtain a first prioritized plurality of software defined network controllers;
determining, by the processing system, an insufficiency of the first prioritized plurality of software defined network controllers to satisfy the first plurality of service requirements;
instantiating, by the processing system, into the network, responsive to the determining of the insufficiency, another software defined network controller;
reprioritizing the first prioritized plurality of software defined network controllers and the another software defined network controller to obtain a second prioritized plurality of software defined network controllers comprising the first plurality of software defined network controllers and the another software defined network controller, wherein the second prioritized plurality of software defined network controllers are adapted to support the first service request according to the first plurality of service requirements;
receiving, by the processing system, a first communication from a first software defined network controller of the second prioritized plurality of software defined network controllers;
determining, by the processing system, a shortage in a first network resource according to the first communication; and
transmitting, by the processing system, a second communication to the first software defined network controller to direct the first software defined network controller to instantiate a first virtual network function to compensate for the shortage in the first network resource.

### Claim 14 (depends on 13)

The method of claim 13,
wherein the another software defined network controller and the first plurality of software defined network controllers include
an access software defined network controller,
a core software defined network controller,
a transport software defined network controller, or
any combination thereof.

### Claim 15

A software defined network manager, comprising:
a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising:
transmitting a query to service layer equipment of a network;
receiving, from the service layer equipment, a first plurality of service requirements to fulfill a first service request responsive to the query that is transmitted;
determining a first plurality of software defined network controllers according to the first plurality of service requirements;
prioritizing, by the processing system, the first plurality of software defined network controllers according to the first plurality of service requirements to obtain a first prioritized plurality of software defined network controllers;
determining an insufficiency of the first plurality of software defined network controllers to satisfy the first plurality of service requirements;
instantiating into the network, responsive to the determining of the insufficiency, another software defined network controller;
reprioritizing the first prioritized plurality of software defined network controllers and the another software defined network controller to obtain a second prioritized plurality of software defined network controllers comprising the first plurality of software defined network controllers and the another software defined network controller,
wherein the reprioritizing is based on the second prioritized plurality of software defined network controllers satisfying the first plurality of service requirements;
receiving a first communication from a first software defined network controller of the second prioritized plurality of software defined network controllers;
determining a shortage in a first network resource according to the first communication; and
transmitting a second communication to the first software defined network controller to direct the first software defined network controller to instantiate a first virtual network function to compensate for the shortage in the first network resource.

### Claim 16 (depends on 15)

The software defined network manager of claim 15, wherein the operations further comprise
receiving the first service request via the network,
wherein the transmitting of the query to the service layer equipment is responsive to the receiving of the first service request.

### Claim 17 (depends on 15)

The software defined network manager of claim 15, wherein the operations further comprise
determining a first plurality of priorities for the another software defined network controller and the first plurality of software defined network controllers according to the first plurality of service requirements,
wherein the another software defined network controller and the first plurality of software defined network controllers are configured according to the first plurality of priorities.

### Claim 18 (depends on 15)

The software defined network manager of claim 15, wherein the operations further comprise
storing a first configuration associated with the first service request,
wherein the first configuration includes information identifying the another software defined network controller and the first plurality of software defined network controllers.

### Claim 19 (depends on 15)

The software defined network manager of claim 15,
wherein the first software defined network controller instantiates the first virtual network function to compensate for the shortage in the first network resource responsive to receiving the second communication.

### Claim 20 (depends on 15)

The software defined network manager of claim 15, wherein the operations further comprise:
determining whether the first plurality of service requirements to fulfill the first service request is associated with a previously saved configuration; and
accessing the previously saved configuration,
wherein the another software defined network controller and the first plurality of software defined network controllers are reprioritized according to the previously saved configuration that is accessed.
