# US 2020/0396166 A1 · Service function chain (sfc) path selection method and system

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

- Number: US 2020/0396166 A1
- Document ID: US20200396166A1
- Status: Published application
- Kind: A1
- Application number: 17/008,583
- Filed: 2020-08-31
- Published: 2020-12-17
- Earliest claimed: 2018-11-06
- Assignees: Nanning Fugui Precision Industrial Co., Ltd.
- Applicants: Nanning Fugui Precision Industrial Co., Ltd.
- Inventors: BO-RUN SHAO
- Web page: https://patentgrep.com/patent/US20200396166A1

## CPC

- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L 41/0894: Policy-based network configuration management
- H04L 41/16: using machine learning or artificial intelligence
- H04L 45/44: Distributed routing
- H04L 45/64: using an overlay routing layer
- H04L 47/20: Traffic policing
- H04L 47/2441: relying on flow classification, e.g. using integrated services [IntServ]
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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 relation between each selected couple of SFs in the current SF set;
performing relation analyzing 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 service function arrangement rules based on an SFC history of deployed SFCs.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 3)

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.

### Claim 5 (depends on 4)

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

### Claim 6 (depends on 1)

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 the original SFC and performing the lookup of the service function arrangement rules to retrieve and apply one or more applicable rules;
determining whether the SF have been completed obtained and processed;
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.

### Claim 7 (depends on 6)

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 with respect to SFF workload.

### Claim 8

A service function chain (SFC) path selection system, comprising:
a data collecting module, configured to obtain all service functions (SF) in the same domain as a current SF set, compare the current SF set with a history of deployed SFs, and determine whether the current SF set is included in the history of deployed SFs;
a SF relation analyzing module, configured to, if each SF in the current SF set is included in the history of deployed SFs, analyze relation between each selected couple of SFs in the current SF set, and perform relation analyzing to create SF arrangement rules by a machine learning process; and
a service function chain rearranging module, configured to schedule a set of a plurality of service functions (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 service function arrangement rules concluded from the SFC history.

### Claim 9 (depends on 8)

The system of claim 8, wherein the data collecting module, if one or more SFs in the current SF set are not included in the history of deployed SFCs, updates 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, obtains all SFC information from the history of deployed SFCs and maintains an SFC usage data structure using the obtained SFC information, generates an SFC usage data structure if no previous version of the SFC usage data structure is in the history, and updates the SFC usage data structure if at least one previous version of the SFC usage data structure is in the history.

### Claim 10 (depends on 8)

The system of claim 8, wherein the SF relation analyzing module obtains the updated SFC usage data structure, obtains an element in the SFC usage data structure, determines 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, obtains and compares 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.

### Claim 11 (depends on 10)

The system of claim 10, wherein the SF relation analyzing module, in a condition where the two SFs are not included in the administrator configured SF rules, compares 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 updates the SFRT utilizing the element in the SFC usage data structure that exceeds the threshold.

### Claim 12 (depends on 11)

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

### Claim 13 (depends on 8)

The system of claim 8, wherein the SFC rearrangement module, upon receiving a new SFC request from a SFC controller 100, obtains an SF in the original SFC for a lookup of the service function arrangement rules, sequentially obtains 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, determines whether the SF have been completed obtained and processed, in a condition where all SFs in the original SFC have been obtained and processed for the lookup of the service function arrangement rules, applies one or more applicable rules to generate rearranged SFCs.

### Claim 14 (depends on 13)

The system of claim 13, wherein the SFC rearrangement module, in a condition where not yet processed SFs in the original SFC is obtained for the lookup of the service function arrangement rules, determines 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, identifies the at least one of the service function arrangement rules as a part of the applicable rules, generates a pool of candidate SFCs conforming to the applicable rules, and determines and scheduling an optimized SFC from the candidate SFCs with respect to SFF workload.
