IP Library › Granted Patent US 11,228,530
Granted Patent B2
US 11,228,530 · App. 17/008,583 · Granted Jan 18, 2022

Service function chain (SFC) path selection method and system

Inventor: Bo-Run Shao (New Taipei, TW)
Assignee: NANNING FUGUI PRECISION INDUSTRIAL CO., LTD.
H04L47/20H04L29/08135H04L41/08H04L41/0893H04L41/16H04L45/44H04L45/64H04L47/2441H04L67/10
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,228,530
App. No.
17/008,583
Granted
Jan 18, 2022
Kind
B2
Abstract

A service function chain (SFC) path selection method. The disclosed method receives an SFC request for scheduling an SFC, rearranges SFC with respect to the workload of service function forwarders (SFFs) utilized in the SFC while conforming to SFC arrangement rules concluded from a history of deployed SFC. The SFC arrangement rules may be created from machine learning processes or manually created by an administrator.

Claims (44)

1. A service function chain (SFC) path selection method executable by an electronic device, comprising:

obtaining all service functions (SF) in the same domain as a current SF set;

comparing the current SF set with a history of deployed SFs;

determining whether the current SF set is included in the history of deployed SFs;

if each SF in the current SF set is included in the history of deployed SFs, analyzing a relation between each set of two SFs in the current SF set to create SF arrangement rules by a machine learning process; and

scheduling a set of a plurality of SFs as a scheduled SFC to respond to a scheduling request, wherein the scheduled SFC is generated with respect to a workload of a group of service function forwarders associated with the plurality of service functions and conforms to the SF arrangement rules.

2. The method of claim 1 , further comprising:

if one or more SFs in the current SF set are not included in the history of deployed SFCs, updating the current SF set in the history of deployed SFCs by adding the one or more SFs of the current SF set to the history of deployed SFs;

obtaining all SFC information from the history of deployed SFCs and maintaining an SFC usage data structure using the obtained SFC information; and

generating an SFC usage data structure if no previous version of the SFC usage data structure is in the history and updating the SFC usage data structure if at least one previous version of the SFC usage data structure is in the history.

3. The method of claim 1 , wherein the step of performing relation analyzing to create the SF arrangement rules by the machine learning process further comprises:

obtaining the updated SFC usage data structure;

obtaining an element in the SFC usage data structure;

determining if an element in the SFC usage data structure is successfully obtained;

in a condition where an element in the SFC usage data structure is successfully obtained, obtaining and comparing two SFs with the administrator configured SF rules to check if the two SFs are included in the administrator configured SF rules; and

in a condition where the two SFs are included in the administrator configured SF rules, updating a service function relation table (SFRT) utilizing the element in the SFC usage data structure.

4. The method of claim 3 , wherein the step of performing relation analyzing to create the SF arrangement rules by the machine learning process further comprises:

in a condition where the two SFs are not included in the administrator configured SF rules, comparing the element in the SFC usage data structure with a threshold by determining whether the element in the SFC usage data structure exceeds a threshold; and

updating the SFRT utilizing the element in the SFC usage data structure that exceeds the threshold.

5. The method of claim 4 , wherein each element in the SFC usage data structure is a statistic value associated with two SFs referred to as SF(fi) and SF(fj), wherein SF(fi) is placed before SF(fj).

6. The method of claim 1 , wherein the step of scheduling the set of a plurality of SFs as the scheduled SFC further comprises:

upon receiving a new SFC request from a SFC controller, obtaining an SF in the original SFC for a lookup of the service function arrangement rules;

sequentially obtaining each SF in an original SFC and performing the lookup of the service function arrangement rules to retrieve and apply one or more applicable rules;

in a condition where all SFs in the original SFC have been obtained and processed for the lookup of the service function arrangement rules, applying one or more applicable rules to generate rearranged SFCs.

7. The method of claim 6 , wherein the step of scheduling the set of a plurality of SFs as the scheduled SFC further comprises:

in a condition where not yet processed SFs in the original SFC is obtained for the lookup of the service function arrangement rules, determining whether the not yet processed SFs are included in at least one of the service function arrangement rules;

in a condition where the not yet processed SFs are included in at least one of the service function arrangement rules, identifying the at least one of the service function arrangement rules as a part of the applicable rules;

generating a pool of candidate SFCs conforming to the applicable rules; and

determining and scheduling an optimized SFC from the candidate SFCs.

8. A service function chain (SFC) path selection system, applicable in a device, the device comprising:

at least one processor;

a storage unit; and

one or more programs that are stored in the storage unit and executed by the at least one processor, the one or more programs comprising instructions for:

obtaining all service functions (SF) in the same domain as a current SF set;

comparing the current SF set with a history of deployed SFs;

determining whether the current SF set is included in the history of deployed SFs;

if each SF in the current SF set is included in the history of deployed SFs, analyzing a relation between each set of two SFs in the current SF set to create SF arrangement rules by a machine learning process; and

scheduling a set of a plurality of service functions as a scheduled SFC to respond to a scheduling request, wherein the scheduled SFC is generated with respect to a workload of a group of service function forwarders associated with the plurality of service functions and conforms to the SF arrangement rules.

9. The system of claim 8 , wherein the one or more programs further comprise instructions for: if one or more SFs in the current SF set are not included in the history of deployed SFCs, updating the current SF set in the history of deployed SFCs by adding the one or more SFs of the current SF set to the history of deployed SFs, obtaining all SFC information from the history of deployed SFCs and maintains an SFC usage data structure using the obtained SFC information, generating an SFC usage data structure if no previous version of the SFC usage data structure is in the history, and updating the SFC usage data structure if at least one previous version of the SFC usage data structure is in the history.

10. The system of claim 8 , wherein the one or more programs further comprise instructions for: obtaining the updated SFC usage data structure, obtains an element in the SFC usage data structure, determining if an element in the SFC usage data structure is successfully obtained, in a condition where an element in the SFC usage data structure is successfully obtained, obtaining and comparing two SFs with the administrator configured SF rules to check if the two SFs are included in the administrator configured SF rules, and, in a condition where the two SFs are included in the administrator configured SF rules, updating a service function relation table (SFRT) utilizing the element in the SFC usage data structure.

11. The system of claim 10 , wherein the one or more programs further comprise instructions for: in a condition where the two SFs are not included in the administrator configured SF rules, comparing the element in the SFC usage data structure with a threshold by determining whether the element in the SFC usage data structure exceeds a threshold, and updating the SFRT utilizing the element in the SFC usage data structure that exceeds the threshold.

12. The system of claim 11 , wherein each element in the SFC usage data structure is a statistic value associated with two SFs referred to as SF(fi) and SF(fj), wherein SF(fi) is placed before SF(fj).

13. The system of claim 8 , wherein the one or more programs further comprise instructions for: upon receiving a new SFC request from a SFC controller, obtaining an SF in an original SFC for a lookup of the service function arrangement rules, sequentially obtaining each SF in the original SFC and performing the lookup of the service function arrangement rules to retrieve and apply one or more applicable rules, in a condition where all SFs in the original SFC have been obtained and processed for the lookup of the service function arrangement rules, applying one or more applicable rules to generate rearranged SFCs.

14. The system of claim 13 , wherein the one or more programs further comprise instructions for: in a condition where not yet processed SFs in the original SFC are obtained for the lookup of the service function arrangement rules, determining whether the not yet processed SFs are included in at least one of the service function arrangement rules, in a condition where the not yet processed SFs are included in at least one of the service function arrangement rules, identifying the at least one of the service function arrangement rules as a part of the applicable rules, generating a pool of candidate SFCs conforming to the applicable rules, and determining and scheduling an optimized SFC from the candidate SFCs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: SHAO, BO-RUN
To: NANNING FUGUI PRECISION INDUSTRIAL CO., LTD.
Reel/Frame 053649/0947 →
Continuity (2)
Continuation 16182568 · Nov 6, 2018
Related Publication 20200396166A1 · Dec 17, 2020
Cited By (1)
US 12,413,504