# US 11,444,868 B2 · Systems and methods for software defined networking service function chaining

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

- Number: US 11,444,868 B2
- Document ID: US11444868B2
- Status: Granted
- Kind: B2
- Application number: 16/819,346
- Filed: 2020-03-16
- Published: 2020-07-09
- Granted: 2022-09-13
- Earliest claimed: 2014-12-09
- Assignees: Verizon Patent and Licensing Inc.
- Applicants: Verizon Patent and Licensing Inc.
- Inventors: Michael P. Biancaniello
- Web page: https://patentgrep.com/patent/US11444868B2

## CPC

- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L 69/161: {Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields}
- H04L 69/22: Parsing or analysis of headers
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 41/5045: {Making service definitions prior to deployment}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods are disclosed for steering packet traffic through an online network. One method includes receiving, at a switch of a network, a packet of data; classifying, by the switch, the packet to a service function chain based on fields of a packet header of the packet, the service function chain including a set of service functions to be performed on the packet; setting, by the switch, fields of the packet header to identify the service function chain classified; and transmitting, by the switch over the network, the packet to a service function device that performs a service function on the packet, the service function being in the set of service functions.

## Claims

### Claim 1

A computer-implemented method for steering packet traffic through an online network, comprising:
receiving, at a first switch of the online network, a packet of data, wherein the first switch is enabled for service function chaining, and wherein the packet of data includes a source field and a destination field;
classifying, by the first switch, the packet of data to a service function chain based on any of the source field and the destination field of the packet of data, the service function chain including a set of service functions to be performed on the packet of data, the set of service functions including a load balancing function for the packet of data;
transmitting, by the first switch over the online network, the packet of data to a second switch, wherein the second switch is enabled for service function chaining;
inspecting, by the second switch, any of the source field and the destination field to determine whether a service function device connected to the second switch is configured to perform the load balancing function for the packet of data; and
in response to any of the source field and the destination field matching a matching criteria associated with the service function chain, transmitting the packet of data to the service function device to perform the load balancing function and a second service function of the set of service functions on the packet of data.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
setting any of the source field and the destination field of the packet of data to identify the service function chain classified by the first switch by modifying, by the first switch, a source Media Access Control (“MAC”) field to identify the service function chain classified by the first switch.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
modifying, by the first switch, a destination MAC field to identify a MAC address of the first service function of the set of service functions of the service function chain.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving, by the first switch, a list of service functions and corresponding service function labels.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
receiving, by the first switch, a list of service function chains, each service function chain including a set of service functions from the list of service functions and the matching criteria to identify packets of data to be classified.

### Claim 6 (depends on 4)

The method of claim 4, wherein the corresponding service function labels comprise a Media Access Control (“MAC”) address of a corresponding service function.

### Claim 7

A system for steering packet traffic through an online network, the system including:
a data storage device that stores instructions for steering packet traffic through the online network; and
a processor configured to execute the instructions to perform a method including:
receiving, at a first switch of the online network, a packet of data, wherein the first switch is enabled for service function chaining, and wherein the packet of data includes a source field and a destination field;
classifying, by the first switch, the packet of data to a service function chain based on any of the source field and the destination field of the packet of data, the service function chain including a set of service functions to be performed on the packet of data, the set of service functions including a load balancing function for the packet of data;
transmitting, by the first switch over the online network, the packet of data to a second switch, wherein the second switch is enabled for service function chaining;
inspecting, by the second switch, any of the source field and the destination field to determine whether a service function device connected to the second switch is configured to perform the load balancing function for the packet of data; and
in response to any of the source field and the destination field matching a matching criteria associated with the service function chain, transmitting the packet of data to the service function device to perform the load balancing function and a second service function of the set of service functions on the packet of data.

### Claim 8 (depends on 7)

The system of claim 7, wherein the processor is further configured to execute the instructions to perform the method including:
setting any of the source field and the destination field of the packet of data to identify the service function chain classified by the first switch by modifying, by the first switch, a source Media Access Control (“MAC”) field to identify the service function chain classified by the first switch.

### Claim 9 (depends on 8)

The system of claim 8, wherein the processor is further configured to execute the instructions to perform the method including:
modifying, by the first switch, a destination MAC field to identify a MAC address of the first service function of the set of service functions of the service function chain.

### Claim 10 (depends on 7)

The system of claim 7, wherein the processor is further configured to execute the instructions to perform the method including:
receiving, by the first switch, a list of service functions and corresponding service function labels.

### Claim 11 (depends on 10)

The system of claim 10, wherein the processor is further configured to execute the instructions to perform the method including:
receiving, by the first switch, a list of service function chains, each service function chain including a set of service functions from the list of service functions and the matching criteria to identify packets of data to be classified.

### Claim 12 (depends on 10)

The system of claim 10, wherein the corresponding service function labels comprise a Media Access Control (“MAC”) address of a corresponding service function.

### Claim 13

A non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform a method for steering packet traffic through an online network, the method including:
receiving, at a first switch of the online network, a packet of data, wherein the first switch is enabled for service function chaining, and wherein the packet of data includes a source field and a destination field;
classifying, by the first switch, the packet of data to a service function chain based on any of the source field and the destination field of the packet of data, the service function chain including a set of service functions to be performed on the packet of data, the set of service functions including a load balancing function for the packet of data;
transmitting, by the first switch over the online network, the packet of data to a second switch, wherein the second switch is enabled for service function chaining;
inspecting, by the second switch, any of the source field and the destination field to determine whether a service function device connected to the second switch is configured to perform the load balancing function for the packet of data; and
in response to any of the source field and the destination field matching a matching criteria associated with the service function chain, transmitting the packet of data to the service function device to perform the load balancing function and a second service function of the set of service functions on the packet of data.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, further comprising:
setting any of the source field and the destination field of the packet of data to identify the service function chain classified by the first switch by modifying, by the first switch, a source Media Access Control (“MAC”) field to identify the service function chain classified by the first switch.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13, further comprising:
modifying, by the first switch, a destination MAC field to identify a MAC address of the first service function of the set of service functions of the service function chain.

### Claim 16 (depends on 13)

The non-transitory computer-readable medium of claim 13, further comprising:
receiving, by the first switch, a list of service functions and corresponding service function labels.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, further comprising:
receiving, by the first switch, a list of service function chains, each service function chain including a set of service functions from the list of service functions and the matching criteria to identify packets to be classified.
