# US 2021/0344606 A1 · Processing user traffic in a virtualised network

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

- Number: US 2021/0344606 A1
- Document ID: US20210344606A1
- Status: Published application
- Kind: A1
- Application number: 17/243,169
- Filed: 2021-04-28
- Published: 2021-11-04
- Earliest claimed: 2020-04-30
- Assignees: Metaswitch Networks Ltd.
- Applicants: Metaswitch Networks Ltd.
- Inventors: Martin TAYLOR; James Robert ANDREW; Matthew Ian Ronald WILLIAMS
- Web page: https://patentgrep.com/patent/US20210344606A1

## CPC

- H04L 47/2441: relying on flow classification, e.g. using integrated services [IntServ]
- H04L 49/70: {Virtual switches}
- H04L 45/122: by minimising distances, e.g. by selecting a route with minimum of number of hops
- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L 47/15: {in relation to multipoint traffic (arrangements for broadcast or multicast in data networks H04L12/18)}
- H04L 47/22: Traffic shaping
- H04L 47/2483: involving identification of individual flows
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

User traffic is processed in a virtualised network. First and second VNFs are initialised in the same network namespace as each other in user space in a host and have access to a shared memory region of the host. The first VNF processes user traffic and the second VNF provides a user plane service in relation to user traffic processed by the first VNF. The first VNF is used to establish a point-to-point, shared-memory interface between the first and second VNFs and is used to classify incoming user traffic. In response to the first VNF determining based on the classifying, that the incoming user traffic is to be subject to the user plane service, the first VNF is used to store the incoming user traffic in the shared memory region of the host to enable the second VNF to provide the user plane service in relation to the incoming trier traffic.

## Claims

### Claim 1

A method of processing user plane traffic in a virtualized network instantiating first and second virtualized network functions (VNFs) in a same network namespace in user space in a host of the virtualized network, the first VNF being arranged to process and classify user data packets and matching flows against policy for subsequence application of one or more network service functions to the user data packets, and the second VNF being arranged to provide a user plane service implementing the one or more network service functions in relation to the data packets processed by the first VNF; , the method comprising:
establishing, by the first VNF, a point-to-point, shared-memory interface between the first and second VNFs, wherein the first and second VNFs have access to a shared memory region of the host;
classifying, by the first VNF, a first user data packet;
in response to the first VNF determining, based on the classifying, that the first user data packet is to be subject to the user plane service provided by the second VNF, storing the incoming user data packet in the shared memory region of the host; and
causing the second VNF to provide the user plane service in relation to the incoming user traffic, wherein the second VNF is enabled to access the first user data packet stored in the shared memory region to perform the user plane service.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first VNF comprises one of User Plane Function (UPF) functionality or Service Function Classifier (SFC) functionality.

### Claim 3 (depends on 1)

The method of claim 1, wherein the second VNF comprises one of Service Function (SF) functionality or Mobile Edge Compute (MEC) functionality.

### Claim 4 (depends on 1)

The method of claim 1, wherein the user plane service comprises one of a user traffic analytics service, a video compression service, or a content-blocking service.

### Claim 5 (depends on 1)

The method of claim 1, wherein the point-to-point, shared-memory interface comprises a virtio interface.

### Claim 6 (depends on 1)

The method of claim 1, further comprising using the first VNF to initialize a virtio-user driver to create a virtio interface in the network namespace of the second VNF.

### Claim 7 (depends on 6)

The method of claim 6, wherein the initializing of the virtio-user driver by the first VNF is prior to the instantiation of the second VNF.

### Claim 8 (depends on 7)

The method of claim 7, wherein the second VNF binds to the virtio interface.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
instantiating a third VNF in the network namespace in user space in the host, the third VNF having access to the shared memory region of the host; and
establishing a further point-to-point, shared-memory interface between the first and third VNFs.

### Claim 10 (depends on 9)

The method of claim 9, wherein the third VNF comprises Service Function (SF) functionality.

### Claim 11 (depends on 9)

The method of claim 9, wherein the second and third VNFs are comprised in a Service Function Chain (SFC).

### Claim 12 (depends on 9)

The method of claim 9, wherein the third VNF comprises Mobile Edge Compute (MEC) functionality.

### Claim 13 (depends on 1)

The method of claim 1, wherein the VNFs are instantiated using a plurality of containers in a single Kubernetes pod.

### Claim 14 (depends on 1)

The method of claim 1, wherein the user traffic comprises video traffic.

### Claim 15 (depends on 1)

The method of claim 1, further comprising using the first VNF to transmit control data to the second VNF to inform the second VNF of the incoming user traffic in the shared memory region of the host.

### Claim 16 (depends on 15)

The method of claim 15, wherein the control data is transmitted over a Unix socket.

### Claim 17

A system for processing user traffic in a virtualized network, the system comprising:
at least one processor; and
at least one memory storing computer-executable instructions that, when executed by the at least one processor, cause the system to perform operations comprising:
instantiating first, second and third user plane functions in a same network namespace in user space in a host, the first, second and third user plane functions having access to a shared memory region of the host;
establishing a first point-to-point, shared-memory interface between the first and second user plane functions;
establishing a second point-to-point, shared-memory interface between the first and third user plane functions;
using the first user plane function to transmit first control data, relating to user traffic in the shared memory region, to the second user plane function; and
using the first user plane function to transmit second control data, relating to user traffic in the shared memory region, to the third user plane function.

### Claim 18 (depends on 17)

The system of claim 17, wherein the third user plane function comprises Service Function (SF) functionality.

### Claim 19 (depends on 17)

The system of claim 17, wherein the third user plane function comprises Mobile Edge Compute (MEC) functionality.

### Claim 20

A method of processing user traffic in a 5G network, the method comprising:
instantiating a UPF and at least one network function in a same network namespace in a host of the 5G network, the UPF and the at least one network function having access to a shared memory region of the host;
establishing at least one virtio interface with the at least one network function;
processing received user traffic;
storing the processed user traffic in the shared memory region of the host; and
transmitting control data associated with the received user traffic to the at least one further network function,
wherein the at least one network function comprises SF or MEC functionality.
