An integrated broadband network gateway (BNG) device for providing a BNG control plane for one or more distributed BNG user plane devices
By integrating BNG devices to provide a BNG control plane, the problem of difficult distributed BNG configuration migration is solved, enabling a fast and seamless migration process, improving BNG performance and reducing resource waste.
Patent Information
- Application Number
- CN202210260272.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-01-26
- Filing Date
- 2022-03-16
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2042-03-16
AI Technical Summary
Existing technologies make it difficult to quickly and seamlessly migrate integrated BNG devices to distributed BNG configurations, resulting in long configuration times, potential packet loss, business black holes, device errors and failures, and low resource utilization efficiency.
An integrated BNG device is provided, which can provide a BNG control plane for distributed BNG user plane devices. By transmitting management information, control packets, and session control and status information, it can control distributed BNG user plane devices, support gradual migration and load balancing, and reduce resource waste.
It enables a fast and seamless migration process, reduces packet loss and device failure, improves BNG performance, and avoids inefficient use of resources.
Smart Images

Figure CN116546040B_ABST
Abstract
Description
BACKGROUND
[0001] A broadband network gateway (BNG) routes traffic to or receives traffic from broadband remote access devices, such as digital subscriber line access multiplexers (DSLAMs) on an Internet service provider (ISP) network. The BNG enables subscribers to connect to the broadband network and performs authentication, authorization, and accounting; allocates Internet Protocol (IP) addresses; and enforces quality of service (QoS) policies, among other things. SUMMARY
[0002] In some implementations, a non-transitory computer-readable medium storing a set of instructions, the set of instructions including one or more instructions that, when executed by one or more processors of an integrated broadband network gateway (BNG) device, cause the integrated BNG device to: communicate management information with a particular distributed BNG user plane device via a first interface between the integrated BNG device and the particular distributed BNG user plane device; communicate control packets with the particular distributed BNG user plane device via a second interface between the integrated BNG device and the particular distributed BNG user plane device; and communicate session control and state information with the particular distributed BNG user plane device via a third interface between the integrated BNG device and the particular distributed BNG user plane device.
[0003] Some implementations described herein relate to an integrated BNG device for providing a BNG control plane for one or more distributed BNG user plane devices, the integrated BNG device can include one or more memories and one or more processors. The integrated BNG device can be configured to communicate management information with a particular distributed BNG user plane device of the one or more distributed BNG user plane devices, where the management information is communicated via a first interface between the integrated BNG device and the particular distributed BNG user plane device. The integrated BNG device can be configured to communicate control packets with the particular distributed BNG user plane device, where the control packets are communicated via a second interface between the integrated BNG device and the particular distributed BNG user plane device. The integrated BNG device can be configured to communicate session control and state information with the particular distributed BNG user plane device, where the session control and state information is communicated via a third interface between the integrated BNG device and the particular distributed BNG user plane device.
[0004] Some implementations described herein relate to a method for providing a BNG control plane for a particular distributed BNG user plane device. The method can include communicating, by an integrated BNG device, management information with the particular distributed BNG user plane device. The method can include communicating, by the integrated BNG device, control packets with the particular distributed BNG user plane device. The method can include communicating, by the integrated BNG device, session control and state information with the particular distributed BNG user plane device. BRIEF DESCRIPTION OF DRAWINGS
[0005] Figures 1A-1D is a schematic diagram of an example implementation described herein.
[0006] Figure 2 is a schematic diagram of an example environment in which the systems and / or methods described herein can be implemented.
[0007] Figures 3-4 is Figure 2 a schematic diagram of example components of one or more devices.
[0008] Figure 5 is a flow diagram of an example process related to an integrated BNG device that can provide a BNG control plane for one or more distributed BNG user plane devices. DETAILED DESCRIPTION
[0009] The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings can identify the same or similar elements.
[0010] To accommodate the volume of subscribers, the volume and type of services provided by the BNG, and the growth in the amount of traffic handled by the BNG, a split BNG (also referred to as a distributed BNG) can be deployed by the service provider. The distributed BNG separates the control plane and user plane (also referred to as the "data plane") both physically and logically. For example, the software that performs the control plane functions can be distributed as virtualized BNG functions for execution by cloud servers. The devices that implement the user plane, which can include physical network devices or virtual user plane devices, remain in the forwarding path between the access network and the data network to process packet flows according to the subscriber forwarding state rules programmed by the control plane.
[0011] However, in many cases, service providers have deployed BNGs using many integrated BNG devices, where each integrated BNG device provides control plane functionality and user plane functionality. Because each integrated BNG device provides independent control plane and user plane functionality for the BNG, as a result, it is not easy to configure the BNG as a distributed BNG. For example, introducing a cloud server to uniformly provide control plane functionality can result in the BNG taking a significant amount of time (e.g., hours or days) to configure the separation of control plane and user plane.
[0012] Some implementations described herein provide an integrated BNG device that can provide a BNG control plane for one or more distributed BNG user plane devices. That is, the integrated BNG device provides a control plane for one or more user planes provided by the integrated BNG device, and the integrated BNG device also provides a control plane for one or more distributed BNG user plane devices (e.g., where each distributed BNG user plane device provides one or more user planes). Moreover, the integrated BNG device provides a control plane for the one or more distributed BNG user plane devices via respective interfaces between the integrated BNG device and each of the one or more distributed BNG user plane devices, communicating management information, control packets, and session control and state information.
[0013] In this way, a single integrated BNG device can be configured to provide a BNG control plane for one or more distributed BNG user plane devices, and can be incrementally added over time, while also providing a control plane for one or more user planes of the integrated BNG device. This allows for incremental migration to a distributed BNG configuration, and thus prevents packet loss, traffic black holes, device errors and / or failures, and / or processing downtime that would otherwise be associated with introducing a cloud server at a particular time to uniformly provide control plane functionality. Moreover, in some implementations, multiple integrated BNG devices can communicate with each other to enable load balancing of distributed BNG user plane devices between the integrated BNG devices (e.g., to prevent overloading of a particular integrated BNG device that is a BNG control plane for a set of distributed BNG user plane devices). This can minimize inefficient use of respective computing resources (e.g., processing resources, memory resources, communication resources, and / or power resources, etc.) of the integrated BNG devices. This improves performance of the BNG that would otherwise not be possible using a single cloud implementation.
[0014] Figures 1A-1D is one or more example implementations 100 described herein related to a distributed BNG environment. The example implementation(s) 100 can include one or more integrated BNG devices (e.g., an integrated BNG device 102) that provide a control plane for one or more distributed BNG user plane devices (e.g., a distributed BNG user plane device 104). In some implementations, the one or more integrated BNG devices can also provide a control plane for one or more user planes of the one or more integrated BNG devices. Figures 1A-1Dthe integrated BNG device 1 and the integrated BNG device 2), one or more distributed BNG user plane devices (e.g., the distributed BNG user plane devices 1-N, N≥1, as shown in Figures 1A-1D the integrated BNG device 1 and the integrated BNG device 2), one or more distributed BNG user plane devices (e.g., the distributed BNG user plane devices 1-N, N≥1, as shown in Figures 1A-1D the integrated BNG device 1 and the integrated BNG device 2), one or more distributed BNG user plane devices (e.g., the distributed BNG user plane devices 1-N, N≥1, as shown in Figures 2-4 the integrated BNG device 1 and the integrated BNG device 2), one or more distributed BNG user plane devices (e.g., the distributed BNG user plane devices 1-N, N≥1, as shown in
[0015] In some implementations, an integrated BNG device (e.g., one of the integrated BNG device 1 and the integrated BNG device 2) can provide a BNG control plane and one or more BNG user planes (e.g., the BNG control plane and the one or more user planes are“integrated” in the integrated BNG device). Thus, the integrated BNG device provides the BNG control plane for the one or more BNG user planes of the integrated BNG device. In this way, the integrated BNG device can perform control plane functions and user plane functions for a set of user devices (e.g., one or more user devices, such as the user devices M, as shown in Figure 1B
[0016] In some implementations, an integrated BNG device can provide a BNG control plane for one or more distributed BNG user plane devices (e.g., which are separate from the integrated BNG device, and thus are referred to as“distributed”). Thus, the integrated BNG device can be configured to perform one or more BNG control plane functions for each of the one or more distributed BNG user plane devices. Each of the one or more distributed BNG user plane devices can be configured to perform one or more BNG user plane functions for another set of user devices (e.g., one or more other user devices). In this way, the integrated BNG device can provide a control plane for the one or more BNG user planes of the integrated BNG device and for the one or more distributed BNG user plane devices.
[0017] As shown in Figure 1A the integrated BNG device 1 and the integrated BNG device 2), one or more distributed BNG user plane devices (e.g., the distributed BNG user plane devices 1-N, N≥1, as shown in Figure 1A As shown, the integrated BNG device 1 can be connected to the distributed BNG user plane device 1 via one or more interfaces (e.g., interface A-1, interface B-1, interface C-1) between the integrated BNG device 1 and the distributed BNG user plane device 1, and the integrated BNG device 1 can be connected to the distributed BNG user plane device N via one or more interfaces (e.g., interface A-N, interface B-N, interface C-N) between the integrated BNG device 1 and the distributed BNG user plane device N.
[0018] In some implementations, to provide a BNG control plane for a particular distributed BNG user plane device (e.g., of the distributed BNG user plane devices 1-N), the integrated BNG device 1 can communicate information with the particular distributed BNG user plane device via one or more interfaces between the integrated BNG device and the particular distributed BNG user plane device. For example, the integrated BNG device 1 can communicate management information, control packets, and / or session control and status information with the particular distributed BNG user plane device via one or more interfaces between the integrated BNG device 1 and the particular distributed BNG user plane device. The management information can include, for example, configuration information (e.g., including routing protocol configuration, quality of service (QoS) policy templates, notifications, alarms, or other configuration information) for configuring the particular distributed BNG user plane device and / or operational and resource information (e.g., including operational data, resource data, and / or other information related to the distributed BNG user plane device) associated with the particular distributed BNG user plane device. The control packets can include, for example, at least one request packet (e.g., including a Point-to-Point Protocol over Ethernet Active Discovery Offer (PPPoE-PADI) packet, a Dynamic Host Configuration Protocol discover (DHCP-discover) packet, or a similar packet related to establishing a communication session) and / or at least one response packet (e.g., including a Point-to-Point Protocol over Ethernet Active Discovery Offer (PPPoE-PADO) packet, a Dynamic Host Configuration Protocol offer (DHCP-offer) packet, or a similar packet related to establishing a communication session) related to establishing a communication session for a user device. The session control and status information can include, for example, information indicating a state to be implemented by the particular distributed BNG user plane device (e.g., where the state includes one or more traffic detection and forwarding rules, one or more filtering rules, one or more service level agreement (SLA) rules, one or more statistical information collection rules, one or more credit control rules, one or more traffic mirroring rules, one or more application-aware policies, and / or one or more lawful intercept rules) and / or status information related to a state implemented by the particular distributed BNG user plane device (e.g., indicating whether respective rules of the state are currently implemented by the particular distributed BNG user plane device).
[0019] As shown by reference number 102, when a particular distributed BNG user plane device is distributed BNG user plane device 1, integrated BNG device 1 can communicate management information with distributed BNG user plane device 1 via an A-1 interface between integrated BNG device 1 and distributed BNG user plane device 1. For example, integrated BNG device 1 can send configuration information to distributed BNG user plane device 1 via the A-1 interface for configuring distributed BNG user plane device 1, and / or distributed BNG user plane device 1 can send operational and resource information associated with distributed BNG user plane device 1 to integrated BNG device 1 via the A-1 interface. Accordingly, the A-1 interface can be referred to as a distributed BNG management interface (Mi).
[0020] As shown by reference number 104, integrated BNG device 1 can communicate control packets with distributed BNG user plane device 1 via a B-1 interface between integrated BNG device 1 and distributed BNG user plane device 1. For example, distributed BNG user plane device 1 can send at least one request packet associated with establishing a communication session for a user device to integrated BNG device 1 via the B-1 interface; and / or integrated BNG device 1 can send at least one response packet associated with establishing a communication session for a user device to distributed BNG user plane device 1 via the B-1 interface (e.g., as described further herein with respect to FIG. 2). Figure 1B Accordingly, the B-1 interface can be referred to as a distributed BNG control packet redirection interface (CPRi).
[0021] As shown by reference number 106, integrated BNG device 1 can communicate session control and state information with distributed BNG user plane device 1 via a C-1 interface between integrated BNG device 1 and distributed BNG user plane device 1. For example, integrated BNG device 1 can send information indicative of a forwarding state to be implemented by distributed BNG user plane device 1 to distributed BNG user plane device 1 via the C-1 interface; and / or distributed BNG user plane device 1 can send state information related to a state implemented by distributed BNG user plane device 1 to integrated BNG device 1 via the C-1 interface. Accordingly, the C-1 interface can be referred to as a distributed BNG state control interface (SCi).
[0022] In some implementations, a user device can initiate a procedure to establish a communication session for the user device (e.g., to access a data network associated with a distributed BNG environment). As shown by reference number 200, the user device can send a request to a distributed BNG user plane device (e.g., via a network access device) to establish a communication session for the user device. For example, the user device can send a request to a network access device to establish a communication session for the user device. The network access device can send the request to the distributed BNG user plane device. The distributed BNG user plane device can send a request to an integrated BNG device to establish a communication session for the user device. For example, the distributed BNG user plane device can send a request to the integrated BNG device to establish a communication session for the user device. The integrated BNG device can send a request to a distributed BNG user plane device to establish a communication session for the user device. For example, the integrated BNG device can send a request to a distributed BNG user plane device to establish a communication session for the user device. The distributed BNG user plane device can send a request to a network access device to establish a communication session for the user device. For example, the distributed BNG user plane device can send a request to a network access device to establish a communication session for the user device. The network access device can send a request to a user device to establish a communication session for the user device. For example, the network access device can send a request to a user device to establish a communication session for the user device. Figure 1BAs shown by reference number 108, user device 1 can send a request to establish a communication session to distributed BNG user plane device 1. Accordingly, as shown by reference number 110, distributed BNG user plane device 1 can send (e.g., via B-1 interface) at least one request packet related to establishing a communication session for user device 1 to integrated BNG device 1 (e.g., in a manner as described herein with respect to Figure 1A and reference number 104).
[0023] As shown by reference number 112, integrated BNG device 1 can determine respective statuses of one or more resources of integrated BNG device 1 (e.g., based on the received at least one request packet). For example, integrated BNG device 1 can determine respective utilizations of one or more resources (e.g., processing resources, memory resources, network resources, or other resources) of integrated BNG device 1. Accordingly, integrated BNG device 1 can determine whether integrated BNG device 1 will support a communication session for user device 1 (e.g., whether integrated BNG device 1 will provide a control plane for distributed BNG user plane device 1 to support a communication session) based on the respective statuses of one or more resources of integrated BNG device 1. For example, integrated BNG device 1 can determine that integrated BNG device 1 will support a communication session based on determining that a resource utilization of integrated BNG device 1 satisfies (e.g., is less than or equal to) a utilization threshold (e.g., is less than or equal to 50%, 75%, 85%, or 95%, etc.). Alternatively, integrated BNG device 1 can determine that integrated BNG device 1 will not support a communication session based on determining that a resource utilization of integrated BNG device 1 does not satisfy the utilization threshold.
[0024] Additionally, or alternatively, integrated BNG device 1 can communicate with an authentication device (e.g., included in a service provider network associated with integrated BNG device 1) to determine whether user device 1 is an authenticated user device (e.g., whether user device 1 is a subscriber of the service provider). For example, integrated BNG device 1 can provide information identifying user device 1 (e.g., included in the at least one request packet) to the authentication device, which can provide an indication of whether user device 1 is an authenticated user device. Accordingly, integrated BNG device 1 can determine that integrated BNG device 1 will support a communication session for user device 1 based on the indication that user device 1 is an authenticated user device. Alternatively, integrated BNG device 1 can determine that integrated BNG device 1 will not support a communication session for user device 1 based on the indication that user device 1 is not an authenticated user device.
[0025] As shown by reference number 114, the integrated BNG device 1 can send (e.g., via interface B-1) at least one response packet to the distributed BNG user plane device 1 related to establishing the communication session for the user device 1 (e.g., in a manner as described herein with respect to Figure 1A and reference number 104). The at least one response packet can indicate that the integrated BNG device 1 will support the communication session for the user device 1 (e.g., based on the integrated BNG device 1 determining that the integrated BNG device 1 will support the communication session for the user device 1). Thus, the integrated BNG device 1 and the distributed BNG user plane device 1 can communicate management information, control packets, and / or session control and state information (e.g., as described herein with respect to Figure 1A ) to establish and / or support the communication session for the user device 1 (and cause the integrated BNG device 1 to provide a control plane for the distributed BNG user plane device 1 to support the communication session). Alternatively, the at least one response packet can indicate that the integrated BNG device 1 will not support the communication session for the user device 1 (e.g., based on the integrated BNG device 1 determining that the integrated BNG device 1 will not support the communication session for the user device 1). Thus, the integrated BNG device 1 and the distributed BNG user plane device 1 can cease mutual communication related to the communication session for the user device 1.
[0026] In some implementations, the distributed BNG user plane device 1 (e.g., based on receiving the at least one response packet from the integrated BNG device 1 indicating that the integrated BNG device 1 will not support the communication session for the user device 1) can communicate with another integrated BNG device (e.g., the integrated BNG device 2) to establish and / or support the communication session for the user device 1 (e.g., and cause the other integrated BNG device to provide a control plane for the distributed BNG user plane device 1 to support the communication session, as described herein with respect to Figure 1D ).
[0027] Additionally, or alternatively, as Figure 1C shown by reference number 116, the integrated BNG device 1 can identify another integrated BNG device (e.g., associated with the distributed BNG environment), such as the integrated BNG device 2. The integrated BNG device 1 can be connected to the integrated BNG device 2 via an interface between the integrated BNG device 1 and the integrated BNG device 2 (e.g., as described herein with respect to Figure 1CAs shown in FIG. 1, the interface between the integrated BNG device 1 and the distributed BNG user plane device 1 (e.g., interface A-1, interface B-1, interface C-1) can be separate and / or different from the interface between the integrated BNG device 1 and the integrated BNG device 2 (e.g., interface D). Thus, as shown by reference number 118, the distributed BNG user plane device 1 can send allocation information to the integrated BNG device 2 (e.g., via the D interface and based on the integrated BNG device 1 determining that the integrated BNG device 1 will not support the communication session for the user device 1). For example, the allocation information can indicate that the integrated BNG device 2 will support the communication session for the user device 1. Additionally, or alternatively, as shown by reference number 120, the integrated BNG device 1 can send at least some of the allocation information to the distributed BNG user plane device 1. For example, the integrated BNG device 1 can send information identifying the integrated BNG device 2 (e.g., for the distributed BNG user plane device 1 to communicate with the integrated BNG device 2 to establish and / or support the communication session for the user device 1, as described elsewhere herein) (e.g., via the C-1 interface).
[0028] In some implementations, the integrated BNG device 1 can determine respective statuses of one or more resources of the BNG device 1 (e.g., in a manner as described herein with respect to Figure 1B and reference number 112), and thereby can identify another integrated BNG device (e.g., in a manner as described herein with respect to Figure 1C and reference number 116) to provide another BNG control plane for a portion of the one or more distributed BNG user plane devices (e.g., for which the integrated BNG device provides a control plane). For example, the integrated BNG device 1 can determine respective utilizations of one or more resources (e.g., processing resources, memory resources, network resources, or other resources) of the integrated BNG device 1, and based on the resource utilizations of the integrated BNG device 1 satisfying (e.g., being greater than or equal to) a utilization threshold (e.g., less than or equal to 50%, 75%, 85%, or 95%, etc. examples), determine that the integrated BNG device 1 is overloaded. Thus, the integrated BNG device 1 can identify the integrated BNG device 2 to provide another BNG control plane for a portion of the one or more distributed BNG user plane devices supported by the integrated BNG device 1 (e.g., a portion of the distributed BNG user plane devices 1-N, such as including the distributed BNG user plane device 1). Thus, the integrated BNG device 1 can send allocation information to the integrated BNG device 2 (e.g., via the D interface), the allocation information indicating the portion of the one or more distributed BNG user plane devices (e.g., in a manner as described herein with respect to Figure 1Cand / or the integrated BNG device 1 can send at least some of the allocation information to each of the one or more distributed BNG user plane devices in the portion of the one or more distributed BNG user plane devices (e.g., as described herein with respect to Figure 1C and like reference number 120).
[0029] Thus, as Figure 1D indicated, the integrated BNG device 2 can communicate with each of the one or more distributed BNG user plane devices in the portion of the one or more distributed BNG user plane devices via respective interfaces between the integrated BNG device 2 and the distributed BNG user plane devices (e.g., provide a BNG control plane for the portion of the one or more distributed BNG user plane devices). As indicated by reference number 122, the integrated BNG device 2 can communicate management information with the distributed BNG user plane device 1 via an A'-1 interface between the integrated BNG device 2 and the distributed BNG user plane device 1 (e.g., in a manner as described herein with respect to Figure 1A and like reference number 102). As indicated by reference number 124, the integrated BNG device 2 can communicate control packets with the distributed BNG user plane device 1 via a B'-1 interface between the integrated BNG device 2 and the distributed BNG user plane device 1 (e.g., in a manner as described herein with respect to Figure 1A and like reference number 104). And / or, as indicated by reference number 126, the integrated BNG device 2 can communicate session control and status information with the distributed BNG user plane device 1 via a C'-1 interface between the integrated BNG device 2 and the distributed BNG user plane device 1 (e.g., in a manner as described herein with respect to Figure 1A and like reference number 106) to cause the integrated BNG device to provide a BNG control plane for the distributed BNG user plane device 1.
[0030] Figure 2 is a schematic diagram of an example environment 200 in which systems and / or methods described herein can be implemented. As Figure 2 indicated, the example environment 200 can include a plurality of user devices 205, an access network (AN) 210, a plurality of distributed BNG user plane devices 215, a data network 220, a plurality of integrated BNG devices 225, and a service provider network 230. Devices and / or networks in the example environment 200 can be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0031] User devices 205 include one or more devices capable of receiving, generating, storing, processing, and / or providing information, such as information described herein. For example, user devices 205 can include a mobile phone (e.g., a smart phone, a wireless phone), a laptop computer, a tablet computer, a desktop computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart watch or smart glasses), a mobile hotspot device, a fixed wireless access device, a customer premises equipment, or a similar type of device. In some implementations, user devices 205 can provide and / or receive network traffic to and / or from distributed BNG user plane devices 215 via AN 210.
[0032] AN 210 includes one or more wired and / or wireless networks. For example, AN 210 can include a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a
[0033] The distributed BNG user plane devices 215 include one or more devices capable of receiving, processing, storing, routing, and / or providing traffic (e.g., data packets and / or other information or metadata) in the manner described herein. For example, the distributed BNG user plane devices 215 can include a router, such as a label-switched 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 distributed BNG user plane devices 215 can 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 distributed BNG user plane devices 215 can be physical devices operating within an enclosure, such as a chassis. In some implementations, the distributed BNG user plane devices 215 can be virtual devices operated by one or more computing devices of a cloud computing environment or a data center. In some implementations, a set of distributed BNG user plane devices 215 can be a set of data center nodes used to route traffic through a network. The distributed BNG user plane devices 215 can communicate traffic between the user devices 205 and / or the data network 220. The distributed BNG user plane devices 215 can perform user plane functionality for a distributed BNG environment. In some implementations, the distributed BNG user plane devices 215 can communicate with the integrated BNG devices 225 via a plurality of interfaces, as described herein.
[0034] The data network 220 includes one or more wired and / or wireless data networks. For example, the data network 220 can 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 network, a cloud computing network, a third-party service network, an operator service network, and / or a combination of networks of the above or other types.
[0035] The integrated BNG device 225 includes one or more devices capable of receiving, generating, storing, processing, providing, and / or routing information, as described elsewhere herein. The integrated BNG device 225 can include a communication device and / or a computing device. For example, the integrated BNG device 225 can include a server, such as an application server, a client server, a host server, a proxy server, a virtual server (e.g., executing on computing hardware), or a server in a cloud computing system. In some implementations, the integrated BNG device 225 includes computing hardware used in a cloud computing environment. The integrated BNG device 225 can perform control plane functionality for a distributed BNG environment. The control plane functionality includes a number of control plane functions, such as subscriber session termination, performing a signaling protocol such as Ethernet Point-to-Point Protocol (PPPoE) or Ethernet IP (IPoE), IP address allocation and management, authentication / authorization / accounting (AAA), policy enforcement, gateway operation, lawful interception, local management, keep-alive message processing, and configuring the distributed BNG user plane devices 215, among others. In some implementations, the integrated BNG device 225 can communicate with the distributed BNG user plane devices 215 via a number of interfaces, as described herein.
[0036] The service provider network 230 includes one or more wired and / or wireless networks (e.g., a network associated with a service provider, such as an Internet service provider (ISP)). For example, the service provider network can include a wireless wide-area network (e.g., a cellular network or public land mobile network), a local-area network (e.g., a wired local-area network or a wireless local-area network (WLAN), such as a Wi-Fi network), a personal-area network (e.g., a Bluetooth network), a near-field communication network, a telephone network, a private network, the Internet, and / or a combination of networks of the above or other types.
[0037] Figure 2 The number and arrangement of devices and networks shown in FIG. 1 are provided as an example. In practice, there can be additional devices and / or networks, fewer devices and / or networks, different Figure 2 The example shown in FIG. 1 can include more, fewer, or a different set of devices and / or networks than those shown. Further, the devices and / or networks shown in FIG. 1 can be implemented in any combination of one or more devices and / or networks. Figure 2 Two or more devices shown in FIG. 1 can be implemented in a single device, or a single device shown in FIG. 1 can be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of example environment 100 can perform one or more functions described as being performed by another set of devices of example environment 100. Figure 2
[0038] Figure 3 This is a schematic diagram of example components of device 300, which may correspond to user equipment 205, distributed BNG user plane device 215, and / or integrated BNG device 225. In some implementations, user equipment 205, distributed BNG user plane device 215, and / or integrated BNG device 225 include one or more devices 300 and / or one or more components of device 300. Figure 3 As shown, device 300 may include bus 310, processor 320, memory 330, input component 340, output component 350 and communication component 360.
[0039] Bus 310 includes one or more components that enable wired and / or wireless communication between components of device 300. Bus 310 can... Figure 3 Two or more components are coupled together, for example, through operational coupling, communication coupling, electronic coupling, and / or electrical coupling. Processor 320 includes a central processing unit, graphics processing unit, microprocessor, controller, microcontroller, digital signal processor, field-programmable gate array, application-specific integrated circuit, and / or other types of processing components. Processor 320 is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 320 includes one or more processors that are programmed to perform one or more operations or processes as described elsewhere herein.
[0040] Memory 330 includes volatile and / or non-volatile memory. For example, memory 330 may include random access memory (RAM), read-only memory (ROM), hard disk drive, and / or other types of memory (e.g., flash memory, magnetic storage, and / or optical storage). Memory 330 may include internal memory (e.g., RAM, ROM, or hard disk drive) and / or removable memory (e.g., removable via a universal serial bus). Memory 330 may be a non-transient computer-readable medium. Memory 330 stores information, instructions, and / or software (e.g., one or more software applications) related to the operation of device 300. In some implementations, memory 330 includes one or more memories coupled to one or more processors (e.g., processor 320), for example via bus 310.
[0041] Input component 340 enables device 300 to receive input, such as user input and / or sensed input. For example, input component 340 may include a touchscreen, keyboard, keys, mouse, button, microphone, switch, sensor, GPS sensor, accelerometer, gyroscope, and / or actuator. Output component 350 enables device 300 to provide output, such as via a display, speaker, and / or light-emitting diode. Communication component 360 enables device 300 to communicate with other devices via wired and / or wireless connections. For example, communication component 360 may include a receiver, transmitter, transceiver, modem, network interface card, and / or antenna.
[0042] Device 300 may perform one or more operations or procedures described herein. For example, a non-transient computer-readable medium (e.g., memory 330) may store a set of instructions (e.g., one or more instructions or codes) for execution by processor 320. Processor 320 may execute the set of instructions to implement one or more operations or procedures described herein. In some implementations, execution of the set of instructions by one or more processors 320 may cause one or more processors 320 and / or device 300 to perform one or more operations or procedures described herein. In some implementations, hardwired circuitry may be used instead of or in combination with instructions to perform one or more operations or procedures described herein. Additionally, or alternatively, processor 320 may be configured to perform one or more operations or procedures described herein. Therefore, the various implementations described herein are not limited to any particular combination of hardware circuitry and software.
[0043] Figure 3 The number and arrangement of the components shown are provided as an example. Figure 3 Compared to the components shown, device 300 may include more components, fewer components, components of different types, or components arranged differently. Additionally, or alternatively, a set of components of device 300 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of device 300.
[0044] Figure 4 This is a schematic diagram of example components of device 400. Device 400 may correspond to user equipment 205, distributed BNG user plane device 215, and / or integrated BNG device 225. In some implementations, user equipment 205, distributed BNG user plane device 215, and / or integrated BNG device 225 may include one or more devices 400 and / or one or more components of device 400. Figure 4As shown, the device 400 can include one or more input components 410-1 through 410-B (B > 1) (hereinafter collectively referred to as input components 410, and individually as input component 410), a switching component 420, one or more output components 430-1 through 430-C (C > 1) (hereinafter collectively referred to as output components 430, and individually as output component 430), and a controller 440.
[0045] The input components 410 can be one or more points of attachment for physical links and / or one or more points of ingress for incoming traffic (such as data packets). The input components 410 can process incoming traffic, such as by performing data link layer encapsulation or decapsulation. In some implementations, the input components 410 can transmit and / or receive data packets. In some implementations, the input components 410 can include input line cards that include 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 400 can include one or more input components 410.
[0046] The switching component 420 can interconnect the input components 410 with the output components 430. In some implementations, the switching component 420 can be implemented via one or more crossbars, via a bus, and / or shared memory. The shared memory can act as a temporary buffer to store packets from the input components 410 before the packets are finally scheduled for delivery to the output components 430. In some implementations, the switching component 420 can enable the input components 410, the output components 430, and / or the controller 440 to communicate with each other.
[0047] The output components 430 can store packets and / or schedule packets for transmission on an output physical link. The output components 430 can support data link layer encapsulation or decapsulation, and / or various higher level protocols. In some implementations, the output components 430 can transmit and / or receive packets. In some implementations, the output components 430 can include output line cards that include 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 400 can include one or more output components 430. In some implementations, the input components 410 and the output components 430 can be implemented by the same set of components (e.g., the input / output components can be a combination of the input components 410 and the output components 430).
[0048] The controller 440 includes a processor, e.g., in the form of a CPU, GPU, APU, microprocessor, microcontroller, DSP, FPGA, ASIC, and / or other type of processor. The processor is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, the controller 440 can include one or more processors that can be programmed to perform functions.
[0049] In some implementations, the controller 440 can include RAM, ROM, and / or another type of dynamic or static storage device (e.g., flash memory, magnetic storage, optical storage, etc.) that stores information and / or instructions for use by the controller 440.
[0050] In some implementations, the controller 440 can communicate with other devices, networks, and / or systems connected to the device 400 to exchange information about a network topology. The controller 440 can create a routing table based on the network topology information, can create a forwarding table based on the routing table, and can also forward the forwarding table to the input component 410 and the output component 430. The input component 410 and / or the output component 430 can use the forwarding table to perform a routing query on an incoming / outgoing packet.
[0051] The controller 440 can perform one or more processes described herein. The controller 440 can perform these processes in response to execution of software instructions stored by a non-transitory computer-readable medium. In this context, a computer-readable medium is defined as a non-transitory memory device. A memory device includes a storage space in a single physical storage device or a storage space distributed across multiple physical storage devices.
[0052] The software instructions can be read into the memory and / or storage components associated with the controller 440 from another computer-readable medium or from another device via a communication interface. When executed, the software instructions stored in the memory and / or storage components associated with the controller 440 can cause the controller 440 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry can be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
[0053] Figure 4 The number and arrangement of components shown in FIG. 4 are provided as an example. In practice, there can be additional components, fewer components, different components, or differently arranged components than those shown in FIG. 4. Figure 4 For example, the device 400 can include more components, fewer components, different components, or differently arranged components than those shown in the example of FIG. 4. Additionally, or alternatively, a set of components (e.g., one or more components) of the example device 400 can perform one or more functions described as being performed by another set of components of the device 400.
[0054] Figure 5 is a flow diagram of an example process 500 associated with an integrated BNG device providing a BNG control plane for one or more distributed BNG user plane devices. In some implementations, Figure 5 one or more process steps of are performed by the integrated BNG device (e.g., the integrated BNG device 225). In some implementations, Figure 5 one or more process steps of are performed by another device or a group of devices separate from or including the integrated BNG device, such as a user device (e.g., the user device 205) and / or a distributed BNG user plane device (e.g., the distributed BNG user plane device 215). Additionally, or alternatively, Figure 5 one or more process steps of can be performed by one or more components of the device 300, such as the processor 320, the memory 330, the input component 340, the output component 350, and / or the communication component 360; one or more components of the device 400, such as the input component 410, the switching component 420, the output component 430, and / or the controller 440; and / or one or more components of another device.
[0055] As shown in Figure 5 process 500 can include communicating management information with a particular distributed BNG user plane device (block 510). For example, as described above, the integrated BNG device can communicate management information with a particular distributed BNG user plane device of the one or more distributed BNG user plane devices. In some implementations, the management information is communicated via a first interface between the integrated BNG device and the particular distributed BNG user plane device.
[0056] As further shown in Figure 5 process 500 can include communicating control packets with the particular distributed BNG user plane device (block 520). For example, as described above, the integrated BNG device can communicate control packets with the particular distributed BNG user plane device. In some implementations, the control packets are communicated via a second interface between the integrated BNG device and the particular distributed BNG user plane device.
[0057] As further shown in Figure 5 process 500 can include communicating session control and status information with the particular distributed BNG user plane device (block 530). For example, as described above, the integrated BNG device can communicate session control and status information with the particular distributed BNG user plane device. In some implementations, the session control and status information is communicated via a third interface between the integrated BNG device and the particular distributed BNG user plane device.
[0058] Process 500 can include additional implementations, such as any single implementation described below or any combination of implementations, and / or in combination with one or more other processes described elsewhere herein.
[0059] In a first implementation, the management information includes at least one of information for configuring a particular distributed BNG user plane device, or operational information and resource information associated with the particular distributed BNG user plane device.
[0060] In a second implementation, alone or in combination with the first implementation, communicating the management information includes sending configuration information to the particular distributed BNG user plane device via the first interface for configuring the particular distributed BNG user plane device, or receiving operational and resource information associated with the particular distributed BNG user plane device from the particular distributed BNG user plane device via the first interface.
[0061] In a third implementation, alone or in combination with one or more of the first and second implementations, the control packets can include at least one of at least one request packet related to establishing a communication session for the user device, or at least one response packet related to establishing the communication session for the user device.
[0062] In a fourth implementation, alone or in combination with one or more of the first through third implementations, communicating the control packets can include receiving at least one request packet related to establishing the communication session for the user device from the particular distributed BNG user plane device via the second interface, or sending at least one response packet related to establishing the communication session for the user device to the particular distributed BNG user plane device via the second interface.
[0063] In a fifth implementation, alone or in combination with one or more of the first through fourth implementations, the session control and status information includes at least one piece of information indicating a status to be implemented by the particular distributed BNG user plane device, or information related to a status implemented by the particular distributed BNG user plane device.
[0064] In a sixth implementation, alone or in combination with one or more of the first through fifth implementations, communicating the session control and status information includes sending information to the particular distributed BNG user plane device via the third interface, the information indicating a forwarding status to be implemented by the particular distributed BNG user plane device, or receiving status information related to a status implemented by the particular distributed BNG user plane device from the particular distributed BNG user plane device via the third interface.
[0065] In a seventh implementation, alone or in combination with the first through sixth implementations, process 500 includes receiving, via the second interface, at least one request packet from the particular distributed BNG user plane device related to establishing a communication session for the user device; determining, based on the at least one request packet, respective statuses of one or more resources of the integrated BNG device; determining, based on the respective statuses of the one or more resources, that the integrated BNG device will not support the communication session for the user device; and sending, via the second interface, at least one response packet to the particular distributed BNG user plane device, the response packet indicating that the integrated BNG device will not support the communication session for the user device.
[0066] In an eighth implementation, alone or in combination with one or more of the first through seventh implementations, process 500 includes sending, via the fourth interface, allocation information to another integrated BNG device, the allocation information indicating that the another integrated BNG device will support the communication session for the user device, and sending, via the second interface, at least some of the allocation information to the particular distributed BNG user plane device.
[0067] In a ninth implementation, alone or in combination with one or more of the first through eighth implementations, process 500 includes determining respective statuses of one or more resources of the integrated BNG device; identifying, based on the respective statuses of the one or more resources, another integrated BNG device to provide another BNG control plane for a portion of one or more distributed BNG user plane devices, wherein the portion of the one or more distributed BNG user plane devices includes the particular distributed BNG user plane device; sending, via the fourth interface, allocation information to the another integrated BNG device indicating the portion of the one or more distributed BNG user plane devices; and sending the allocation information to the particular distributed BNG user plane device.
[0068] In a tenth implementation, alone or in combination with one or more of the first through ninth implementations, communicating the control packet includes receiving, via the second interface, at least one request packet from the particular distributed BNG user plane device related to establishing a communication session for the user device; communicating with an authentication device to determine whether the user device is an authenticated user device; and based on determining whether the user device is the authenticated user device, sending, via the second interface, at least one response packet to the particular distributed BNG user plane device related to establishing the communication session for the user device.
[0069] In an eleventh implementation, alone or in combination with one or more of the first through tenth implementations, process 500 includes determining respective statuses of one or more resources of the integrated BNG device; based on the respective statuses of the one or more resources, identifying another integrated BNG device; sending, via the fourth interface, allocation information to the other integrated BNG device, the allocation information indicating that the other integrated BNG device is to provide another BNG control plane for a particular distributed BNG user plane device; and sending at least some of the allocation information to the particular distributed BNG user plane device.
[0070] In a twelfth implementation, alone or in combination with one or more of the first through eleventh implementations, process 500 includes receiving, via the fourth interface, allocation information from another integrated BNG device, the allocation information indicating that the integrated BNG device is to provide a BNG control plane for one or more additional distributed BNG user plane devices, and based on the allocation information, communicating, via respective interfaces between the integrated BNG device and the additional BNG user planes, additional management information, additional control packets, and additional session control and status information with each of the one or more additional distributed BNG user plane devices.
[0071] Although Figure 5 The example blocks of process 500 are illustrated, but in some implementations, process 500 can include more blocks, fewer blocks, different blocks, or Figure 5 Additionally or alternatively, two or more of the blocks in process 500 can be performed in parallel.
[0072] The above disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise forms disclosed. Modifications and variations can be made in light of the above disclosure or can be acquired from practice of the implementations.
[0073] As used herein, traffic or content can include a set of packets. A packet can refer to a communication structure used to convey information, such as a protocol data unit (PDU), a service data unit (SDU), a network packet, a datagram, a fragment, a message, a block, a frame (e.g., an Ethernet frame), any portion of the same, and / or another type of formatted or unformatted unit of data capable of being communicated over a network.
[0074] As used herein, depending on the context, satisfying a threshold can refer to a value that is greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, not equal to the threshold, and so on.
[0075] As used herein, the term "component" is intended to be broadly construed as hardware, firmware, or a combination of hardware and software. It will be apparent that systems and / or methods described herein can be implemented in different forms of hardware, firmware, and / or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and / or methods were described herein are used as an example and implemented in hardware, firmware, and / or software, as desired. No implementation is exclusively a software implementation nor is any implementation exclusively a hardware implementation.
[0076] Although certain combinations of features are recited in the claims and / or disclosed in the specification, the disclosure is not limited to those combinations that are explicitly delineated or disclosed. Rather, the combinations of features are intended to be combinable in ways not expressly stated in the claims and / or specification. Although each dependent claim listed below can depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with all other claims in the set of claims. As used herein, the relevant phrase "at least one of a list of items" means any combination of the items in the list, including single members. For example, "at least one of a, b, or c" is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination of items from the group.
[0077] No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles "a" and "an" are intended to include one or more items, and can be used interchangeably with "one or more." Furthermore, as used herein, the article "the" is intended to include one or more items of the same type, and can be used interchangeably with "the one or more." Also, as used herein, the term "set" is intended to include one or more items (for example, related items, unrelated items, or a combination of related and unrelated items), and can be used interchangeably with "one or more." Where only one item is intended, the phrase "only one" or similar language is used. Also, as used herein, the terms "has," "have," "having," or the like are intended to be open-ended terms. Further, unless specifically set forth herein, the terms "based on" are not intended to mean "based only on" or "based in no way on." Also, as used herein, the term "or" is intended to be inclusive when used in a series of items (for example, "a, b, or c" or "a, b, and c") unless otherwise indicated (for example, if used in the context of "a or b but not both").
Claims
1. An integrated Broadband Network Gateway (BNG) device for providing a BNG control plane for one or more distributed BNG user plane devices, comprising: one or more memories; and one or more processors to: communicate management information with a particular distributed BNG user plane device of the one or more distributed BNG user plane devices, wherein the management information is communicated via a first interface between the integrated BNG device and the particular distributed BNG user plane device; communicate control packets with the particular distributed BNG user plane device, wherein the control packets are communicated via a second interface between the integrated BNG device and the particular distributed BNG user plane device; communicate session control and state information with the particular distributed BNG user plane device, wherein the session control and state information is communicated via a third interface between the integrated BNG device and the particular distributed BNG user plane device; determine respective conditions of one or more resources of the integrated BNG device; based on the respective conditions of the one or more resources, identify another integrated BNG device for providing another BNG control plane for a portion of the one or more distributed BNG user plane devices, wherein the portion of the one or more distributed BNG user plane devices includes the particular distributed BNG user plane device; send, via a fourth interface, allocation information indicative of the portion of the one or more distributed BNG user plane devices to the another integrated BNG device; and send the allocation information to the particular distributed BNG user plane device.
2. The integrated BNG device of claim 1, wherein the integrated BNG device provides the BNG control plane for one or more user planes provided by the integrated BNG device.
3. The integrated BNG device of claim 1, wherein the management information comprises at least one of: configuration information for configuring the particular distributed BNG user plane device; or operation and resource information associated with the particular distributed BNG user plane device.
4. The integrated BNG device of claim 1, wherein when communicating the management information, the one or more processors are to perform at least one of: send, via the first interface, configuration information for configuring the particular distributed BNG user plane device to the particular distributed BNG user plane device; or receive, via the first interface, operation and resource information associated with the particular distributed BNG user plane device from the particular distributed BNG user plane device.
5. The integrated BNG device of claim 1, wherein the control packets comprise at least one of: at least one request packet related to establishing a communication session for a user device; or at least one response packet related to establishing the communication session for the user device. 6. The integrated BNG device of claim 1, wherein when communicating the control packets, the one or more processors are to perform at least one of: receive, from the particular distributed BNG user plane device via the second interface, at least one request packet related to establishing a communication session for a user device; or send, to the particular distributed BNG user plane device via the second interface, at least one response packet related to establishing the communication session for the user device.
7. The integrated BNG device of claim 1, wherein the session control and state information comprises at least one of: information indicative of a state to be implemented by the particular distributed BNG user plane device; or information related to a state implemented by the particular distributed BNG user plane device.
8. The integrated BNG device of claim 1, wherein when communicating the session control and state information, the one or more processors are to perform at least one of: send, to the particular distributed BNG user plane device via the third interface, information indicative of a forwarding state to be implemented by the particular distributed BNG user plane device; or receive, from the particular distributed BNG user plane device via the third interface, status information related to a state implemented by the particular distributed BNG user plane device.
9. The integrated BNG device of claim 1, wherein the one or more processors are further to: receive, from the particular distributed BNG user plane device via the second interface, at least one request packet related to establishing a communication session for a user device; determine, based on the at least one request packet, respective statuses of one or more resources of the integrated BNG device; determine, based on the respective statuses of the one or more resources, that the integrated BNG device will not support the communication session for the user device; and send, to the particular distributed BNG user plane device via the second interface, at least one response packet indicating that the integrated BNG device will not support the communication session for the user device.
10. The integrated BNG device of claim 9, wherein the one or more processors are further to: send, to another integrated BNG device via a fourth interface, allocation information indicating that the other integrated BNG device will support the communication session for the user device; and send, to the particular distributed BNG user plane device via the second interface, at least some of the allocation information.
11. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising: one or more instructions that, when executed by one or more processors of an integrated broadband network gateway (BNG) device, cause the integrated BNG device to: communicate, with a particular distributed BNG user plane device, management information via a first interface between the integrated BNG device and the particular distributed BNG user plane device; communicate control packets with the particular distributed BNG user plane via a second interface between the integrated BNG device and the particular distributed BNG user plane device; communicate session control and state information with the particular distributed BNG user plane device via a third interface between the integrated BNG device and the particular distributed BNG user plane device; determine respective conditions of one or more resources of the integrated BNG device; identify, based on the respective conditions of the one or more resources, another integrated BNG device for providing another BNG control plane for a portion of the one or more distributed BNG user plane devices, wherein the portion of the one or more distributed BNG user plane devices includes the particular distributed BNG user plane device; send, via a fourth interface, allocation information indicative of the portion of the one or more distributed BNG user plane devices to the other integrated BNG device; and send the allocation information to the particular distributed BNG user plane device.
12. The non-transitory computer-readable medium of claim 11, wherein the management information comprises at least one of: configuration information for configuring the particular distributed BNG user plane device; or operational and resource information associated with the particular distributed BNG user plane device.
13. The non-transitory computer-readable medium of claim 11, wherein the control packets comprise at least one of: at least one request packet related to establishing a communication session for a user device; or at least one response packet related to establishing the communication session for the user device.
14. The non-transitory computer-readable medium of claim 11, wherein the one or more instructions that cause the integrated BNG device to communicate the control packets cause the integrated BNG device to: receive, via the second interface, at least one request packet from the particular distributed BNG user plane device related to establishing a communication session for a user device; communicate with an authentication device to determine whether the user device is an authenticated user device; and based on determining whether the user device is an authenticated user device, send, via the second interface, at least one response packet to the particular distributed BNG user plane device related to establishing the communication session for the user device.
15. The non-transitory computer-readable medium of claim 11, wherein the session control and state information comprises at least one of: information indicative of a state to be implemented by the particular distributed BNG user plane device; or condition information related to a state implemented by the particular distributed BNG user plane device.
16. The non-transitory computer-readable medium of claim 11, the integrated BNG device providing a BNG control plane for the particular distributed BNG user plane device, wherein the one or more instructions further cause the integrated BNG device to: receiving, from another integrated BNG device via a fourth interface, allocation information indicating that the integrated BNG device is to provide the BNG control plane for one or more additional distributed BNG user plane devices; and communicating, with each of the one or more additional distributed BNG user plane devices, additional management information, additional control packets, and additional session control and state information based on the allocation information via respective interfaces between the integrated BNG device and the additional distributed BNG user plane devices.
17. A method for providing a BNG control plane for a particular distributed broadband network gateway (BNG) user plane device of one or more distributed BNG user plane devices, comprising: communicating, by an integrated BNG device, management information with the particular distributed BNG user plane device; communicating, by the integrated BNG device, control packets with the particular distributed BNG user plane device; communicating, by the integrated BNG device, session control and state information with the particular distributed BNG user plane device; determining respective conditions of one or more resources of the integrated BNG device; identifying, based on the respective conditions of the one or more resources, another integrated BNG device for providing another BNG control plane for a portion of the one or more distributed BNG user plane devices, wherein the portion of the one or more distributed BNG user plane devices includes the particular distributed BNG user plane device; sending, to another integrated BNG device, allocation information indicating that the other integrated BNG device is to provide another BNG control plane for the particular distributed BNG user plane device; and sending, for the particular distributed BNG user plane device, at least some of the allocation information.