IP Library Granted Patent US 9,407,501
Granted Patent B2
US 9,407,501 · App. 14/486,828 · Granted Aug 2, 2016

Provisioning services in legacy mode in a data center network

Inventors: Navindra Yadav (Cupertino, CA); Sameer Merchant (Sunnyvale, CA); Pirabhu Raman (San Jose, CA); Amit Jain (San Jose, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L41/0806H04L41/5048H04L41/5054
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,407,501
App. No.
14/486,828
Granted
Aug 2, 2016
Kind
B2
Abstract

An administrator can define or modify one or more service graphs. Next, the administrator can register service appliances along with their device package files with a controller. Then, the controller can establish the capabilities of the service devices, and classify the service devices as legacy or service tag switching (STS) capable devices. Then, the controller can create one or more instances of the service graph, by populating the service nodes into the service graph. Then, the application owner can attach their endpoint groups (EPGs) to the service graphs created by the administrator. Then, a service in the network can be automatically provisioned using the service graph to configure one or more nodes in an associated service chain of the service according to information in the service graph.

Claims (73)

1. A method comprising:

defining, by a controller, one or more service graphs;

registering, by the controller, one or more service devices and device package files;

establishing, by the controller, capabilities of the one or more service devices in response to registration of the one or more service devices;

populating, by the controller, a service graph in response to the capabilities established for the one or more service devices to outline service provisioning in a network;

automatically provisioning a service in the network using the service graph to configure one or more nodes in an associated service chain of the service according to information in the service graph, the information in the service graph specifying at least one of nodes in the associated service chain, capabilities of the nodes in the associated service chain, and a service flow as defined in the service graph for the service; and

for each terminal node in the service graph:

setting up a source End Point Group (EPG) and moving to a next node in the service graph; and

in response to determining that a destination EPG is reached, completing processing of the service graph.

2. The method of claim 1 further comprising:

classifying, by the controller, the one or more service devices as one of a legacy service device and a service tag switching device in response to registration of the one or more services to determine functionalities and capabilities of the one or more service devices.

3. The method of claim 1 further comprising:

unconfiguring the one or more nodes in the associated service chain and decommissioning services according to information in the service graph.

4. The method of claim 1 further comprising:

attaching an endpoint group (EPG) to the service graph populated by the controller.

5. The method of claim 1 further comprising:

determining that the one or more service devices is a go-through device, a go-to dual media access control (DMAC) device or a go-to Internet Protocol (IP) device.

6. The method of claim 1 further comprising, for each function node in the service graph:

selecting a service device that provides a function from the function group,

accepting input parameters that are specific to this instance of the function,

setting up forward input connector for the node,

setting up forward output connector for the node,

setting up reverse input connector for the node,

setting up reverse output connector for the node,

provisioning connectors in fabric,

passing device parameters along with connectors information to device configuration script, and

continuing to next node in the service graph.

7. The method of claim 1 further comprising, for each node in the graph:

in response to a determination that a connector has an unconfigured domain, the service device is a go-to function, and an existing domain of an adjacent node can be determined, using the existing domain from the adjacent node to configure the unconfigured domain of the connector.

8. The method of claim 1 further comprising, for each connector in the service graph:

retrieving associated L 2 bridge domain for the graph connector; and

allocating an encapsulation protocol for the connectors.

9. The method of claim 1 wherein the one or more service graphs are defined in response to a request from a client to an application.

10. The method of claim 1 wherein the one or more service devices comprise at least one of: a load-balancing application and a firewall.

11. The method of claim 1 further comprising downloading, by the controller, security rules for the one or more service devices.

12. The method of claim 1 wherein populating the service graph includes:

populating a plurality of service nodes into the service graph.

13. A controller comprising:

a processor; and

a non-transitory computer-readable storage medium having stored therein instructions which, when executed by the processor, cause the to controller to perform operations comprising:

defining one or more service graphs;

registering one or more service devices and device package files;

establishing capabilities of the one or more service devices in response to the registration of the one or more service devices;

populating a service graph in response to the capabilities established for the one or more service devices to outline service provisioning in a network;

automatically provisioning a service in the network using the service graph to configure one or more nodes in an associated service chain of the service according to information in the service graph, the information in the service graph specifying at least one of nodes in the associated service chain, capabilities of the nodes in the associated service chain, and a service flow as defined in the service graph for the service; and

for each terminal node in the service graph:

setting up a source End Point Group (EPG) and moving to a next node in the service graph; and

in response to determining that a destination EPG is reached, completing processing of the service graph.

14. The controller of claim 13 , wherein the instructions cause the controller to perform operations further comprising, for each function node in the service graph:

selecting a service device that provides a function from the function group,

accepting input parameters that are specific to this instance of the function,

setting up forward input connector,

setting up forward output connector,

setting up reverse input connector,

setting up reverse output connector,

provisioning connectors in fabric,

passing device parameters along with connectors info to device configuration script, and

continuing to next node in graph.

15. The controller of claim 13 , wherein the instructions cause the controller to perform operations further comprising, for each node in the graph:

in response to a determination that a connector has an unconfigured domain, the service device is a go-to function, and an existing domain of an adjacent node can be determined, using the existing domain from the adjacent node to configure the unconfigured domain of the connector.

16. The controller of claim 13 , wherein the instructions cause the controller to perform operations further comprising, for each connector in the graph:

retrieving associated L 2 bridge domain for the graph connector; and

allocating an encapsulation for the connector, which are allocated from the fabric controller provided encapsulation resource pools.

17. A non-transitory computer-readable storage medium having stored therein instructions which, when executed by a controller, cause the controller to perform operations comprising:

defining, one or more service graphs;

registering one or more service devices and device package files;

establishing capabilities of the one or more service devices in response to the registration of the one or more service devices;

populating a service graph in response to the capabilities established for the one or more service devices to outline service provisioning in a network;

automatically provisioning a service in the network using the service graph to configure one or more nodes in an associated service chain of the service according to information in the service graph, the information in the service graph specifying at least one of nodes in the associated service chain, capabilities of the nodes in the associated service chain, and a service flow as defined in the service graph for the service; and

for each terminal node in the service graph:

setting up a source End Point Group (EPG) and moving to a next node in the service graph; and

in response to determining that a destination EPG is reached, compleing processing of the service graph.

18. The non-transitory computer-readable storage medium of claim 17 , wherein populating the service graph comprises populating a plurality of service nodes into the service graph.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2014
From: YADAV, NAVINDRA; MERCHANT, SAMEER; RAMAN, PIRABHU; JAIN, AMIT
To: CISCO TECHNOLOGY, INC.
Reel/Frame 033743/0028 →
Continuity (2)
Provisional Application 61900372 · Nov 5, 2013
Related Publication 20150124645A1 · May 7, 2015