Patent Description:
<CIT> discloses techniques for managing multicast traffic.

<CIT> discloses systems, methods and devices for privacy control of traffic accessing PLMN service at a non-public network.

<NPL>, proposes the support of NSWO for 3GPP device behind the WLAN access network connected via SWa to NSWO functionality.

Various optional features of the invention are defined by the dependent claims.

An AGF and a UPF are connected over an N3 interface (e.g., a general packet radio service (GPRS) tunneling protocol (GTP-U) tunnel) identified by a unique tunnel identifier (TEID) per subscriber. The GTP-U is used for carrying user data within a GPRS core network and between a radio access network/wireline access network and the core network. The GTP-U provides a heartbeat mechanism that is optionally enabled. In cases where the GTP-U heartbeat mechanism is not enabled, bidirectional forwarding detection (BFD) is used to detect reachability of the UPF. When the UPF is inoperable, subscriber traffic is blocked until the UPF becomes operable again or a session management function (SMF) allocates a new UPF and moves the subscriber session to the new UPF. In either case, there is a window where the subscriber traffic is completely blocked, which causes a service disruption for the subscriber. Subscriber traffic disruption may occur when the UPF is unreachable due to the N3 interface being inoperable or due to any intermediate network device between AGF and UPF being inoperable. The core network may not detect the subscriber traffic disruption when a control session is functional between the SMF and the UPF.

Subscriber traffic disruption may also occur when the UPF is inoperable. In such instances, the control session between the SMF and the UPF may be utilized to detect the inoperable UPF due to missing keepalive messages. The SMF may select an alternate UPF and may provision the subscriber for the alternate SMF. However, detecting an inoperable UPF via the control session between the SMF, an access and mobility management function (AMF), and the AGF is time consuming. The window of traffic disruption may be significant and may result in reconnection of the CPE. The traffic disruption may be significant when the network has a single UPF that is provisioned for converged subscribers, and when the SMF is unable to identify an alternate UPF (e.g., due to other UPFs executing at full capacity, inability to identify a UPF with services needed for a network slice, and/or the like). Solutions for the unreachable and/or inoperable UPF may include the CPE detecting a traffic disruption and reconnecting to the network, or the SMF detecting the inoperable or unreachable UPF, selecting a new UPF, and migrating the CPE to the new UPF. However, such solutions fail to address all types of failures associated with the UPF.

In wireless wireline convergence, if a subscriber requests (e.g., via an Internet group management protocol (IGMP) join) a multicast stream, the UPF is responsible for replicating and tunneling the multicast stream to the AGF. The AGF, in turn, relays the multicast stream to the subscriber. Such an arrangement is suboptimal when multiple subscribers request the same multicast stream. For example, the UPF replicates the multicast stream for the multiple subscribers, and each copy of the stream is tunneled (e.g., via GTP-U tunnel) to the AGF. Since the UPF and the AGF are connected over a network, each copy of the stream traverses the network with GTP-U encapsulation. Furthermore, if the UPF is inoperable or unreachable, the multicast services may be disrupted.

Thus, current techniques for handling an unreachable and/or inoperable UPF consume computing resources (e.g., processing resources, memory resources, communication resources, and/or the like), networking resources, and/or the like, associated with blocking traffic between subscribers and a network due to an unreachable and/or inoperable UPF, losing subscriber traffic due to an unreachable and/or inoperable UPF, handling lost subscriber traffic caused by an unreachable and/or inoperable UPF, and/or the like.

Some implementations described herein relate to a network device that provides multicast local breakout for CPE in a <NUM> wireless wireline convergence. For example, a network device (e.g., an AGF) may enable multicast local breakout for a first subscriber device and a second subscriber device, and may receive, from the first subscriber device, a first request to receive multicast data from a data network. The network device may receive, from the second subscriber device, a second request to receive the multicast data from the data network, and may determine whether a connection with a UPF is available. The network device may receive the multicast data directly from the data network based on determining that the connection with the UPF is unavailable and based on enabling the multicast local breakout. The network device may generate a copy of the multicast data based on determining that the connection with the UPF is unavailable, and may provide the multicast data to the first subscriber device and the copy of the multicast data to the second subscriber device. Local breakout may enable a mobile network operator to break out Internet sessions into a home network, to provide subscriber devices with an ability to order data, which is provided directly by a visited network. Local breakout may enable the traffic offloading in a radio access network to reduce end-to-end latency and save core network load.

In this way, the network device provides multicast local breakout for CPE in a <NUM> wireless wireline convergence. For example, a network device (e.g., an AGF) may enable a local breakout for a subscriber, and may create two paths for the subscriber based on enabling the local breakout. A primary path may provide information to reach a UPF via a first network interface (e.g., an AGF mode) and a secondary path may provide information to reach a second network interface (e.g., a broadband network gateway (BNG) mode). The primary path and the secondary path may be created as a double barrel network handover to a data network for the subscriber, with the primary path being a network handover to the UPF and the secondary path being a network handover directly to the data network when the UPF is unavailable. The network device may enable a multicast local breakout for subscribers, and may receive requests for multicast data from the subscribers. The network device may store the requests for the multicast data, and may provide a single request for the multicast data to the data network. The network device may receive the multicast data based on the single request, and may replicate the multicast data to the subscribers. Thus, the network device conserves computing resources, networking resources, and/or the like that would otherwise have been consumed by blocking traffic between subscribers and a network due to an unreachable and/or inoperable UPF, losing subscriber traffic due to an unreachable and/or inoperable UPF, handling lost subscriber traffic caused by an unreachable and/or inoperable UPF, and/or the like.

<FIG> are diagrams of an example <NUM> associated with providing local breakout for CPE in a <NUM> wireless wireline convergence at an AGF. As shown in <FIG>, example <NUM> includes one or more CPEs (e.g., associated with subscribers), a core network, and a data network. The core network may include an AGF, an AMF, an SMF, and a UPF. Further details of the CPEs, the core network, the data network, the AGF, the AMF, the SMF, and the UPF are provided elsewhere herein.

As shown in <FIG>, and by reference number <NUM>, local breakout may be enabled for a subscriber device (e.g., the CPE). A local breakout is a mechanism (e.g., an offload mechanism) for providing subscriber services at an access network without depending on a core network. For example, the AGF may include a configuration that enables a local breakout for a subscriber device (e.g., the CPE). When enabled, a control plane of the AGF may create two network handovers for the subscriber device, as described below. A primary network handover may provide information for the AGF to communicate with the UPF via an N3 interface (e.g., an AGF mode) and a secondary network handover may provide information for the AGF to communicate with the data network via an A10 interface (e.g., a BNG mode).

<FIG> is a call flow diagram associated with providing local breakout for the CPE at the AGF when a connection is restored to the UPF. As shown at step <NUM> of <FIG>, the AGF and the AMF may perform an N2 setup to select the AMF for control plane data provided to the AMF via an N2 interface. As shown at step <NUM>, the CPE may provide a session initiation request to the AGF, and the AGF may receive the session initiation request. For example, the CPE may wish to establish a protocol data unit (PDU) session with the data network so that the CPE may communicate with the data network. As shown at steps <NUM> and <NUM>, the AGF and the AMF may perform a registration procedure for the PDU session, and the AGF may provide a PDU session establishment request to the AMF. The AMF may receive the PDU session establishment request. The PDU session establishment request may include a request to establish the PDU session for the CPE with the data network.

As shown at step <NUM> of <FIG>, based on the PDU session establishment request, the AMF may generate and provide a PDU session create request to the SMF, and the SMF may receive the PDU session create request. As shown at step <NUM>, based on the PDU session create request, the SMF and the UPF may establish the PDU session. Once the PDU session is established, the SMF may generate a PDU session create acknowledge message. As shown at step <NUM>, the SMF may provide the PDU session create acknowledge message to the AMF, and the AMF may receive the PDU session create acknowledge message. As shown at step <NUM>, based on receiving the PDU session create acknowledge message, the SMF may provide a PDU session resource setup request to the AGF, and the AGF may receive the PDU session resource setup request. The AGF may set up resources for the PDU session based on the PDU session resource setup request, and may generate a PDU session resource setup response indicating that the resources are set up for the PDU session. The AGF may provide the PDU session resource setup response to the AMF and may generate a session established message indicating that the PDU session is established. As shown at step <NUM>, the AGF may provide the session established message to the CPE and the CPE may receive the session established message.

As shown at step <NUM> of <FIG>, the CPE may provide data packets to the AGF (e.g., destined for the data network) and/or may receive data packets from the AGF (e.g., received from the data network). The AGF and the UPF may establish a GTP-U tunnel for the data packets via the N3 interface. As shown at step <NUM>, the AGF may provide the data packets to and from the data network, via the GTP-U tunnel and the UPF (e.g., via a primary path created with the UPF). As shown at step <NUM>, the AGF may utilize bidirectional forwarding detection (BFD) with the UPF to determine whether the connection with the UPF is available or unavailable (e.g., lost or failed) or may utilize GTP-U tunnel heartbeats (e.g., echo requests and responses) with the UPF to determine whether the connection with the UPF is available or unavailable. If the UPF is available, the AGF may provide the data packets to and from the data network, via the primary path created with the UPF. As shown at step <NUM>, if the UPF is unavailable, the AGF may provide the data packets to and from the data network via a direct secondary path with the data network (e.g., via the N10 interface). In some implementations, the AGF may pre-provision the secondary path with the data network so that the AGF may immediately switch from the primary path to the secondary path when the UPF is unavailable.

<FIG> is a call flow diagram associated with providing local breakout for the CPE at the AGF when the UPF is unavailable and a new UPF is allocated for the CPE. <FIG> continues the call flow of <FIG>, but includes a first UPF (UPF-<NUM>) and a second UPF (UPF-<NUM>). As shown at step <NUM> of <FIG>, the CPE may provide the data packets to the AGF and/or may receive the data packets from the AGF. As shown at step <NUM>, the AGF may provide the data packets to and from the data network, via the GTP-U tunnel with the first UPF and the primary path. As shown at step <NUM>, the AGF may utilize BFD with the first UPF to determine whether the connection with the first UPF is available or unavailable or may utilize GTP-U tunnel heartbeats with the first UPF to determine whether the connection with the first UPF is available or unavailable. As shown at step <NUM>, if the first UPF is unavailable, the AGF may provide the data packets to and from the data network via the direct secondary path with the data network.

As shown at step <NUM> of <FIG>, the SMF and the second UPF may establish a new PDU session. Once the new PDU session is established, the SMF may generate a PDU session create acknowledge message. As shown at step <NUM>, the SMF may provide the PDU session create acknowledge message to the AMF, and the AMF may receive the PDU session create acknowledge message. As shown at step <NUM>, based on receiving the PDU session create acknowledge message, the SMF may provide a PDU session resource setup request to the AGF, and the AGF may receive the PDU session resource setup request. The AGF may set up resources for the new PDU session based on the PDU session resource setup request, and may generate a PDU session resource setup response indicating that the resources are set up for the new PDU session. The AGF may provide the PDU session resource setup response to the AMF.

As shown at step <NUM> of <FIG>, the AGF may provide the data packets to and from the data network, via the GTP-U tunnel with the second UPF and a new primary path (e.g., created with the second UPF). As shown at step <NUM>, the AGF may utilize BFD with the second UPF to determine whether the connection with the second UPF is available or unavailable or may utilize GTP-U tunnel heartbeats with the second UPF to determine whether the connection with the second UPF is available or unavailable. If the second UPF is available, the AGF may provide the data packets to and from the data network, via the new primary path created with the second UPF.

In some implementations, if the GTP-U heartbeats are not enabled between the AGF and UPF, the AGF may enable BFD to track the reachability of the UPF. In some implementations, when the N3 interface is inoperable or the UPF becomes unreachable, the AGF may switch from the AGF mode to the BNG mode to enable subscriber traffic to be provided to the data network via the A10 interface. A subscriber route may be exported to the data network to enable the subscriber traffic to be provided to the subscriber via the A10 interface. In some implementations, the secondary path may be utilized only when the primary path is not available. Thus, implementations described herein provide an extremely fast failover mechanism for a time period when the UPF is not available. Since the secondary path is preprovisioned, on detection of connectivity to UPF, the AGF may immediately switch to the secondary path.

As shown in <FIG>, and by reference number <NUM>, multicast local breakout may be enabled for subscriber devices (e.g., a first CPE (CPE-<NUM>) and a second CPE (CPE-<NUM>)). For example, the AGF may include a configuration that enables a multicast local breakout for subscriber devices (e.g., the first CPE and the second CPE). When enabled, the AGF may receive requests for multicast data from the subscriber devices, and may provide a single request for the multicast data to the data network. The AGF may receive the multicast data based on the single request, and may replicate the multicast data to the subscriber devices.

<FIG> is a call flow diagram associated with providing multicast local breakout for the CPEs at the AGF when the UPF is available. As shown at step <NUM> of <FIG>, the AGF and the AMF may perform an N2 setup to select the AMF for control plane data provided to the AMF via an N2 interface. As shown at step <NUM>, the first CPE may provide a session initiation request to the AGF, and the AGF may receive the session initiation request. For example, the first CPE may wish to establish a PDU session with the data network so that the first CPE may communicate with the data network. As shown at step <NUM>, the AGF and the AMF may perform a registration procedure for the PDU session. As shown at step <NUM>, the AGF and the SMF may perform a PDU session establishment procedure. For example, the AGF may provide a PDU session establishment request to the AMF, and the AMF may receive the PDU session establishment request. The PDU session establishment request may include a request to establish the PDU session for the first CPE with the data network. Based on the PDU session establishment request, the AMF may generate and provide a PDU session create request to the SMF, and the SMF may receive the PDU session create request.

As shown at step <NUM> of <FIG>, based on the PDU session create request, the SMF and the UPF may establish the PDU session, as described above in connection with <FIG>. The AGF may generate a session established message indicating that the PDU session is established. As shown at step <NUM>, the AGF may provide the session established message to the first CPE and the first CPE may receive the session established message. As shown at step <NUM>, the first CPE may provide data packets to the AGF (e.g., destined for the data network) and/or may receive data packets from the AGF (e.g., received from the data network). The AGF and the UPF may establish a GTP-U tunnel for the data packets via the N3 interface. As shown at step <NUM>, the AGF may provide the data packets to and from the data network, via the GTP-U tunnel and the UPF (e.g., via a primary path created with the UPF).

As shown at step <NUM> of <FIG>, the first CPE may generate and provide an Internet group management protocol (IGMP) join request to the AGF, and the AGF may receive the IGMP join request. The IGMP join request may include a request to receive multicast data (e.g., multicast data associated with a group of subscribers, such as Group X) from the data network. The AGF may provide the IGMP join request to the UPF, via the GTP-U tunnel, and the UPF may receive the IGMP join request. As shown at step <NUM>, based on receiving the IGMP join request, the UPF may generate and provide a protocol independent multicast (PIM) join request to the data network. The PIM join request may include a request to receive the multicast data (e.g., the multicast data for Group X) from the data network. As shown at step <NUM>, the data network may provide the multicast (MC) data (e.g., for Group X) to the first CPE, via the GTP-U tunnel and the UPF.

As shown at step <NUM> of <FIG>, the second CPE may provide a session initiation request to the AGF, and the AGF may receive the session initiation request. For example, the second CPE may wish to establish a PDU session with the data network so that the second CPE may communicate with the data network. As shown at step <NUM>, the AGF and the AMF may perform a registration procedure for the PDU session. As shown at step <NUM>, the AGF and the SMF may perform a PDU session establishment procedure. For example, the AGF may provide a PDU session establishment request to the AMF, and the AMF may receive the PDU session establishment request. The PDU session establishment request may include a request to establish the PDU session for the second CPE with the data network. Based on the PDU session establishment request, the AMF may generate and provide a PDU session create request to the SMF, and the SMF may receive the PDU session create request.

As shown at step <NUM> of <FIG>, based on the PDU session create request, the SMF and the UPF may establish the PDU session, as described above in connection with <FIG>. The AGF may generate a session established message indicating that the PDU session is established. As shown at step <NUM>, the AGF may provide the session established message to the second CPE and the second CPE may receive the session established message. As shown at step <NUM>, the second CPE may provide data packets to the AGF (e.g., destined for the data network) and/or may receive data packets from the AGF (e.g., received from the data network). The AGF and the UPF may establish a GTP-U tunnel for the data packets via the N3 interface. As shown at step <NUM>, the AGF may provide the data packets to and from the data network, via the GTP-U tunnel and the UPF (e.g., via a primary path created with the UPF).

As shown at step <NUM> of <FIG>, the second CPE may generate and provide an IGMP join request to the AGF, and the AGF may receive the IGMP join request. The IGMP join request may include a request to receive the multicast data (e.g., the multicast data for Group X) from the data network. The AGF may provide the IGMP join request to the UPF, via the GTP-U tunnel, and the UPF may receive the IGMP join request. Based on receiving the IGMP join request, the UPF may replicate the multicast data previously received from the data network to generate a copy of the multicast data. As shown at step <NUM>, the UPF may provide the copy of multicast data (e.g., for Group X) to the second CPE, via the GTP-U tunnel.

<FIG> is a call flow diagram associated with providing multicast local breakout for the CPEs at the AGF when the UPF is unavailable. As shown at step <NUM> of <FIG>, the AGF and the AMF may perform an N2 setup to select the AMF for control plane data provided to the AMF via an N2 interface. As shown at step <NUM>, the first CPE may provide a session initiation request to the AGF, and the AGF may receive the session initiation request. For example, the first CPE may wish to establish a PDU session with the data network so that the first CPE may communicate with the data network. As shown at step <NUM>, the AGF and the AMF may perform a registration procedure for the PDU session. As shown at step <NUM>, the AGF and the SMF may perform a PDU session establishment procedure. For example, the AGF may provide a PDU session establishment request to the AMF, and the AMF may receive the PDU session establishment request. The PDU session establishment request may include a request to establish the PDU session for the first CPE with the data network. Based on the PDU session establishment request, the AMF may generate and provide a PDU session create request to the SMF, and the SMF may receive the PDU session create request.

As shown at step <NUM> of <FIG>, the first CPE may generate and provide an IGMP join request to the AGF, and the AGF may receive the IGMP join request. The IGMP join request may include a request to receive multicast data (e.g., multicast data associated with a group of subscribers, such as Group X) from the data network. As shown at step <NUM>, based on receiving the IGMP join request, the AGF may generate and provide a PIM join request to the data network. The PIM join request may include a request to receive the multicast data (e.g., the multicast data for Group X) from the data network. As shown at step <NUM>, the data network may provide the multicast data (e.g., for Group X) to the first CPE, via the AGF.

As shown at step <NUM> of <FIG>, the second CPE may generate and provide an IGMP join request to the AGF, and the AGF may receive the IGMP join request. The IGMP join request may include a request to receive the multicast data (e.g., the multicast data for Group X) from the data network. Based on receiving the IGMP join request, the AGF may replicate the multicast data previously received from the data network to generate a copy of the multicast data. As shown at step <NUM>, the AGF may provide the copy of multicast data (e.g., for Group X) to the second CPE.

In some implementations, the AGF may receive IGMP join requests from the subscriber devices, and may generate respective PIM join requests that are provided to the data network. In some implementations, the multicast data may be directly received by the AGF, from the data network, and not via the UPF. The AGF, based on a table identifying the received IGMP join requests, may replicate the multicast data and may provide the replicated multicast data to the subscriber devices. The AGF may cache the IGMP join requests, may provide a single PIM join request to the data network, and may replicate the multicast data for subscriber devices that requested the multicast data. Implementations described herein provide an efficient way of utilizing network bandwidth between the AGF and the UPF, and reduce a load on the UPF. Multicast data replication may be performed close to an access network, which may be the most efficient. In some implementations, the multicast local breakout may be enabled for the AGF only when the UPF is not reachable.

In this way, the network device provides local breakout for CPE in a <NUM> wireless wireline convergence. For example, a network device (e.g., an AGF) may enable a local breakout for a subscriber, and may create two paths for the subscriber based on enabling the local breakout. A primary path may provide information to reach a UPF via a first network interface (e.g., an AGF mode) and a secondary path may provide information to reach a second network interface (e.g., a BNG mode). The primary path and the secondary path may be created as a double barrel network handover to a data network for the subscriber, with the primary path being a network handover to the UPF and the secondary path being a network handover directly to the data network when the UPF is unavailable. The network device may enable a multicast local breakout for subscribers, and may receive requests for multicast data from the subscribers. The network device may store the requests for the multicast data, and may provide a single request for the multicast data to the data network. The network device may receive the multicast data based on the single request, and may replicate the multicast data to the subscribers. Thus, the network device conserves computing resources, networking resources, and/or the like that would otherwise have been consumed by blocking traffic between subscribers and a network due to an unreachable and/or inoperable UPF, losing subscriber traffic due to an unreachable and/or inoperable UPF, handling lost subscriber traffic caused by an unreachable and/or inoperable UPF, and/or the like.

<FIG> is a diagram of an example environment <NUM> in which systems and/or methods described herein may be implemented. As shown in <FIG>, example environment <NUM> may include a CPE <NUM>, a core network <NUM>, and a data network <NUM>. Devices and/or networks of the example environment <NUM> may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.

The CPE <NUM> may include one or more devices capable of receiving, processing, storing, routing, and/or providing traffic (e.g., a packet and/or other information or metadata) in a manner described herein. For example, the CPE <NUM> may include a router, such as a label switching router (LSR), a label edge router (LER), an ingress router, an egress router, a provider router (e.g., a provider edge router or a provider core router), a virtual router, or another type of router. Additionally, or alternatively, the CPE <NUM> may include a gateway, a switch, a firewall, a hub, a bridge, a reverse proxy, a server (e.g., a proxy server, a cloud server, or a data center server), a load balancer, and/or a similar device. In some implementations, the CPE <NUM> may be a physical device implemented within a housing, such as a chassis. In some implementations, the CPE <NUM> may be a virtual device implemented by one or more computing devices of a cloud computing environment or a data center. In some implementations, a group of CPEs <NUM> may be a group of data center nodes that are used to route traffic flow through a network.

In some implementations, the core network <NUM> may include an example functional architecture in which systems and/or methods described herein may be implemented. For example, the core network <NUM> may include an example architecture of a fifth generation (<NUM>) next generation (NG) core network included in a <NUM> wireless telecommunications system. While the example architecture of the core network <NUM> shown in <FIG> may be an example of a service-based architecture, in some implementations, the core network <NUM> may be implemented as a reference-point architecture and/or a <NUM> core network, among other examples.

As shown in <FIG>, the core network <NUM> may include a number of functional elements. The functional elements may include, for example, a network slice selection function (NSSF) <NUM>, a network exposure function (NEF) <NUM>, an authentication server function (AUSF) <NUM>, a unified data management (UDM) component <NUM>, a policy control function (PCF) <NUM>, an application function (AF) <NUM>, an AMF <NUM>, an SMF <NUM>, a UPF <NUM>, and/or an AGF <NUM>. These functional elements may be communicatively connected via a message bus <NUM>. Each of the functional elements shown in <FIG> is implemented on one or more devices associated with a wireless telecommunications system. In some implementations, one or more of the functional elements may be implemented on physical devices, such as an access point, a base station, and/or a gateway. In some implementations, one or more of the functional elements may be implemented on a computing device of a cloud computing environment.

The NSSF <NUM> includes one or more devices that select network slice instances for the CPE <NUM>. By providing network slicing, the NSSF <NUM> allows an operator to deploy multiple substantially independent end-to-end networks potentially with the same infrastructure. In some implementations, each slice may be customized for different services.

The NEF <NUM> includes one or more devices that support exposure of capabilities and/or events in the wireless telecommunications system to help other entities in the wireless telecommunications system discover network services.

The AUSF <NUM> includes one or more devices that act as an authentication server and support the process of authenticating the CPE <NUM> in the wireless telecommunications system.

The UDM <NUM> includes one or more devices that store user data and profiles in the wireless telecommunications system. The UDM <NUM> may be used for fixed access and/or mobile access in the core network <NUM>.

The PCF <NUM> includes one or more devices that provide a policy framework that incorporates network slicing, roaming, packet processing, and/or mobility management, among other examples.

The AF <NUM> includes one or more devices that support application influence on traffic routing, access to the NEF <NUM>, and/or policy control, among other examples.

The AMF <NUM> includes one or more devices that act as a termination point for non-access stratum (NAS) signaling and/or mobility management, among other examples.

The SMF <NUM> includes one or more devices that support the establishment, modification, and release of communication sessions in the wireless telecommunications system. For example, the SMF <NUM> may configure traffic steering policies at the UPF <NUM> and/or may enforce user equipment Internet protocol (IP) address allocation and policies, among other examples.

The UPF <NUM> includes one or more devices that serve as an anchor point for intra-RAT and/or inter-RAT mobility. The UPF <NUM> may apply rules to packets, such as rules pertaining to packet routing, traffic reporting, and/or handling user plane QoS, among other examples.

The AGF <NUM> includes one or more devices that provide provides authentication, authorization, and accounting (AAA) services and hierarchical traffic shaping and policing for fixed network and <NUM> residential gateways (e.g., the CPE <NUM>) being served from the UPF <NUM>.

The message bus <NUM> represents a communication structure for communication among the functional elements. In other words, the message bus <NUM> may permit communication between two or more functional elements.

The data network <NUM> includes one or more wired and/or wireless data networks. For example, the data network <NUM> may include an IP Multimedia Subsystem (IMS), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a private network such as a corporate intranet, an ad hoc network, the Internet, a fiber optic-based network, a cloud computing network, a third party services network, an operator services network, and/or a combination of these or other types of networks.

Additionally, or alternatively, a set of devices (e.g., one or more devices) of the example environment <NUM> may perform one or more functions described as being performed by another set of devices of the example environment <NUM>.

<FIG> is a diagram of example components of one or more devices of <FIG>. The example components may be included in a device <NUM>, which may correspond to the CPE <NUM>, the NSSF <NUM>, the NEF <NUM>, the AUSF <NUM>, the UDM component <NUM>, the PCF <NUM>, the AF <NUM>, the AMF <NUM>, the SMF <NUM>, the UPF <NUM>, and/or the AGF <NUM>. In some implementations, the CPE <NUM>, the NSSF <NUM>, the NEF <NUM>, the AUSF <NUM>, the UDM component <NUM>, the PCF <NUM>, the AF <NUM>, the AMF <NUM>, the SMF <NUM>, the UPF <NUM>, and/or the AGF <NUM> may include one or more devices <NUM> and/or one or more components of the device <NUM>. As shown in <FIG>, the device <NUM> may include a bus <NUM>, a processor <NUM>, a memory <NUM>, an input component <NUM>, an output component <NUM>, and a communication interface <NUM>.

The bus <NUM> includes one or more components that enable wired and/or wireless communication among the components of the device <NUM>. The bus <NUM> may couple together two or more components of <FIG>, such as via operative coupling, communicative coupling, electronic coupling, and/or electric coupling. The processor <NUM> includes a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a controller, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and/or another type of processing component. The processor <NUM> is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, the processor <NUM> includes one or more processors capable of being programmed to perform one or more operations or processes described elsewhere herein.

The memory <NUM> includes volatile and/or nonvolatile memory. For example, the memory <NUM> may include random access memory (RAM), read only memory (ROM), a hard disk drive, and/or another type of memory (e.g., a flash memory, a magnetic memory, and/or an optical memory). The memory <NUM> may include internal memory (e.g., RAM, ROM, or a hard disk drive) and/or removable memory (e.g., removable via a universal serial bus connection). The memory <NUM> may be a non-transitory computer-readable medium. The memory <NUM> stores information, instructions, and/or software (e.g., one or more software applications) related to the operation of the device <NUM>. In some implementations, the memory <NUM> includes one or more memories that are coupled to one or more processors (e.g., the processor <NUM>), such as via the bus <NUM>.

The input component <NUM> enables the device <NUM> to receive input, such as user input and/or sensed input. For example, the input component <NUM> may include a touch screen, a keyboard, a keypad, a mouse, a button, a microphone, a switch, a sensor, a global positioning system sensor, an accelerometer, a gyroscope, and/or an actuator. The output component <NUM> enables the device <NUM> to provide output, such as via a display, a speaker, and/or a light-emitting diode. The communication interface <NUM> enables the device <NUM> to communicate with other devices via a wired connection and/or a wireless connection. For example, the communication interface <NUM> may include a receiver, a transmitter, a transceiver, a modem, a network interface card, and/or an antenna.

The device <NUM> may perform one or more operations or processes described herein. For example, a non-transitory computer-readable medium (e.g., the memory <NUM>) may store a set of instructions (e.g., one or more instructions or code) for execution by the processor <NUM>. The processor <NUM> may execute the set of instructions to perform one or more operations or processes described herein. In some implementations, execution of the set of instructions, by one or more processors <NUM>, causes the one or more processors <NUM> and/or the device <NUM> to perform one or more operations or processes described herein. In some implementations, hardwired circuitry may be used instead of or in combination with the instructions to perform one or more operations or processes described herein. Additionally, or alternatively, the processor <NUM> may be configured to perform one or more operations or processes described herein.

The device <NUM> may include additional components, fewer components, different components, or differently arranged components than those shown in <FIG>. Additionally, or alternatively, a set of components (e.g., one or more components) of the device <NUM> may perform one or more functions described as being performed by another set of components of the device <NUM>.

<FIG> is a diagram of example components of one or more devices of <FIG>. The example components may be included in a device <NUM>. The device <NUM> may correspond to the CPE <NUM>, the NSSF <NUM>, the NEF <NUM>, the AUSF <NUM>, the UDM component <NUM>, the PCF <NUM>, the AF <NUM>, the AMF <NUM>, the SMF <NUM>, the UPF <NUM>, and/or the AGF <NUM>. In some implementations, the CPE <NUM>, the NSSF <NUM>, the NEF <NUM>, the AUSF <NUM>, the UDM component <NUM>, the PCF <NUM>, the AF <NUM>, the AMF <NUM>, the SMF <NUM>, the UPF <NUM>, and/or the AGF <NUM> may include one or more devices <NUM> and/or one or more components of the device <NUM>. As shown in <FIG>, the device <NUM> may include one or more input components <NUM>-<NUM> through <NUM>-B (B ≥ <NUM>) (hereinafter referred to collectively as input components <NUM>, and individually as input component <NUM>), a switching component <NUM>, one or more output components <NUM>-<NUM> through <NUM>-C (C ≥ <NUM>) (hereinafter referred to collectively as output components <NUM>, and individually as output component <NUM>), and a controller <NUM>.

The input component <NUM> may be one or more points of attachment for physical links and may be one or more points of entry for incoming traffic, such as packets. The input component <NUM> may process incoming traffic, such as by performing data link layer encapsulation or decapsulation. In some implementations, the input component <NUM> may transmit and/or receive packets. In some implementations, the input component <NUM> may include an input line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more interface cards (IFCs), packet forwarding components, line card controller components, input ports, processors, memories, and/or input queues. In some implementations, the device <NUM> may include one or more input components <NUM>.

The switching component <NUM> may interconnect the input components <NUM> with the output components <NUM>. In some implementations, the switching component <NUM> may be implemented via one or more crossbars, via busses, and/or with shared memories. The shared memories may act as temporary buffers to store packets from the input components <NUM> before the packets are eventually scheduled for delivery to the output components <NUM>. In some implementations, the switching component <NUM> may enable the input components <NUM>, the output components <NUM>, and/or the controller <NUM> to communicate with one another.

The output component <NUM> may store packets and may schedule packets for transmission on output physical links. The output component <NUM> may support data link layer encapsulation or decapsulation, and/or a variety of higher-level protocols. In some implementations, the output component <NUM> may transmit packets and/or receive packets. In some implementations, the output component <NUM> may include an output line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more IFCs, packet forwarding components, line card controller components, output ports, processors, memories, and/or output queues. In some implementations, the device <NUM> may include one or more output components <NUM>. In some implementations, the input component <NUM> and the output component <NUM> may be implemented by the same set of components (e.g., and input/output component may be a combination of the input component <NUM> and the output component <NUM>).

The controller <NUM> includes a processor in the form of, for example, a CPU, a GPU, an APU, a microprocessor, a microcontroller, a DSP, an FPGA, an ASIC, and/or another type of processor. In some implementations, the controller <NUM> may include one or more processors that can be programmed to perform a function.

In some implementations, the controller <NUM> may include a RAM, a ROM, and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, an optical memory, etc.) that stores information and/or instructions for use by the controller <NUM>.

In some implementations, the controller <NUM> may communicate with other devices, networks, and/or systems connected to the device <NUM> to exchange information regarding network topology. The controller <NUM> may create routing tables based on the network topology information, may create forwarding tables based on the routing tables, and may forward the forwarding tables to the input components <NUM> and/or output components <NUM>. The input components <NUM> and/or the output components <NUM> may use the forwarding tables to perform route lookups for incoming and/or outgoing packets.

The controller <NUM> may perform one or more processes described herein. The controller <NUM> may perform these processes in response to executing software instructions stored by a non-transitory computer-readable medium. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.

Software instructions may be read into a memory and/or storage component associated with the controller <NUM> from another computer-readable medium or from another device via a communication interface. When executed, software instructions stored in a memory and/or storage component associated with the controller <NUM> may cause the controller <NUM> to perform one or more processes described herein.

In practice, the device <NUM> may include additional components, fewer components, different components, or differently arranged components than those shown in <FIG>. Additionally, or alternatively, a set of components (e.g., one or more components) of the device <NUM> may perform one or more functions described as being performed by another set of components of the device <NUM>.

<FIG> is a flowchart of an example process <NUM> for providing multicast local breakout for CPE in a <NUM> wireless wireline convergence at an AGF. In some implementations, one or more process blocks of <FIG> may be performed by a network device (e.g., the AGF <NUM>). In some implementations, one or more process blocks of <FIG> may be performed by another device or a group of devices separate from or including the network device, such as a UPF (e.g., the UPF <NUM>). Additionally, or alternatively, one or more process blocks of <FIG> may be performed by one or more components of the device <NUM>, such as the processor <NUM>, the memory <NUM>, the input component <NUM>, the output component <NUM>, and/or the communication interface <NUM>. Additionally, or alternatively, one or more process blocks of <FIG> may be performed by one or more components of the device <NUM>, such as the input component <NUM>, the switching component <NUM>, the output component <NUM>, and/or the controller <NUM>.

As shown in <FIG>, process <NUM> may include enabling multicast local breakout for a first subscriber device and a second subscriber device (block <NUM>). For example, the network device may enable multicast local breakout for a first subscriber device and a second subscriber device, as described above. In some implementations, the network device is an AGF.

As further shown in <FIG>, process <NUM> may include receiving, from the first subscriber device, a first request to receive multicast data from a data network (block <NUM>). For example, the network device may receive, from the first subscriber device, a first request to receive multicast data from a data network, as described above.

As further shown in <FIG>, process <NUM> may include receiving, from the second subscriber device, a second request to receive the multicast data from the data network (block <NUM>). For example, the network device may receive, from the second subscriber device, a second request to receive the multicast data from the data network, as described above.

As further shown in <FIG>, process <NUM> may include determining whether a connection with a UPF is available (block <NUM>). For example, the network device may determine whether a connection with a UPF is available, as described above. In some implementations, determining whether the connection with the UPF is available includes utilizing bidirectional forwarding detection with the UPF to determine whether the connection with the UPF is available. In some implementations, determining whether the connection with the UPF is available comprises utilizing GTP tunnel heartbeats with the UPF to determine whether the connection with the UPF is available. In some implementations, determining whether the connection with the UPF is available includes one of determining that the connection with the UPF is available based on an interface with the UPF being operable and the UPF being reachable, or determining that the connection with the UPF is unavailable based on the interface with the UPF being inoperable or the UPF being unreachable.

As further shown in <FIG>, process <NUM> may include receiving the multicast data directly from the data network based on determining that the connection with the UPF is unavailable and based on enabling the multicast local breakout (block <NUM>). For example, the network device may receive the multicast data directly from the data network based on determining that the connection with the UPF is unavailable and based on enabling the multicast local breakout, as described above. In some implementations, receiving the multicast data directly from the data network based on determining that the connection with the UPF is unavailable includes receiving the multicast data via a network interface with the data network.

As further shown in <FIG>, process <NUM> may include generating a copy of the multicast data based on determining that the connection with the UPF is unavailable (block <NUM>). For example, the network device may generate a copy of the multicast data based on determining that the connection with the UPF is unavailable, as described above.

As further shown in <FIG>, process <NUM> may include providing the multicast data to the first subscriber device and the copy of the multicast data to the second subscriber device (block <NUM>). For example, the network device may provide the multicast data to the first subscriber device and the copy of the multicast data to the second subscriber device, as described above.

In some implementations, process <NUM> includes providing, to the data network, a single join request for the multicast data based on determining that the connection with the UPF is unavailable, and receiving the multicast data directly from the data network includes receiving the multicast data directly from the data network based on the single join request.

In some implementations, process <NUM> includes creating, for the first subscriber device, a first path to the data network via the UPF; creating, for the second subscriber device, a second path to the data network via the UPF; receiving, from the first subscriber device, a third request to receive additional multicast data from the data network; receiving, from the second subscriber device, a fourth request to receive the additional multicast data from the data network; receiving the additional multicast data from the UPF, and via the first path, based on determining that the connection with the UPF is available; receiving a copy of the additional multicast data from the UPF, and via the second path, based on determining that the connection with the UPF is available, and providing the additional multicast data to the first subscriber device and the copy of the additional multicast data to the second subscriber device.

In some implementations, the UPF is configured to generate the copy of the additional multicast data based on the additional multicast data. In some implementations, creating the first path includes creating the first path between the network device and the UPF via a network interface. In some implementations, creating the second path includes creating the second path between the network device and the UPF via a network interface.

In some implementations, process <NUM> includes receiving, from a third subscriber device, a third request to receive the multicast data from the data network; generating another copy of the multicast data based on determining that the connection with the UPF is unavailable; and providing the other copy of the multicast data to the third subscriber device.

In some implementations, process <NUM> includes storing the first request and the second request, generating a single join request for the multicast data based on the first request and the second request and based on determining that the connection with the UPF is unavailable; and providing, to the data network, the single join request for the multicast data.

A computer readable medium may include non-transitory type media such as physical storage media including storage discs and solid state devices. A computer readable medium may also or alternatively include transient media such as carrier signals and transmission media. A computer-readable storage medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.

In the preceding specification, various example embodiments have been described with reference to the accompanying drawings.

Claim 1:
A method for providing multicast local breakout for subscriber device , CPE, in a <NUM> wireless wireline convergence, performed by an access gateway function of a fifth-generation network, AGF, the method comprising the steps of :
enabling (<NUM>) multicast local breakout for a first subscriber device , CPE-<NUM>, and a second subscriber device, CPE-<NUM>;
receiving (<NUM>), from the first subscriber device, CPE-<NUM>, a first request to receive multicast data from a data network;
receiving (<NUM>), from the second subscriber device, CPE-<NUM>, a second request to receive the multicast data from the data network;
determining (<NUM>) whether a connection with a user plane function, UPF, is available
receiving (<NUM>) the multicast data directly from the data network based on determining that the connection with the user plane function, UPF, is unavailable and based on enabling the multicast local breakout;
generating (<NUM>) a copy of the multicast data based on determining that the connection with the user plane function, UPF, is unavailable; and
providing (<NUM>) the multicast data to the first subscriber device, CPE-<NUM>, and the copy of the multicast data to the second subscriber device, CPE-<NUM>