IP Library Granted Patent US 10,630,578
Granted Patent B2
US 10,630,578 · App. 15/827,807 · Granted Apr 21, 2020

Systems and methods for software defined networking service function chaining

Inventor: Michael P. Biancaniello (Haymarket, VA)
Assignee: Oath Inc.
H04L45/306H04L29/06102H04L69/161H04L69/22H04L41/5045
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 10,630,578
App. No.
15/827,807
Granted
Apr 21, 2020
Kind
B2
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 (52)

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 one 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 at least 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 one of the source field and the destination field to determine whether a service function device connected to the second switch is configured to perform at least the load balancing function for the packet of data, the load balancing function being in the set of service functions; and

wherein if any one of the source field and the destination field matches the matching criteria associated with the service function chain, then 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,

wherein if any one of the source field and the destination field does not match the matching criteria associated with the service function chain,

then resetting any one of the source field and the destination field for transmitting the packet of data to a third switch according to a forwarding table, wherein the forwarding table comprises a layer-3 forwarding table.

2. The method of claim 1 , wherein setting any one of the source field and the destination field of the packet of data to identify the service function chain classified by the first switch includes:

modifying, by the first switch, a source Media Access Control (“MAC”) field to identify the service function chain classified by the first switch.

3. 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.

4. The method of claim 1 , further comprising:

receiving, by the first switch, a list of service functions and corresponding service function labels.

5. 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 matching criteria to identify packets of data to be classified.

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

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 over 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 one 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 at least 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 one of the source field and the destination field to determine whether a service function device connected to the second switch is configured to perform at least the load balancing function for the packet of data, the load balancing function being in the set of service functions; and

wherein if any one of the source field and the destination field matches the matching criteria associated with the service function chain, then 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,

wherein if any one of the source field and the destination field does not match the matching criteria associated with the service function chain,

then resetting any one of the source field and the destination field for transmitting the packet of data to a third switch according to a forwarding table, wherein the forwarding table comprises a layer-3 forwarding table.

8. The system of claim 7 , wherein setting any one of the source field and the destination field of the packet of data to identify the service function chain classified by the first switch includes:

modifying, by the first switch, a source Media Access Control (“MAC”) field to identify the service function chain classified by the first switch.

9. 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.

10. 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.

11. 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 matching criteria to identify packets of data to be classified.

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

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 one 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 at least 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 one of the source field and the destination field to determine whether a service function device connected to the second switch is configured to perform at least the load balancing function for the packet of data, the load balancing function being in the set of service functions; and

wherein if any one of the source field and the destination field matches the matching criteria associated with the service function chain, then 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,

wherein if any one of the source field and the destination field does not match the matching criteria associated with the service function chain,

then resetting any one of the source field and the destination field for transmitting the packet of data to a third switch according to a forwarding table, wherein the forwarding table comprises a layer-3 forwarding table.

14. The computer-readable medium of claim 13 , wherein setting any one of the source field and the destination field of the packet of data to identify the service function chain classified by the first switch includes:

modifying, by the first switch, a source Media Access Control (“MAC”) field to identify the service function chain classified by the first switch.

15. The 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.

16. The computer-readable medium of claim 13 , further comprising:

receiving, by the first switch, a list of service functions and corresponding service function labels.

17. The 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 matching criteria to identify packets to be classified.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2017
From: BIANCANIELLO, MICHAEL P.
To: AOL INC.
Reel/Frame 044274/0200 →
CHANGE OF NAME Recorded Dec 1, 2017
From: AOL INC.
To: OATH INC.
Reel/Frame 044635/0856 →
Continuity (2)
Continuation 14564844 · Dec 9, 2014
Related Publication 20180083865A1 · Mar 22, 2018