# US 10,122,622 B2 · Exchanging application metadata for application context aware service insertion in service function chain

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

- Number: US 10,122,622 B2
- Document ID: US10122622B2
- Status: Granted
- Kind: B2
- Application number: 14/725,222
- Filed: 2015-05-29
- Published: 2016-12-01
- Granted: 2018-11-06
- Earliest claimed: 2015-05-29
- Assignees: Futurewei Technologies, Inc.
- Applicants: Futurewei Technologies, Inc.
- Inventors: Xiaobo Wang; Hong Zhang
- Web page: https://patentgrep.com/patent/US10122622B2

## CPC

- H04L 45/38: {Flow based routing}
- H04L 41/50: Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method implemented by a network element (NE), comprising receiving a classification message comprising a classification rule for identifying a service function chain (SFC) in a network, wherein the SFC comprises an ordered set of service functions (SFs) that provides services to an application, and a dynamic application-specific contextual data associated with an operation of the application, receiving a first of a plurality of application data packets, determining that the first of the application data packets matches the classification rule, generating a first SFC packet by adding the dynamic application-specific contextual data to the first of the application data packets according to the classification rule to enable communication of the dynamic application-specific contextual data to at least one of the SFs in the SFC, and sending the first SFC packet towards a next NE according to an SF path in the network associated with the SFC.

## Claims

### Claim 1

A method implemented by a network element (NE), comprising:
receiving a classification message comprising:
a classification rule for identifying a service function chain (SFC) in a network, wherein the SFC comprises an ordered set of service functions (SFs) that provides services to an application; and
a dynamic application-specific contextual data associated with an operation of the application, the dynamic application-specific contextual data comprising application data that is generated dynamically by the application upon initiation of the application and that may be updated based on the operation of the application;
receiving a first of a plurality of application data packets;
determining that the first of the application data packets matches the classification rule;
generating, when the first of the application data packets matches the classification rule, a first SFC packet by adding the dynamic application-specific contextual data to the first of the application data packets according to the classification rule to enable communication of the dynamic application-specific contextual data to at least one of the SFs in the SFC;
sending the first SFC packet towards a next NE according to an SF path in the network associated with the SFC;
receiving a flow configuration message that indicates an addition of the SF path into the network, wherein the addition of the SF path is associated with the initiation of the application; and
receiving a flow termination message that indicates a deletion of the SF path from the network, wherein the deletion of the SF path is associated with a termination of the application.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving a service update message that indicates an updated application-specific contextual data while the application is in operation, the updated application-specific contextual data is generated by the application;
receiving a second of the application data packets after receiving the service update message;
generating a second SFC packet by adding the updated application-specific contextual data to the second of the application data packets; and
sending the second SFC packet to the next NE.

### Claim 3 (depends on 1)

The method of claim 1, wherein the dynamic application-specific contextual data is associated with at least a portion of the application data packets, and wherein the method further comprises determining that the first of the application data packets corresponds to one of the application data packets in the portion prior to adding the dynamic application-specific contextual data to the first of the application data packets.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating the first SFC packet further comprises:
generating a service header comprising a metadata field;
inserting the dynamic application-specific contextual data into the metadata field; and
adding the service header to the first of the application data packets.

### Claim 5 (depends on 4)

The method of claim 4, wherein the metadata field comprises:
one or more SF identifier (ID) fields that identify one or more of the SFs;
an SF count field that indicates a number of the SF ID fields in the metadata field; and
a selective-forwarding bit (SBF) field that indicates whether the dynamic application-specific contextual data is to be only forwarded to the SFs identified in the SF ID fields.

### Claim 6 (depends on 5)

The method of claim 5, wherein the classification message further comprise a forwarding policy that indicates a forwarding scope for the dynamic application-specific contextual data, wherein the forward scope indicates one or more SFs, and wherein generating the first SFC packet further comprises:
inserting the one or more SFs into the SF ID fields of the metadata field; setting the SBF field to indicate that the dynamic application-specific contextual data is to be only forwarded to the SFs indicated in the SF ID fields; and
setting the SF count field to indicate a number of the SFs inserted into the SF ID fields.

### Claim 7 (depends on 1)

The method of claim 1, wherein the application is a voice over Internet protocol (VoIP) application, wherein the dynamic application-specific contextual data specified by the application is encryption parameters for the VoIP application.

### Claim 8 (depends on 7)

The method of claim 7, wherein the encryption parameters for the VoIP application are updated during a call by the VoIP application.

### Claim 9

A method implemented by a network element (NE), comprising:
receiving a classification message comprising:
a classification rule for identifying a service function chain (SFC) in a network, wherein the SFC comprises an ordered set of service functions (SFs) that provides services to an application; and
a dynamic application-specific contextual data associated with an operation of the application, the dynamic application-specific contextual data comprising application data that is generated dynamically by the application upon initiation of the application and that may be updated based on the operation of the application, wherein the dynamic application-specific contextual data is used by at least one of the SFs in the SFC in providing services to the application;
receiving a first of a plurality of application data packets;
determining that the first of the application data packets matches the classification rule;
generating, when the first of the application data packets matches the classification rule, a first SFC packet by adding the dynamic application-specific contextual data to the first of the application data packets according to the classification rule to enable communication of the dynamic application-specific contextual data to the at least one of the SFs in the SFC;
sending the first SFC packet towards a next NE according to an SF path in the network associated with the SFC;
receiving a flow configuration message that indicates an addition of the SF path into the network, wherein the addition of the SF path is associated with the initiation of the application; and
receiving a flow termination message that indicates a deletion of the SF path from the network, wherein the deletion of the SF path is associated with a termination of the application.

### Claim 10 (depends on 9)

The method of claim 9, further comprising receiving a service update message that indicates an updated application-specific contextual data while the application is in operation, the updated application-specific contextual data is generated by the application.

### Claim 11 (depends on 10)

The method of claim 10, further comprising receiving a second of the application data packets after receiving the service update message.

### Claim 12 (depends on 11)

The method of claim 11, further comprising generating a second SFC packet by adding the updated application-specific contextual data to the second of the application data packets.

### Claim 13 (depends on 12)

The method of claim 12, further comprising sending the second SFC packet to the next NE.

### Claim 14 (depends on 9)

The method of claim 9, wherein the dynamic application-specific contextual data is associated with at least a portion of the application data packets.

### Claim 15 (depends on 9)

The method of claim 9, further comprising determining that the first of the application data packets corresponds to one of the application data packets in a portion prior to adding the dynamic application-specific contextual data to the first of the application data packets.

### Claim 16 (depends on 9)

The method of claim 9, wherein generating the first SFC packet further comprises:
generating a service header comprising a metadata field; and
inserting the dynamic application-specific contextual data into the metadata field.

### Claim 17 (depends on 16)

The method of claim 16, further comprising adding the service header to the first of the application data packets.

### Claim 18 (depends on 17)

The method of claim 17, wherein the metadata field comprises one or more SF identifier (ID) fields that identify one or more of the SFs;
an SF count field that indicates a number of the SF ID fields in the metadata field; and
a selective-forwarding bit (SBF) field that indicates whether the dynamic application-specific contextual data is to be only forwarded to the SFs identified in the SF ID fields.
