TECHNICAL FIELD

The disclosure relates to replicating multicast data in computer networks.

BACKGROUND

Multicasting is a technique where a source can provide a same data stream to multiple receivers. For example, a source may provide an audio and video data stream to a group of receivers. The receivers that wish to receive the same audio and video data stream join a multicast group. The source can transmit a single data stream to the multicast group which is then replicated within the network to each participating receiver that has joined the multicast group. The source does not need to know which receivers have joined the multicast group. Thus, a source providing a data stream to a multicast group need only provide a single copy of network packets of the data stream, which are then replicated within the network to each receiver that has joined the multicast group.

SUMMARY

In general, the disclosure describes techniques for optimizing the usage of network bandwidth for a 5G network by performing stream replication at an access gateway function (AGF) node to reduce the redundant traffic between the AGF node and a user plane function (UPF) node. Multicasting provides a mechanism for a source to transmit a single data stream that can be received by many different receivers. One issue that may occur with existing approaches is that the same multicast stream for the same multicast group may be replicated and transmitted via multiple tunnels between an AGF node and UPF node depending on the number of receiving gateways (RGs) that belong to the multicast group. There may be several thousands of RGs connecting to a UPF node via the same AGF node and this may result in over usage of the network bandwidth between the AGF node and UPF node. Also, the increasing use of multicast streams created for IPTV combined with 4K content can cause increased bandwidth requirements for multicast data streams. The increased bandwidth requirements can result in degraded performance due to inefficient handling of multicast data streams in existing systems.

The techniques disclosed herein include an AGF node that can receive requests to join a multicast stream from a computing device. The AGF can determine if the request is the first request to join the multicast stream. If the request is the first request to join the multicast stream, the AGF can forward the request to the UPF node. The multicast stream is then received via a tunnel associated with the computing device, where the tunnel is between the AGF node and the UPF node. The tunnel associated with the first computing device to request joining the multicast stream is indicated by the AGF node to be a primary tunnel. Subsequent requests to join the same multicast stream can cause the AGF node to add tunnels associated with the requesting computing devices as secondary tunnels. The multicast stream is received by the AGF node via the primary tunnel and replicated by the AGF node to computing devices associated with the secondary tunnels. The multicast stream is not transmitted through the secondary tunnels unless a given one of the secondary tunnels is promoted to a primary tunnel in response to a failure or disconnection of the previous primary tunnel.

The techniques disclosed herein can provide a technical advantage over previous systems by reducing the network bandwidth utilization between an AGF node and a UPF node. As a practical application of the techniques described in this disclosure, the AGF node can forward a single initial join request for a multicast stream to an upstream UPF node. Subsequent join requests are processed within the AGF node and not forwarded to the UPF node. The AGF node can replicate the streams to the requestors of the streams.

In one example, an AGF node method includes a first network interface configured to communicatively couple the AGF node to a User Plane Function (UPF) node via a first network, the UPF node communicatively coupled to a multicast source via a data network; a second network interface configured to communicatively couple the AGF node to an access network; one or more processors coupled to the first network interface and the second network interface; and a computer-readable medium coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the AGF node to: establish a first tunnel between the AGF node and the UPF node in response to registration of a first computing device with the AGF node, the first tunnel associated with the first computing device, establish a second tunnel between the AGF node and the UPF node in response to registration of a second computing device with the AGF node, the second tunnel associated with the second computing device, receive, from the second computing device, a multicast join request for a first multicast stream provided by a multicast source, and in response to a determination that the first multicast stream is currently received via the first tunnel and forwarded to the first computing device, replicate the first multicast stream and transmit the replicated first multicast stream to the second computing device, wherein the first multicast stream is received by the AGF node from the UPF node via the first tunnel.

In another example, a method includes establishing, by one or more processors of an AGF node, a first tunnel between the AGF node and a UPF node in response to registering a first computing device with the AGF node, the first tunnel associated with the first computing device; establishing a second tunnel between the AGF node and the UPF node in response to registering a second computing device with the AGF node, the second tunnel associated with the second computing device; receiving, by the AGF node from the second computing device, a multicast join request for a first multicast stream; and in response to determining that the first multicast stream is being forwarded to the first computing device, replicating, at the AGF node, the first multicast stream and transmitting, by the AGF node, the replicated first multicast stream to the second computing device, wherein the first multicast stream is received by the AGF node from the UPF node via the first tunnel.

In another example, a computer-readable medium includes instructions for causing one or more programmable processors to: establish a first tunnel between the AGF node and the UPF node in response to registration of a first computing device with the AGF node, the first tunnel associated with the first computing device; establish a second tunnel between the AGF node and the UPF node in response to registration of a second computing device with the AGF node, the second tunnel associated with the second computing device; receive, from the second computing device, a multicast join request for a first multicast stream provided by a multicast source; and in response to a determination that the first multicast stream is currently received via the first tunnel and forwarded to the first computing device, replicate the first multicast stream and transmit the replicated first multicast stream to the second computing device, wherein the first multicast stream is received by the AGF node from the UPF node via the first tunnel.

The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.

