IP Library Granted Patent US 11,979,290
Granted Patent B2
US 11,979,290 · App. 18/055,233 · Granted May 7, 2024

Controlling parallel data processing for service function chains

Inventors: Bo Han (Bridgewater, NJ); Vijay Gopalakrishnan (Edison, NJ); Muhammad Bilal Anwer (Branchburg, NJ); Zhi-Li Zhang (Eden Prairie, MN); Yang Zhang (Saint Paul, MN)
Assignees: AT&T Intellectual Property I, L.P.; Regents of the University of Minnesota
H04L41/0893G06F9/45558G06F9/5077H04L45/64H04L61/256G06F2009/45595
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 11,979,290
App. No.
18/055,233
Granted
May 7, 2024
Kind
B2
Abstract

Systems and methods are disclosed for parallelizing service function chains. A method comprises receiving a sequential service function chain comprising a plurality of network functions, receiving a plurality of operations, determining at least two network functions are capable of being parallelized, aggregating operations of the plurality of operations associated with the at least two network functions into a network function segment, determining whether another network function is capable of being parallelized with the network function segment, based on the determining: aggregating an operation associated with the another network function into the network function segment when the another network function is capable of being parallelized with the network function segment, or pushing the network function segment as a completed segment of a hybrid service function chain when the another network function is not capable of being parallelized with the network function segment, and implementing the hybrid service function chain.

Claims (49)

1. A method comprising:

determining, by a processor, at least two network functions of a plurality of network functions are candidates for parallelization, wherein a sequential service function chain comprises the plurality of network functions, wherein the plurality of network functions spans a plurality of servers, and wherein a plurality of operations is associated with the plurality of network functions of the sequential service function chain;

aggregating, by the processor, operations of the plurality of operations associated with the at least two network functions into a network function segment;

determining, by the processor, whether another network function of the plurality of network functions is a candidate for parallelization with the network function segment;

based on the determining whether the another network function is a candidate for parallelization:

aggregating, by the processor, an operation of the plurality of operations associated with the another network function into the network function segment as a completed segment of a hybrid service function chain when the another network function is a candidate for parallelization with the network function segment; or

aggregating, by the processor, the network function segment as a completed segment of a hybrid service function chain when the another network function is not a candidate for parallelization with the network function segment;

installing, by the processor, at least one first routing rule into each software switch of a plurality of software switches for steering traffic associated with the hybrid service function chain, wherein each software switch of the plurality of software switches runs on one server of the plurality of servers; and

implementing, by the processor, the hybrid service function chain when all of the plurality of network functions of the sequential service function chain capable of being aggregated have been converted into the hybrid service function chain and when the at least one first routing rule has been installed into the each software switch.

2. The method of claim 1 , wherein the processor comprises a software defined network processor.

3. The method of claim 1 , further comprising:

extracting the plurality of operations from a plurality of files describing features of the plurality of network functions.

4. The method of claim 1 , wherein the plurality of network functions comprises a plurality of virtual network functions.

5. The method of claim 4 , wherein the operations of the at least two network functions of the network function segment are implemented over two service instances.

6. The method of claim 5 , wherein the two service instances are implemented over two separate physical machines.

7. The method of claim 6 , wherein the two separate physical machines comprise two separate servers of the plurality of servers.

8. The method of claim 1 , wherein the determining the at least two network functions of the plurality of network functions are candidates for parallelization comprises determining that the at least two network functions are independent of each other in the sequential service function chain.

9. A system comprising:

a processor; and

a computer-readable medium storing instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising:

determining at least two network functions of a plurality of network functions are candidates for parallelization, wherein a sequential service function chain comprises the plurality of network functions, wherein the plurality of network functions spans a plurality of servers, and wherein a plurality of operations is associated with the plurality of network functions of the sequential service function chain;

aggregating operations of the plurality of operations associated with the at least two network functions into a network function segment;

determining whether another network function of the plurality of network functions is a candidate for parallelization with the network function segment;

based on the determining whether the another network function is a candidate for parallelization:

aggregating an operation of the plurality of operations associated with the another network function into the network function segment as a completed segment of a hybrid service function chain when the another network function is a candidate for parallelization with the network function segment; or

aggregating the network function segment as a completed segment of a hybrid service function chain when the another network function is not a candidate for parallelization with the network function segment;

installing at least one first routing rule into each software switch of a plurality of software switches for steering traffic associated with the hybrid service function chain, wherein each software switch of the plurality of software switches runs on one server of the plurality of servers; and

implementing the hybrid service function chain when all of the plurality of network functions of the sequential service function chain capable of being aggregated have been converted into the hybrid service function chain and when the at least one first routing rule has been installed into the each software switch.

10. The system of claim 9 , wherein the processor comprises a software defined network processor.

11. The system of claim 9 , the operations further comprising:

extracting the plurality of operations from a plurality of files describing features of the plurality of network functions.

12. The system of claim 9 , wherein the plurality of network functions comprises a plurality of virtual network functions.

13. The system of claim 12 , wherein the operations of the at least two network functions of the network function segment are implemented over two service instances.

14. The system of claim 13 , wherein the two service instances are implemented over two separate physical machines.

15. The system of claim 14 , wherein the two separate physical machines comprise two separate servers of the plurality of servers.

16. The system of claim 9 , wherein the determining the at least two network functions of the plurality of network functions are candidates for parallelization comprises determining that the at least two network functions are independent of each other in the sequential service function chain.

17. A non-transitory computer-readable medium storing instructions which, when executed by a processor, cause the processor to perform operations, the operations comprising:

determining at least two network functions of a plurality of network functions are candidates for parallelization, wherein a sequential service function chain comprises the plurality of network functions, wherein the plurality of network functions spans a plurality of servers, and wherein a plurality of operations is associated with the plurality of network functions of the sequential service function chain;

aggregating operations of the plurality of operations associated with the at least two network functions into a network function segment;

determining whether another network function of the plurality of network functions is a candidate for parallelization with the network function segment;

based on the determining whether the another network function is a candidate for parallelization:

aggregating an operation of the plurality of operations associated with the another network function into the network function segment as a completed segment of a hybrid service function chain when the another network function is a candidate for parallelization with the network function segment; or

aggregating the network function segment as a completed segment of a hybrid service function chain when the another network function is not a candidate for parallelization with the network function segment;

installing at least one first routing rule into each software switch of a plurality of software switches for steering traffic associated with the hybrid service function chain, wherein each software switch of the plurality of software switches runs on one server of the plurality of servers; and

implementing the hybrid service function chain when all of the plurality of network functions of the sequential service function chain capable of being aggregated have been converted into the hybrid service function chain and when the at least one first routing rule has been installed into the each software switch.

18. The non-transitory computer-readable medium of claim 17 , wherein the processor comprises a software defined network processor.

19. The non-transitory computer-readable medium of claim 17 , the operations further comprising:

extracting the plurality of operations from a plurality of files describing features of the plurality of network functions.

20. The non-transitory computer-readable medium of claim 17 , wherein the plurality of network functions comprises a plurality of virtual network functions.

Assignments (3)
CONFIRMATORY LICENSE Recorded Jan 29, 2025
From: REGENTS OF THE UNIVERSITY OF MINNESOTA
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 070047/0845 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2022
From: HAN, BO; GOPALAKRISHNAN, VIJAY; ANWER, MUHAMMAD BILAL
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 061762/0698 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2022
From: ZHANG, ZHI-LI; ZHANG, YANG
To: REGENTS OF THE UNIVERSITY OF MINNESOTA
Reel/Frame 061762/0820 →
Continuity (3)
Continuation 17068780 · Oct 12, 2020
Continuation 16221237 · Dec 14, 2018
Related Publication 20230084160A1 · Mar 16, 2023