METHOD AND APPARATUS FOR SUPPORTING SERVICE FUNCTION CHAINING IN A COMMUNICATION NETWORK
First Claim
1. A method for supporting service-based packet communication in a multi-hop data network, comprising:
- receiving an indication of a set of services, each service of the set of services corresponding to a respective node group comprising;
one or more source nodes providing packets belonging to the service;
a destination node receiving the packets belonging to the service; and
a set of service nodes through which the packets belonging to the service are required to pass, each service utilizing a respective set of service links connecting predetermined pairs of members of the respective node group;
for each service node and each destination node belonging to at least one node group, determining a respective service segment corresponding to members of the sets of service links which connect to said service node or destination node and which are indicative of data flow into said service node or destination node fix at least one of the set of services;
for each service segment, and for each node in the node groups, determining a demand indicative of combined demand of source nodes belonging to services, of the set of services, for which service packets pass through said service segment;
for each service segment, and for each of a plurality of nodes of the data network, including nodes of the node groups, determining a flow group conservation constraint indicative that an amount of resource allocation for data links incoming to the node and for the service segment;
is less than an amount of resource allocation for data links outgoing from the node and for the service segment by a first margin equal to the determined demand indicative of combined demand for the node, when the node is a source node or a service node providing service packets to the service segment;
is greater than the amount of resource allocation for data links outgoing from the node and for the service segment by a second margin equal to a sum of determined demands indicative of combined demands, the sum being over source node is a service node or a destination node receiving service packets from the service segment; and
is similar to the amount of resource allocation for data links outgoing from the node and for the service segment otherwise;
for each of a plurality of data links operatively coupling nodes of the data network, the data links including the service links, determining a respective link capacity constraint;
determining a resource allocation respecting the flow group conservation constraints and the link capacity constraints; and
controlling operation of the data network in accordance with the determined resource allocation.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus supporting service function chaining in a communication network is provided. Service function chaining requires packets of a service to pass through a defined sequence of service nodes of the network. Traffic engineering support includes defining service segments, determining demands for each service segment, determining flow group conservation constraints using the determined demands, and determining a resource allocation for data links which respects the flow group conservation constraints along with a link capacity constraint. A service-based forwarding operation re-labels packets as they traverse each service segment, and forwards packets toward a destination service node of each service segment.
52 Citations
26 Claims
-
1. A method for supporting service-based packet communication in a multi-hop data network, comprising:
-
receiving an indication of a set of services, each service of the set of services corresponding to a respective node group comprising;
one or more source nodes providing packets belonging to the service;
a destination node receiving the packets belonging to the service; and
a set of service nodes through which the packets belonging to the service are required to pass, each service utilizing a respective set of service links connecting predetermined pairs of members of the respective node group;for each service node and each destination node belonging to at least one node group, determining a respective service segment corresponding to members of the sets of service links which connect to said service node or destination node and which are indicative of data flow into said service node or destination node fix at least one of the set of services; for each service segment, and for each node in the node groups, determining a demand indicative of combined demand of source nodes belonging to services, of the set of services, for which service packets pass through said service segment; for each service segment, and for each of a plurality of nodes of the data network, including nodes of the node groups, determining a flow group conservation constraint indicative that an amount of resource allocation for data links incoming to the node and for the service segment; is less than an amount of resource allocation for data links outgoing from the node and for the service segment by a first margin equal to the determined demand indicative of combined demand for the node, when the node is a source node or a service node providing service packets to the service segment; is greater than the amount of resource allocation for data links outgoing from the node and for the service segment by a second margin equal to a sum of determined demands indicative of combined demands, the sum being over source node is a service node or a destination node receiving service packets from the service segment; and is similar to the amount of resource allocation for data links outgoing from the node and for the service segment otherwise; for each of a plurality of data links operatively coupling nodes of the data network, the data links including the service links, determining a respective link capacity constraint; determining a resource allocation respecting the flow group conservation constraints and the link capacity constraints; and controlling operation of the data network in accordance with the determined resource allocation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A traffic engineering controller for a multi-hop data network, comprising:
-
an input network interface configured to receive an indication of a set of services, each service of the set of services corresponding to a respective node group comprising;
one or more source nodes providing packets belonging to the service;
a destination node receiving the packets belonging to the service; and
a set of service nodes through which the packets belonging to the service are required to pass, each service utilizing a respective set of service links connecting predetermined pairs of members of the respective node group;a processor configured to; for each service node and each destination node belonging to at least one node group, determine a respective service segment corresponding to members of the sets of service links winch connect to said service node or destination node and which are indicative of data flow into said service node or destination node for at least one of the set of services; for each service segment, and for each node the node groups, determine a demand indicative of combined demand of source nodes belonging to services, of the set of services, for which service packets pass through said service segment; for each service segment, and for each of a plurality of nodes of the data network, including nodes of the node groups, determine a flow group conservation constraint indicative that an amount of resource allocation for data links incoming to the node and for the service segment; is less than an amount of resource allocation for data links outgoing from the node and for the service segment by a first margin equal to the determined demand indicative of combined demand for the node, when the node is a source node or a service node providing service packets to the service segment; is greater than the amount of resource allocation for data links outgoing from the node and for the service segment by a second margin equal to a sum of determined demands indicative of combined demands, the sum being over source nodes or service nodes providing service packets to the service segment, when the node is a service node or a destination node receiving service packets from the service segment; and is similar to the amount of resource allocation for data links outgoing from the node and for the service segment otherwise; for each of a plurality of data links operatively coupling nodes of the data network, the data links including the service links, determine a respective link capacity constraint; and determine a resource allocation respecting the flow group conservation constraints and the link capacity constraints; and an output network interface configured to transmit signals for controlling operation of the data network in accordance with the determined resource allocation. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A router for routing a packet in a multi-hop data network, the packet belonging to a service, the service corresponding to a set of service nodes through which the packet is required to pass, the router communicatively coupled to one of the set of service nodes and comprising a data packet handling interface configured to:
-
receive the packet and process a label, carried by the packet, comprising an indication of a first service segment traversed by the data packet; adjust the label to include an indication of a second service segment to be traversed by the packet upon transmission of the packet from the router; and transmit the packet toward a further service node of the set of service nodes based on the indication of the second service segment. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. A method for supporting service-based packet communication in a multi-hop data network, comprising:
-
providing an indication of a plurality of service segments, each service segment corresponding to a set of service links via which data flows into a service node or destination node, said data corresponding to a service requiring the data to pass through a specified sequence of service nodes; determining a plurality of demand values corresponding respectively to the plurality of service segments, each demand value indicative of a combined demand of source nodes belonging to services for which service packets pass through the respective service segment; and performing a traffic engineering optimization calculation with all service segments present and in consideration of the determined plurality of demand values.
-
Specification