# US 10,873,480 B2 · Network service header (NSH) metadata-based end-to-end multimedia session identification and multimedia service optimization

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

- Number: US 10,873,480 B2
- Document ID: US10873480B2
- Status: Granted
- Kind: B2
- Application number: 16/502,572
- Filed: 2019-07-03
- Published: 2019-10-24
- Granted: 2020-12-22
- Earliest claimed: 2016-01-06
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Gonzalo Salgueiro; Prashanth Patil; K. Tirumaleswar Reddy; Carlos M. Pignataro
- Web page: https://patentgrep.com/patent/US10873480B2

## CPC

- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 45/0377: for service chaining
- H04L 45/74: Address processing for routing
- H04L 67/146: Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A network node in a service function chaining system receives multiple media streams of a media session between endpoints. Each media stream is encapsulated with a service header indicating a service function path and a session identifier. The network node determines that multiple service functions connected to the network node perform a particular service function in the service function path. The network node provides all of the media streams of the media session to a single service function instance to ensure that the media session is processed by the single service function.

## Claims

### Claim 1

A method comprising:
obtaining at a network node, a plurality of media streams associated with a media session between a plurality of endpoints, wherein each respective media stream is encapsulated with a corresponding service header indicating a corresponding service function path of service functions to process the respective media stream and a session identifier associated with the media session;
determining that a plurality of service function instances connected to the network node perform a particular service function in the corresponding service function path; and
providing the plurality of media streams to a single service function instance of the plurality of service function instances to enable all of the media streams associated with the media session to be processed by the single service function instance.

### Claim 2 (depends on 1)

The method of claim 1, further comprising obtaining the plurality of media streams from the single service function instance after the plurality of media streams have been processed.

### Claim 3 (depends on 2)

The method of claim 2, further comprising providing the plurality of media streams to a subsequent network node, the subsequent network node connected to at least one service function instance of a subsequent service function in the service function path.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
determining that the particular service function is the last service function in the service function path;
removing the corresponding service header from each respective media stream; and
providing each respective media stream to a destination network node connected to a destination endpoint.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
obtaining a different media stream associated with a different media session, the different media stream encapsulated with a different service header indicating a different service function path of service functions to process the different media stream and a different session identifier associated with the different media session; and
providing the different media stream to one of the plurality of service function instances.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
obtaining statistical information associated with the plurality of media streams from the single service function instance; and
providing the statistical information to a flow collector along with the session identifier.

### Claim 7 (depends on 1)

The method of claim 1, wherein the corresponding service function path includes a session recording service function to record the media session.

### Claim 8

An apparatus comprising:
a network interface configured to communicate with a plurality of network devices and a plurality of service function instances;
a processor configured to:
obtain via the network interface, a plurality of media streams associated with a media session between a plurality of endpoints, wherein each respective media stream is encapsulated with a corresponding service header indicating a corresponding service function path of service functions to process the respective media stream and a session identifier associated with the media session;
determine that the plurality of service function instances perform a particular service function in the corresponding service function path; and
provide the plurality of media streams to a single service function instance of the plurality of service function instances to enable all of the media streams associated with the media session to be processed by the single service function instance.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the processor is further configured to obtain the plurality of media streams from the single service function instance after the plurality of media streams have been processed.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the processor is further configured to provide the plurality of media streams to a subsequent network node, the subsequent network node connected to at least one service function instance of a subsequent service function in the service function path.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the processor is further configured to:
determine that the particular service function is the last service function in the service function path;
remove the corresponding service header from each respective media stream; and
cause the network interface to provide each respective media stream to a destination network node connected to a destination endpoint.

### Claim 12 (depends on 8)

The apparatus of claim 8, wherein the processor is further configured to:
obtain via the network interface, a different media stream associated with a different media session, the different media stream encapsulated with a different service header indicating a different service function path of service functions to process the different media stream and a different session identifier associated with the different media session; and
cause the network interface to provide the different media stream to one of the plurality of service function instances.

### Claim 13 (depends on 8)

The apparatus of claim 8, wherein the processor is further configured to:
obtain statistical information associated with the plurality of media streams from the single service function instance; and
cause the network interface to provide the statistical information to a flow collector along with the session identifier.

### Claim 14

One or more non-transitory computer readable storage media encoded with software comprising computer executable instructions and when the software is executed operable to cause a processor of a network node to:
obtain a plurality of media streams associated with a media session between a plurality of endpoints, wherein each respective media stream is encapsulated with a corresponding service header indicating a corresponding service function path of service functions to process the respective media stream and a session identifier associated with the media session;
determine that a plurality of service function instances connected to the network node perform a particular service function in the corresponding service function path; and
provide the plurality of media streams to a single service function instance of the plurality of service function instances to enable all of the media streams associated with the media session to be processed by the single service function instance.

### Claim 15 (depends on 14)

The non-transitory computer readable storage media of claim 14, wherein the instructions further cause the processor to obtain the plurality of media streams from the single service function instance after the plurality of media streams have been processed.

### Claim 16 (depends on 15)

The non-transitory computer readable storage media of claim 15, wherein the instructions further cause the processor to provide the plurality of media streams to a subsequent network node, the subsequent network node connected to at least one service function instance of a subsequent service function in the service function path.

### Claim 17 (depends on 15)

The non-transitory computer readable storage media of claim 15, wherein the instructions further cause the processor to:
determine that the particular service function is the last service function in the service function path;
remove the corresponding service header from each respective media stream; and
provide each respective media stream to a destination network node connected to a destination endpoint.

### Claim 18 (depends on 14)

The non-transitory computer readable storage media of claim 14, wherein the instructions further cause the processor to:
obtain a different media stream associated with a different media session, the different media stream encapsulated with a different service header indicating a different service function path of service functions to process the different media stream and a different session identifier associated with the different media session; and
provide the different media stream to one of the plurality of service function instances.

### Claim 19 (depends on 14)

The non-transitory computer readable storage media of claim 14, wherein the instructions further cause the processor to:
obtain statistical information associated with the plurality of media streams from the single service function instance; and
provide the statistical information to a flow collector along with the session identifier.

### Claim 20 (depends on 14)

The non-transitory computer readable storage media of claim 14, wherein the corresponding service function path includes a session recording service function to record the media session.
