Multi-state control interface between control plane and user plane
By introducing multiple state control interfaces into the broadband network gateway, the bottleneck problem of information transmission between the control plane and the user plane is solved, improving the timeliness of information transmission and system performance.
Patent Information
- Application Number
- CN202111151282.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-08-09
- Filing Date
- 2021-09-29
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2041-09-29
AI Technical Summary
In broadband network gateways, there is a bottleneck in the information transmission between the control plane and the user plane, which leads to delays or loss of high-priority information and affects system performance.
By introducing multiple status control interfaces into the broadband network gateway, each used to transmit different types of messages, high-priority information can be delivered in a timely manner, avoiding bottlenecks caused by a single interface.
It improves the timeliness of information transmission between the control plane and the user plane and enhances system performance, while reducing the possibility of high-priority information being delayed or lost.
Smart Images

Figure CN115914348B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present disclosure relate to broadband network gateway architectures, and more specifically to a multi-state control interface between a control plane and a user plane in a disaggregated broadband network gateway architecture. BACKGROUND
[0002] A broadband network gateway (BNG) routes traffic to and from broadband remote access devices, such as digital subscriber line access multiplexers (DSLAMs), on an Internet service provider (ISP) network. Among other examples, a BNG enables subscribers to connect to a broadband network and performs authentication, authorization, and accounting; allocates Internet Protocol (IP) addresses; and enforces quality of service (QoS) policies. SUMMARY
[0003] Some implementations described herein relate to a method. The method includes receiving, by a disaggregated broadband network gateway (DBNG) control plane system, an association setup request message from a DBNG user plane device, where the association setup request message is received via a state control interface between the DBNG control plane system and the DBNG user plane device. The method can include determining, by the DBNG control plane system and based on the association setup request message, one or more capabilities of the DBNG user plane device. The method can include causing, by the DBNG control plane system and based on determining the one or more capabilities of the DBNG user plane device, one or more additional state control interfaces to be established between the DBNG control plane system and the DBNG user plane device.
[0004] Some implementations described herein relate to a DBNG user plane device. The DBNG user plane device can include one or more memories and one or more processors. The one or more processors can be configured to send an association setup request message to a DBNG control plane system. The one or more processors can be configured to receive an association setup response message from the DBNG control plane system after sending the association setup request message. The one or more processors can be configured to communicate with the DBNG control plane system via a state control interface between the DBNG control plane system and the DBNG user plane device and one or more additional state control interfaces based on receiving the association setup response message.
[0005] Some implementations described herein relate to a non-transitory computer- readable medium storing a set of instructions of a DBNG control plane system. The set of instructions, when executed by one or more processors of the DBNG, can cause the DBNG to receive, via a state control interface between the DBNG control plane system and a DBNG user plane device, an association setup request message from the DBNG user plane device. The set of instructions, when executed by the one or more processors of the DBNG, can cause the DBNG to cause an additional set of state control interfaces to be established between the DBNG control plane system and the DBNG user plane device based on the association setup request message. BRIEF DESCRIPTION OF DRAWINGS
[0006] Figures 1A-1F is a schematic diagram of example implementations described herein.
[0007] Figure 2 is an illustration of types of messages that can be communicated by the DBNG control plane system and the DBNG user plane device described herein.
[0008] Figure 3 is a schematic diagram of an example environment in which the systems and / or methods described herein can be implemented.
[0009] Figures 4-5 is a schematic diagram of example components of one or more devices of Figure 3
[0010] Figures 6-8 is a flow diagram of an example process related to establishing multiple state control interfaces between a DBNG control plane system and a DBNG user plane device. DETAILED DESCRIPTION
[0011] 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.
[0012] To accommodate growth in the number of subscribers, the number and types of services provided by the BNG, and the number of traffic handled by the BNG, a service provider can deploy a disaggregated BNG (DBNG). The DBNG separates the control plane and the user plane (also referred to as the "data plane") physically and logically. For example, software that performs control plane functions can be distributed as virtualized BNG functions executed by 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 subscriber forwarding state rules prescribed by the control plane.
[0013] In many cases, a single interface is provided between the control plane and the user plane to transfer DBNG state related information between the control plane and the user plane. However, in some cases, the control plane and the user plane need to share a large amount of information within a specific time period. This can cause a bottleneck, resulting in high priority information (e.g., information that needs to be exchanged in a timely manner in order to meet service level agreement (SLA) requirements and / or protocol timeout requirements) being delayed, lost, dropped, and / or otherwise unable to be communicated. As a result, this negatively impacts the performance of the control plane, the user plane, and the DBNG.
[0014] Some implementations described herein provide a DBNG including a DBNG control plane system and one or more DBNG user plane devices. The DBNG control plane system and the DBNG user plane devices can communicate with each other such that multiple state control interfaces are established between the DBNG control plane system and the DBNG user plane devices. As a result, the DBNG control plane system and the DBNG user plane devices can transfer DBNG related messages to each other via the multiple state control interfaces. In some implementations, each of the multiple state control interfaces is configured to transfer messages associated with a particular message type between the DBNG control plane system and the DBNG user plane devices. For example, a first set of state control interfaces (e.g., including one or more state control interfaces) can transfer node related messages, a second set of state control interfaces can transfer session related messages, and a third set of state control interfaces can transfer report related messages.
[0015] In this manner, some implementations described herein enable messages having the same or similar priority (e.g., where priority is based on the type of message) to be sent via a particular set of state control interfaces between the DBNG control plane system and the DBNG user plane devices. This reduces the likelihood of high priority messages being delayed or otherwise unable to be transferred due to bottleneck issues associated with a single interface. This improves the likelihood of state related information being communicated in a timely manner between the DBNG user plane devices and the DBNG control plane system. As a result, using multiple state control interfaces between the DBNG control plane system and the DBNG user plane devices (e.g., depending on the type of message) improves the performance of the DBNG user plane devices, the DBNG control plane system, and the DBNG as compared to using a single interface between the DBNG user plane devices and the DBNG control plane system.
[0016] Figures 1A-1Fis a schematic diagram of one or more example implementations 100 described herein in relation to a DBNG. The example implementation(s) 100 can include a DBNG control plane system and a plurality of DBNG user plane devices (shown as DBNG user plane device A and DBNG user plane device B), described below in relation to Figures 3-5 are described in greater detail. In some implementations, the DBNG control plane system and each of the plurality of DBNG user plane devices can include one or more microservices. For example, as shown in Figures 1A-1F , the DBNG control plane system can include one or more control plane microservices (shown as microservices CP MS-1 through CP MS-L, where L > 1), the DBNG user plane device A can include one or more user plane microservices (shown as microservices UP-A MS-1 through UP-A MS-M, where M > 1), and the DBNG user plane device B can include one or more user plane microservices (shown as microservices UP-B MS-1 through UP-B MS-N, where N > 1).
[0017] As shown in Figure 1A , and by reference number 102, the DBNG user plane device A can be activated. For example, the DBNG user plane device A can be turned on, brought online, or otherwise made available to provide control plane services to the DBNG. In some implementations, when the DBNG user plane device A is activated, a state control interface can be established between the DBNG user plane device A and the DBNG control plane system. For example, the DBNG user plane device A can send identifying information to the DBNG control plane system (e.g., via another interface, such as a management interface), which can authenticate and / or verify the DBNG user plane device A. Accordingly, the DBNG control plane system and the DBNG user plane device A can communicate (e.g., send information identifying available port numbers of the DBNG control plane system and the DBNG user plane device A via the other interface) to establish the state control interface. For example, as shown in Figure 1A , the DBNG user plane device A and the DBNG control plane system can communicate to establish a state control interface A-1.
[0018] As shown by reference number 104, DBNG user plane device A can send (e.g., via a state control interface) a node-related message, such as an association setup request message, to the DBNG control plane system. In some implementations, the association setup request message can be a packet forwarding control protocol (PFCP) message (e.g., a PFCP association setup request message). Among other examples, the association setup request message can include information indicating one or more capabilities of DBNG user plane device A, such as one or more of a buffering capability, a traffic steering capability, or a message binding capability. In a particular example, the association setup request message can indicate a number of state control interfaces that DBNG user plane device A is capable of supporting (e.g., a total number of state control interfaces that DBNG user plane device A is capable of supporting, or a number of additional state control interfaces that DBNG user plane device A is capable of supporting).
[0019] In some implementations, a microservice of DBNG user plane device A can send (e.g., via a state control interface) an association setup request message to a microservice of the DBNG control plane system. For example, as also shown in Figure 1A DBNG user plane device A, the UP-A MS-1 microservice can send (e.g., via state control interface A-1) an association setup request message to the CP MS-1 microservice of the DBNG control plane system. The UP-A MS-1 microservice can be associated with a management and control function of DBNG user plane device A and / or the CP MS-1 microservice can be associated with a management and control function of the DBNG control plane system.
[0020] As Figure 1B shown in and by reference number 106, the DBNG control plane system can process (e.g., after receiving) the association setup request message. For example, the DBNG control plane system can process (e.g., parse) the association setup request message to determine one or more capabilities of DBNG user plane device A, such as a number of state control interfaces that DBNG user plane device A is capable of supporting. In some implementations, a microservice of the DBNG control plane system, such as the CP MS-1 microservice that received the association setup request message, can process the association setup request message to determine one or more capabilities of DBNG user plane device A.
[0021] As shown by reference number 108, the DBNG control plane system can cause one or more additional state control interfaces to be established between the DBNG control plane system and DBNG user plane device A. For example, as also shown in Figure 1BAs shown, the DBNG control plane system can cause one or more additional state control interfaces A-2 through A-X (where X > 2) to be established between the DBNG control plane system and the DBNG user plane device A. In some implementations, the DBNG control plane system can cause the one or more additional state control interfaces to be established based on determining one or more capabilities of the DBNG user plane device A. For example, based on a number of state control interfaces that the DBNG user plane device A is capable of supporting, the DBNG control plane system can cause one or more ports of the DBNG control plane system to be respectively assigned for the one or more additional state control interfaces. As shown by reference number 110, the DBNG control plane system can send (e.g., via a state control interface) an association setup response message to the DBNG user plane device A, the association setup response message including identification information associated with the one or more ports (e.g., identification information indicating port numbers of the one or more ports). The DBNG user plane device A can process (e.g., parse) the association setup response message to determine the identification information, and can cause one or more ports of the DBNG user plane device A to be respectively assigned for the one or more additional state control interfaces based on the identification information (e.g., such that the additional state control interfaces are established between the DBNG control plane system and particular ports of the DBNG user plane device A).
[0022] In some implementations, a microservice of the DBNG control plane system (such as the CP MS-1 microservice) can cause establishment of the one or more additional state control interfaces (e.g., as described herein with respect to reference numbers 108 and 110). Additionally or alternatively, a microservice of the DBNG user plane device A (such as the UP-A MS-1 microservice) can facilitate establishment of the one or more additional state control interfaces (e.g., as described herein with respect to reference number 110).
[0023] As Figure 1C As shown by reference number 112, the DBNG control plane system and / or the DBNG user plane device A can communicate messages. For example, the DBNG control plane system can send messages to and / or receive messages from the DBNG user plane device A. In some implementations, the DBNG control plane system and / or the DBNG user plane device A can communicate messages via the state control interface and the one or more additional state control interfaces. For example, the DBNG control plane system and / or the DBNG user plane device A can communicate messages via the state control interface A-1 and the additional state control interfaces A-2 through A-X.
[0024] In some implementations, the state control interface and each of the one or more additional state control interfaces can transmit messages associated with a particular type of message. For example, the DBNG control plane system and / or the DBNG user plane device A can communicate a first set of messages associated with a first message type via the state control interface, can communicate a second set of messages associated with a second message type via a first set of the one or more additional state control interfaces (e.g., a first set including at least one of the one or more additional state control interfaces), and / or can communicate a third set of messages associated with a third message type via a second set of the one or more additional state control interfaces (e.g., a second set including at least one of the one or more additional state control interfaces). In a particular example, the DBNG control plane system and / or the DBNG user plane device A can communicate node-related messages (e.g., PFCP messages having a message type value of 3-15, as described herein with respect to Figure 2 ), via the state control interface, session-related messages (e.g., PFCP messages having a message type value of 50-55, as described herein with respect to Figure 2 ), via the first set of additional state control interfaces, and report-related messages (e.g., PFCP messages having a message type value of 56-57, as described herein with respect to Figure 2 ), via the second set of additional control interfaces.
[0025] In some implementations, the state control interface and each of the one or more additional state control interfaces can be associated with a microservice of the DBNG control plane system and / or can be associated with a microservice of the DBNG user plane device A. For example, as shown in Figure 1C , the state control interface A-l can be associated with a CP MS-l microservice of the DBNG control plane system and / or a UP-A MS-l microservice of the DBNG user plane device A. That is, the CP MS-l microservice of the DBNG control plane system and / or the UP-A MS-l microservice of the DBNG user plane device A can communicate messages (e.g., messages of a first message type, such as node-related messages) via the state control interface A-l.
[0026] As another example, as shown in Figure 1CAs shown in the middle, a first set of one or more additional state control interfaces (e.g., a first set including at least one of the one or more additional state control interfaces) can be associated with the CP MS-2 microservice of the DBNG control plane system and / or the UP-A MS-2 microservice of the DBNG user plane device A, and / or a second set of one or more additional state control interfaces (e.g., a second set including at least one of the one or more additional state control interfaces) can be associated with the CP MS-L microservice of the DBNG control plane system and / or the UP-A MS-M microservice of the DBNG user plane device A. That is, the CP MS-2 microservice of the DBNG control plane system and / or the UP-A MS-2 microservice of the DBNG user plane device A can communicate messages (e.g., messages of the second message type, such as session-related messages) via the first set of additional state control interfaces, and / or the CP MS-L microservice of the DBNG control plane system and / or the UP-A MS-M microservice of the DBNG user plane device A can communicate messages (e.g., messages of the third message type, such as reporting-related messages) via the second set of additional state control interfaces.
[0027] Also as Figure 1C As shown in the middle and by reference number 114, the DBNG control plane system and the DBNG user plane device A can exchange heartbeat messages (e.g., PFCP heartbeat messages having a message type value of 1 to 2, as described herein with respect to Figure 2 For example, the DBNG control plane system and / or the DBNG user plane device A can send and / or receive heartbeat messages to and / or from each other via the state control interface and the one or more additional state control interfaces (e.g., send and / or receive respective heartbeat messages via the state control interface and the one or more additional state control interfaces).
[0028] In this manner, the DBNG control plane system and / or the DBNG user plane device A can determine whether a particular one of the state control interfaces and the one or more additional state control interfaces is active or inactive (e.g., whether the particular state control interface is open or closed) (e.g., based on a frequency of exchange of the heartbeat messages). For example, the DBNG control plane system can determine that a heartbeat timeout time interval has expired (e.g., a time between receipt of a heartbeat message from the DBNG user plane device A via the particular state control interface has exceeded the timeout time interval) in the absence of receipt by the DBNG control plane system of at least one heartbeat message from the DBNG user plane device A via the particular state control interface. This can indicate that the particular state control interface is inactive. Accordingly, as shown by reference number 116, the DBNG control plane system can cause the particular state control interface to be released (e.g., cause the particular state control interface to be torn down). In this manner, resources associated with maintenance of the particular state control interface by the DBNG control plane system and / or the DBNG user plane device A can be reallocated to improve performance of the DBNG control plane system and / or the DBNG user plane device A.
[0029] As Figure 1D shown in FIG. 1 and by reference number 118, the DBNG user plane device B can be activated. For example, the DBNG user plane device B can be turned on, brought online, or otherwise made available to provide control plane services to the DBNG. In some implementations, when the DBNG user plane device B is activated, another state control interface can be established between the DBNG user plane device B and the DBNG control plane system (e.g., in a similar manner as described herein with respect to Figure 1A and reference number 102). For example, as shown in Figure 1D FIG. 1, the DBNG user plane device B and the DBNG control plane system can communicate to establish a state control interface B-l.
[0030] As shown by reference number 120, the DBNG user plane device B can send a node-related message (e.g., via the other state control interface) to the DBNG control plane system, such as another association setup request message. In some implementations, the other association setup request message can be a PFCP message (e.g., a PFCP association setup request message) and can include information indicating one or more capabilities of the DBNG user plane device B. For example, the other association setup request message can indicate a number of state control interfaces that the DBNG user plane device B is capable of supporting (e.g., a total number of state control interfaces that the DBNG user plane device B is capable of supporting, or a number of additional state control interfaces that the DBNG user plane device B is capable of supporting).
[0031] In some implementations, the microservice of DBNG user plane device B can send (e.g., via the other state control interface) the other association setup request message to a microservice of the DBNG control plane system. For example, as also shown in Figure 1D As shown in
[0032] As shown in Figure 1E and by reference number 122, the DBNG control plane system can process the other association setup request message (e.g., after receiving the other association setup request message). For example, the DBNG control plane system can process (e.g., parse) the other association setup request message to determine one or more capabilities of DBNG user plane device B, such as a number of state control interfaces that DBNG user plane device B is capable of supporting. In some implementations, a microservice of the DBNG control plane system, such as the CP MS-1 microservice that receives the other association setup request message, can process the other association setup request message to determine one or more capabilities of DBNG user plane device B.
[0033] As shown by reference number 124, the DBNG control plane system can cause one or more additional state control interfaces to be established between the DBNG control plane system and DBNG user plane device B. For example, as also shown in Figure 1E As shown in
[0034] In some implementations, based on determining one or more capabilities of DBNG user plane device B, the DBNG control plane system can cause a second set of additional state control interfaces to be established. For example, based on a number of state control interfaces that DBNG user plane device B is capable of supporting, the DBNG control plane system can cause one or more ports of the DBNG control plane system to be respectively assigned for the second set of additional state control interfaces. As shown by reference number 126, the DBNG control plane system can send an association setup response message to DBNG user plane device B (e.g., via the other state control interface), the association setup response message including identification information associated with the one or more ports (e.g., an identification message indicating a port number of the one or more ports). DBNG user plane device B can process (e.g., parse) the association setup response message to determine the identification information, and can cause the one or more ports of DBNG user plane device B to be respectively assigned to the second set of additional state control interfaces based on the identification information (e.g., such that an additional state control interface is established between the DBNG control plane system and a particular port of DBNG user plane device B).
[0035] In some implementations, a microservice of the DBNG control plane system (such as CP MS-1 microservice) can cause establishment of one or more additional state control interfaces (e.g., as described herein with respect to reference numbers 122 and 124). Additionally or alternatively, a microservice of DBNG user plane device B (such as UP-B MS-1 microservice) can facilitate establishment of the second set of additional state control interfaces (e.g., as described herein with respect to reference number 126).
[0036] In this way, as described herein, the DBNG control plane system can cause a first set of additional state control interfaces to be established between the DBNG control plane system and DBNG user plane device A, and can cause a second set of additional state control interfaces to be established between the DBNG control plane system and DBNG user plane device B. While some embodiments described herein relate to a DBNG control plane system causing respective sets of additional state control interfaces to be established between the DBNG control plane system and two different DBNG user plane devices, implementations are contemplated that include a DBNG control plane system causing respective sets of additional state control interfaces to be established between the DBNG control plane system and any number of DBNG user plane devices.
[0037] As Figure 1FAs shown by reference numeral 128 in the accompanying drawings, the DBNG control plane system and / or DBNG user plane device B can exchange messages. For example, the DBNG control plane system can send messages to and / or receive messages from the DBNG user plane device B. In some implementations, the DBNG control plane system and / or DBNG user plane device B can exchange messages via another state control interface and a second set of additional state control interfaces between the DBNG control plane system and the DBNG user plane device B. For example, the DBNG control plane system and / or DBNG user plane device B can exchange messages via state control interface B-1 and additional state control interfaces B-2 to BY.
[0038] In some implementations, each state control interface in the other state control interface and the second set of additional state control interfaces can transmit messages associated with a specific type of message. For example, the DBNG control plane system and / or DBNG user plane device B can transmit a first set of messages associated with a first message type via the other state control interface, a second set of messages associated with a second message type via a first subset of additional state control interfaces in the second set of additional state control interfaces (e.g., including a first subset of at least some additional state control interfaces in the second set of additional state control interfaces), and / or a third set of messages associated with a third message type via a second subset of additional state control interfaces in one or more additional state control interfaces (e.g., including a second subset of at least some additional state control interfaces in the second set of additional state control interfaces). In a particular example, the DBNG control plane system and / or DBNG user plane device B can transmit node-related messages (e.g., PFCP messages with message type values of 3 to 15, as described herein) via the other state control interface. Figure 2 As described herein, session-related messages (e.g., PFCP messages with message type values of 50-55, as described herein) are delivered via a subset of the first additional state control interface. Figure 2 As described herein), and via a second subset of additional control interfaces to deliver reporting-related messages (e.g., PFCP messages with message type values of 56 to 57, as described herein). Figure 2 (As described).
[0039] In some implementations, each state control interface in the second and additional state control interface set can be associated with a microservice of the DBNG control plane system and / or with a microservice of the DBNG user plane device B. For example, as Figure 1FAs shown in the middle, the state control interface B-1 can be associated with the CP MS-1 microservice of the DBNG control plane system and / or the UP-B MS-1 microservice of the DBNG user plane device B. That is, the CP MS-1 microservice of the DBNG control plane system and / or the UP-B MS-1 microservice of the DBNG user plane device B can communicate messages (e.g., messages of the first message type, such as node-related messages) via the state control interface B-1.
[0040] As another example, as Figure 1F As shown in the middle, a first subset of additional state control interfaces (e.g., a first subset including at least some of the additional state control interfaces of the second set of additional state control interfaces) of the second set of additional state control interfaces can be associated with the CP MS-2 microservice of the DBNG control plane system and / or the UP-B MS-2 microservice of the DBNG user plane device B, and / or a second subset of additional state control interfaces (e.g., a second subset including at least some of the additional state control interfaces of the second set of additional state control interfaces) of the second set of additional state control interfaces can be associated with the CP MS-L microservice of the DBNG control plane system and / or the UP-B MS-N microservice of the DBNG user plane device B. That is, the CP MS-2 microservice of the DBNG control plane system and / or the UP-B MS-2 microservice of the DBNG user plane device B can communicate messages (e.g., messages of the second message type, such as session-related messages) via the first subset of additional state control interfaces, and / or the CP MS-L microservice of the DBNG control plane system and / or the UP-B MS-N microservice of the DBNG user plane device B can communicate messages (e.g., messages of the third message type, such as reporting-related messages) via the second subset of additional state control interfaces.
[0041] Also as Figure 1F As shown in the middle and by reference number 130, the DBNG control plane system and the DBNG user plane device B can exchange heartbeat messages via the other state control interface and the second set of additional state control interfaces. For example, the DBNG control plane system and / or the DBNG user plane device B can send and / or receive heartbeat messages to and / or from each other via the other state control interface and the second set of additional state control interfaces (e.g., send and / or receive respective heartbeat messages via the other state control interface and the second set of additional state control interfaces).
[0042] In this way, the DBNG control plane system and / or DBNG user plane device B can determine, for example, based on the frequency of heartbeat message exchanges, whether a particular state control interface in the second set of additional state control interfaces is active or inactive (e.g., whether the particular state control interface is open or closed). For example, the DBNG control plane system can determine that a heartbeat timeout interval has expired if the DBNG control plane system has not received at least one heartbeat message from the DBNG user plane device B via the particular state control interface (e.g., the time between receiving heartbeat messages from the DBNG user plane device B via the particular state control interface has exceeded the timeout interval). This can indicate that the particular state control interface is inactive. Therefore, as shown by reference numeral 132, the DBNG control plane system can release the particular state control interface (e.g., tear down the particular state control interface). In this way, the resources associated with the DBNG control plane system and / or DBNG user plane device B maintaining the particular state control interface can be reallocated to improve the performance of the DBNG control plane system and / or DBNG user plane device B.
[0043] As mentioned above, Figures 1A-1F This is provided only as one or more examples. Other examples may be related to... Figures 1A-1F The examples described are different. In fact, with Figures 1A-1F Compared to the equipment and / or systems shown, there may be additional equipment and / or systems, fewer equipment and / or systems, different equipment and / or systems, or equipment and / or systems arranged in a different manner. Furthermore, Figures 1A-1F The two or more devices or systems shown can be implemented within a single device or system, or Figures 1A-1F The single device or system shown can be implemented as multiple distributed devices and / or systems. Additionally or alternatively, a group of devices or systems implementing 100 (e.g., one or more devices or systems) can perform one or more functions described as being performed by another group of devices or systems implementing 100.
[0044] Figure 2 Illustration 200 shows the types of messages that can be transmitted between the DBNG control plane system and the DBNG user plane device described herein (transmitted via the state control interface between the DBNG control plane system and the DBNG user plane device and one or more additional state control interfaces). Figure 2As shown in FIG. 3, the message can be a PFCP message. For example, the message can include a PFCP heartbeat message (e.g., having a message type value of 1-2), a PFCP node-related message (e.g., having a message type value of 3-15), a PFCP session-related message (e.g., having a message type value of 50-55), and / or a PFCP report-related message (e.g., having a message type value of 56-57). In some implementations, PFCP messages of particular message types can be communicated via a particular state control interface between a DBNG control plane system and DBNG user plane devices, as described herein.
[0045] As described above, Figure 2 are provided merely as one or more examples. Other examples can differ from what is described in this regard. Figure 2 described examples.
[0046] Figure 3 is a schematic diagram of an example environment 300 in which systems and / or methods described herein can be implemented. As shown in Figure 3 As shown in FIG. 3, the example environment 300 can include a plurality of subscriber devices 305, a radio access network (RAN) 310, an access network (AN) 315, a plurality of DBNG user plane devices 320, a data network, a DBNG control plane system 330, and a service provider network 335. The devices and / or networks of the example environment 300 can be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0047] The subscriber devices 305 include one or more devices capable of receiving, generating, storing, processing, and / or providing information, such as information described herein. For example, the subscriber devices 305 can include a mobile phone (e.g., a smart phone or 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 a pair of smart glasses), a mobile hotspot device, a fixed wireless access device, a customer premises equipment, or similar type of device. In some implementations, the subscriber devices 305 can provide network traffic to and / or receive network traffic from the DBNG user plane devices 320 via the RAN 310 or the AN 315.
[0048] The RAN 310 can support, for example, a cellular radio access technology (RAT). The RAN 310 can include one or more base stations (e.g., transceiver base stations, radio base stations, Node-Bs, eNode-Bs (eNBs), gNode-Bs (gNBs), base station subsystems, cellular sites, cell towers, access points, transmission reception points (TRPs), radio access nodes, macrocells, microcells, picocells, femtocells, or similar type of equipment) and other network entities that can support wireless communication for the subscriber devices 305. The RAN 310 can communicate traffic between the subscriber devices 305 (e.g., using a cellular RAT), one or more base stations (e.g., using a wireless interface or a backhaul interface such as a wired backhaul interface), the DBNG user plane device 320, and / or the data network 325. The RAN 310 can provide one or more cells that cover a geographic area.
[0049] The AN 315 includes one or more wired and / or wireless networks. For example, the AN 315 can include a cellular network (e.g., a fifth generation (5G) network, a fourth generation (4G) network, a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), 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
[0050] The DBNG user plane devices 320 include one or more devices capable of receiving, processing, storing, routing, and / or providing traffic (e.g., packets and / or other information or metadata) in the manner described herein. For example, the DBNG user plane devices 320 can include routers, such as label-switched routers (LSRs), label edge routers (LERs), ingress routers, egress routers, provider routers (e.g., provider edge routers or provider core routers), virtual routers, or another type of router. Additionally or alternatively, the DBNG user plane devices 320 can include gateways, switches, firewalls, hubs, bridges, reverse proxies, servers (e.g., proxy servers, cloud servers, or data center servers), load balancers, and / or similar devices. In some implementations, the DBNG user plane devices 320 can be physical devices implemented within an enclosure, such as a rack. In some implementations, the DBNG user plane devices 320 can be virtual devices implemented by one or more computer devices or data centers of a cloud computing environment. In some implementations, a set of DBNG user plane devices 320 can be a set of data center nodes used to route traffic flows through the network 230. The DBNG user plane devices 320 can communicate traffic between the subscriber devices 305 and / or the data network 325. The DBNG user plane devices 320 can perform control plane functionality for the DBNG. In some implementations, the DBNG user plane devices 320 can communicate with the DBNG control plane system 330 via a plurality of state control interfaces, as described herein.
[0051] The data network 325 includes one or more wired and / or wireless data networks. For example, the data network 325 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-based network, a cloud computing network, a third-party service network, a carrier service network, and / or a combination of these or other types of networks.
[0052] The DBNG control plane system 330 includes one or more devices capable of receiving, generating, storing, processing, providing, and / or routing information, as described elsewhere herein. The DBNG control plane system 330 can include communication devices and / or computing devices. For example, the DBNG control plane system 330 can include a server, such as an application server, client server, host server, proxy server, virtual server (e.g., executing on computing hardware), or a server in a cloud computing system. In some implementations, the DBNG control plane system 330 includes computing hardware used in a cloud computing environment. The DBNG control plane system 330 can perform control plane functionality for the DBNG. Control plane functionality includes a number of control plane functions, such as subscriber session transport, executing signaling protocols, such as Point-to-Point Protocol over Ethernet (PPPoE), IP over Ethernet (IPoE), IP address allocation and management, authentication / authorization / accounting (AAA), policy enforcement, gateway operations, lawful interception, local management, keep-alive message processing, and configuring the DBNG user plane devices 320. In some implementations, the DBNG control plane system 330 can communicate with the DBNG user plane devices 320 via a number of state control interfaces, as described herein.
[0053] The service provider network 335 includes one or more wired and / or wireless networks (e.g., associated with a service provider, such as an Internet service provider (ISP)). For example, the service provider network 335 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 these or other types of networks.
[0054] Figure 3 The number and arrangement of devices and networks shown in FIG. 3 are provided as an example. In practice, there can be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than those shown in FIG. 3. Furthermore, two or more devices shown in FIG. 3 can be implemented within a single device, or a single device shown in FIG. 3 can be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of example environment 300 can perform one or more functions described as being performed by another set of devices of example environment 300. Figure 3 As an example and not by way of limitation, one or more of the devices shown in FIG. 3 can include a special-purpose communications device (e.g., a modem, a wireless communication device, a cellular telephone, a wireless personal digital assistant (PDA), a Bluetooth device, etc.). As another example, one or more of the devices shown in FIG. 3 can include a general-purpose communication device (e.g., a laptop, a desktop, etc.) modified to perform the functions described herein. Figure 3 As an example and not by way of limitation, one or more of the devices shown in FIG. 3 can include a special-purpose communications device (e.g., a modem, a wireless communication device, a cellular telephone, a wireless personal digital assistant (PDA), a Bluetooth device, etc.). As another example, one or more of the devices shown in FIG. 3 can include a general-purpose communication device (e.g., a laptop, a desktop, etc.) modified to perform the functions described herein. Figure 3 As an example and not by way of limitation, one or more of the devices shown in FIG. 3 can include a special-purpose communications device (e.g., a modem, a wireless communication device, a cellular telephone, a wireless personal digital assistant (PDA), a Bluetooth device, etc.). As another example, one or more of the devices shown in FIG. 3 can include a general-purpose communication device (e.g., a laptop, a desktop, etc.) modified to perform the functions described herein.
[0055] Figure 4This is a schematic diagram of example components of device 400, which may correspond to subscriber device 305, DBNG user plane device 320, and / or DBNG control plane system 330. In some implementations, subscriber device 305, DBNG user plane device 320, and / or DBNG control plane system 330 may include one or more devices 400 and / or one or more components of device 400. Figure 4 As shown, device 400 may include bus 410, processor 420, memory 430, input component 440, output component 450 and communication component 460.
[0056] Bus 410 includes one or more components that support wired and / or wireless communication between components of device 400. Bus 410 can... Figure 4 Two or more components are coupled together, such as via operational coupling, communication coupling, electronic coupling, and / or electrical coupling. Processor 420 includes a central processing unit, graphics processing unit, microprocessor, controller, microcontroller, digital signal processor, field-programmable gate array, application-specific integrated circuit, and / or another type of processing component. Processor 420 is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 420 includes one or more processors capable of being programmed to perform one or more operations or processes described elsewhere herein.
[0057] Memory 430 includes volatile and / or non-volatile memory. For example, memory 430 may include random access memory (RAM), read-only memory (ROM), hard disk drive, and / or another type of memory (e.g., flash memory, magnetic memory, and / or optical memory). Memory 430 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 430 may be a non-transient computer-readable medium. Memory 430 may store information, instructions, and / or software (e.g., one or more software applications) related to the operation of device 400. In some implementations, memory 430 includes one or more memories, such as those coupled to one or more processors (e.g., processor 420) via bus 410.
[0058] The input component 440 enables the device 400 to receive input, such as user input and / or sensory input. For example, the input component 440 can 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 450 enables the device 400 to provide output, such as via a display, a speaker, and / or a light emitting diode. The communication component 460 enables the device 400 to communicate with other devices via wired and / or wireless connections. For example, the communication component 460 can include a receiver, a transmitter, a transceiver, a modem, a network interface card, and / or an antenna.
[0059] The device 400 can perform one or more operations or processes described herein. For example, a non-transitory computer-readable medium (such as the memory 430) can store a set of instructions (such as one or more instructions or code) for execution by the processor 420. The processor 420 can execute the set of instructions to perform one or more operations or processes described herein. In some implementations, the one or more processors 420 execute the set of instructions such that the one or more processors 420 and / or the device 400 perform one or more operations or processes described herein. In some implementations, hardwired circuitry can be used in place of or in combination with software instructions to perform one or more operations or processes described herein. Additionally, or alternatively, the processor 420 can be configured to perform one or more operations or processes described herein. Thus, the implementations described herein are not limited to any specific combination of hardware circuitry and software.
[0060] Figure 4 The number and arrangement of components shown in FIG. 5 are provided as an example. Devices Figure 4 Compared to the components shown in FIG. 5, the device 400 can include additional components, fewer components, different components, or differently arranged components. Additionally or alternatively, a set of components (e.g., one or more components) of the device 400 can perform one or more functions described as being performed by another set of components of the device 400.
[0061] Figure 5 is a schematic diagram of example components of a device 500. The device 500 can correspond to the subscriber device 305, the DBNG user plane device 320, and / or the DBNG control plane system 330. In some implementations, the subscriber device 305, the DBNG user plane device 320, and / or the DBNG control plane system 330 can include one or more devices 500 and / or one or more components of the device 500. As Figure 5As shown in FIG. 5, the apparatus 500 can include one or more input components 510-1 through 510-B (B > 1) (hereinafter referred to collectively as input components 510 and individually as input component 510), a switching component 520, one or more output components 530-1 through 530-C (C > 1) (hereinafter referred to collectively as output components 530 and individually as output component 530), and a controller 540.
[0062] The input components 510 can be one or more attachment points of a physical link and can be one or more entry points for incoming traffic, such as packets. The input components 510 can process incoming traffic, such as by performing data link layer encapsulation or decapsulation. In some implementations, the input components 510 can transmit and / or receive packets. In some implementations, the input components 510 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 apparatus 500 can include one or more input components 510.
[0063] The switching component 520 can interconnect the input components 510 with the output components 530. In some implementations, the switching component 520 can be implemented via one or more crossbars, via buses, and / or with shared memory. The shared memory can act as a temporary buffer to store packets from the input components 510 before the packets are finally scheduled to be delivered to the output components 530. In some implementations, the switching component 520 can enable the input components 510, the output components 530, and / or the controller 540 to communicate with one another.
[0064] The output components 530 can store packets and can schedule packets for transmission on an output physical link. The output components 530 can support data link layer encapsulation or decapsulation, and / or various higher level protocols. In some implementations, the output components 530 can transmit and / or receive packets. In some implementations, the output components 530 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 apparatus 500 can include one or more output components 530. In some implementations, the input components 510 and the output components 530 can be implemented by the same set of components (e.g., and the input / output components can be a combination of the input components 510 and the output components 530).
[0065] The controller 540 includes a processor in the form of one or more of a CPU, a GPU, an APU, a microprocessor, a microcontroller, a DSP, a FPGA, an ASIC, and / or another type of processing component. The processor is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, the processor 540 can include one or more processors that can be programmed to perform functions.
[0066] In some implementations, the controller 540 can include RAM, ROM, and / or another type of dynamic or static storage device (e.g., flash memory, magnetic storage, and / or optical storage, etc.) that stores information and / or instructions for use by the controller 540.
[0067] In some implementations, the controller 540 can communicate with other devices, networks, and / or systems connected to the device 500 to exchange information about a network topology. The controller 540 can create a routing table based on the network topology information, can create a forwarding table based on the routing table, and can forward the forwarding table to the input component 510 and / or the output component 530. The input component 510 and / or the output component 530 can use the forwarding table to perform a routing lookup on an incoming and / or outgoing packet.
[0068] The controller 540 can perform one or more processes described herein. The controller 540 can perform these processes in response to execution of 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.
[0069] The software instructions can be read into the memory and / or storage components associated with the controller 540 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 540 can cause the controller 540 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.
[0070] Figure 5 The number and arrangement of components shown in FIG. 5 are provided as an example. In practice, device 500 can include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 5. Additionally, or alternatively, a set of components (e.g., one or more components) of device 500 can perform one or more functions described as being performed by another set of components of device 500. Figure 5 The number and arrangement of components shown in FIG. 5 are provided as an example. In practice, device 500 can include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 5. Additionally, or alternatively, a set of components (e.g., one or more components) of device 500 can perform one or more functions described as being performed by another set of components of device 500.
[0071] Figure 6 This is a flowchart of an example process 600 associated with establishing multiple state control interfaces between the DBNG control plane system and the DBNG user plane devices. In some implementations, Figure 6 One or more process frames can be executed by a DBNG control plane system (e.g., DBNG control plane system 330). In some implementations, Figure 6 One or more process frames may be executed by another device or a group of devices (such as DBNG user plane devices, e.g., DBNG user plane device 320) that are separate from or include the DBNG control plane system. Additionally or alternatively, Figure 6 One or more process frames may be executed by: one or more components of device 400, such as processor 420, memory 430, input component 440, output component 450 and / or communication component 460; one or more components of device 500, such as input component 510, switching component 520, output component 530 and / or controller 540; and / or one or more components of another device.
[0072] like Figure 6 As shown, process 600 may include receiving an association setting request message from a DBNG user plane device (block 610). For example, the DBNG control plane system may receive an association setting request message from a DBNG user plane device, as described above. In some implementations, the association setting request message is received via a state control interface between the DBNG control plane system and the DBNG user plane device.
[0073] For example Figure 6 As shown, process 600 may include: determining one or more capabilities of a DBNG user plane device based on an association setting request message (block 620). For example, a DBNG control plane system may determine one or more capabilities of a DBNG user plane device based on an association setting request message, as described above.
[0074] For example Figure 6 As shown, process 600 may include: establishing one or more additional state control interfaces between the DBNG control plane system and the DBNG user plane device based on determining one or more capabilities of the DBNG user plane device (block 630). For example, based on determining one or more capabilities of the DBNG user plane device, the DBNG control plane system may establish one or more additional state control interfaces between the DBNG control plane system and the DBNG user plane device, as described above.
[0075] Process 600 can include additional implementations, such as any single implementation or any combination of implementations described in this section and / or in connection with one or more other processes described elsewhere in this document.
[0076] In a first implementation, process 600 includes communicating, via the state control interface, a first set of messages associated with a first message type and communicating, via at least one of the one or more additional state control interfaces, a second set of messages associated with a second message type.
[0077] In a second implementation, alone or in combination with the first implementation, the one or more additional state control interfaces include a first set of additional state control interfaces and a second set of additional state control interfaces, and process 600 includes communicating, via the state control interface, node-related messages, communicating, via the first set of additional state control interfaces, session-related messages, and communicating, via the second set of additional state control interfaces, report-related messages.
[0078] In a third implementation, alone or in combination with one or more of the first and second implementations, process 600 includes sending, via the state control interface and the one or more additional state control interfaces, respective heartbeat messages to the DBNG user plane device.
[0079] In a fourth implementation, alone or in combination with one or more of the first through third implementations, process 600 includes determining that a heartbeat timeout time interval has expired in the absence of the DBNG control plane system receiving at least one heartbeat message from the DBNG user plane device via a particular state control interface of the state control interface and the one or more additional state control interfaces, and causing the particular state control interface to be released based on the determination that the heartbeat timeout time interval has expired.
[0080] In a fifth implementation, alone or in combination with one or more of the first through fourth implementations, each of the state control interface and the one or more additional state control interfaces is associated with a microservice of the one or more microservices of the DBNG control plane system.
[0081] In a sixth implementation, alone or in combination with one or more of the first through fifth implementations, the one or more capabilities indicate a number of state control interfaces that the DBNG user plane device is capable of supporting.
[0082] In a seventh implementation, alone or in combination with one or more of the first through sixth implementations, causing the one or more additional state control interfaces to be established includes determining, based on one or more capabilities of the DBNG user plane device, a number of state control interfaces that the DBNG user plane device is capable of supporting, causing one or more ports of the DBNG control plane system to be respectively assigned for the one or more additional state control interfaces based on the number of state control interfaces that the DBNG user plane device is capable of supporting, and sending, via a state control interface, an association setup response message including identification information associated with the one or more ports.
[0083] Although Figure 6 Example blocks of the process 600 are shown, but in some implementations, the process 600 can include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those shown in FIG. 6. Additionally, or alternatively, two or more of the blocks of the process 600 can be performed in parallel. Figure 6
[0084] Figure 7 is a flow diagram of an example process 700 associated with establishing multiple state control interfaces between a DBNG control plane system and a DBNG user plane device. In some implementations, Figure 7 one or more process blocks of the process 700 can be performed by the DBNG user plane device (e.g., the DBNG user plane device 320). In some implementations, Figure 7 one or more process blocks of the process 700 can be performed by another device or a group of devices separate from or including the DBNG user plane device, such as the DBNG control plane system (e.g., the DBNG control plane system 330). Additionally, or alternatively, Figure 7 one or more process blocks of the process 700 can be performed by one or more components of the device 400, such as the processor 420, the memory 430, the input component 440, the output component 450, and / or the communication component 460; one or more components of the device 500, such as the input component 510, the switching component 520, the output component 530, and / or the controller 540; and / or one or more components of another device.
[0085] As shown in Figure 7 the process 700 can include sending, to the DBNG control plane system, an association setup request message (block 710). For example, the DBNG user plane device can send the association setup request message to the DBNG control plane system, as described above. In some implementations, the association setup request message is sent via a state control interface between the DBNG control plane system and the DBNG user plane device.
[0086] Also as shown in Figure 7 As shown in FIG. 7, process 700 can include receiving, from the DBNG control plane system, an association setup response message after transmitting the association setup request message (block 720). For example, the DBNG user plane device can receive, from the DBNG control plane system, an association setup response message after transmitting the association setup request message, as described above.
[0087] Also as Figure 7 As shown in FIG. 7, process 700 can include communicating with the DBNG control plane system via the state control interface between the DBNG control plane system and the DBNG user plane device and one or more additional state control interfaces based on receiving the association setup response message (block 730). For example, the DBNG user plane device can communicate with the DBNG control plane system via the state control interface between the DBNG control plane system and the DBNG user plane device and one or more additional state control interfaces based on receiving the association setup response message, as described above. In some implementations, the one or more additional state control interfaces are established based on the DBNG user plane device transmitting the association setup request message to the DBNG control plane system.
[0088] Process 700 can include additional implementations, such as any single implementation or any combination of implementations described below and / or in connection with one or more other processes described elsewhere herein.
[0089] In a first implementation, process 700 includes communicating a first set of messages associated with a first message type via the state control interface and communicating a second set of messages associated with a second message type via at least one of the one or more additional state control interfaces.
[0090] In a second implementation, alone or in combination with the first implementation, the one or more additional state control interfaces include a first set of additional state control interfaces and a second set of additional state control interfaces, where process 700 includes communicating node-related messages via the state control interface, communicating session-related messages via the first set of additional state control interfaces, and communicating report-related messages via the second set of additional state control interfaces.
[0091] In a third implementation, alone or in combination with one or more of the first and second implementations, process 700 includes transmitting respective heartbeat messages to the DBNG control plane system via the state control interface and the one or more additional state control interfaces.
[0092] In a fourth implementation, alone or in combination with one or more of the first through third implementations, each of the state control interface and the one or more additional state control interfaces is associated with a microservice of the one or more microservices of the DBNG user plane device.
[0093] In a fifth implementation, alone or in combination with one or more of the first through fourth implementations, the association setup request message indicates a number of state control interfaces that the DBNG user plane device is capable of supporting.
[0094] In a sixth implementation, alone or in combination with one or more of the first through fifth implementations, the process 700 includes, prior to communicating with the DBNG control plane system and based on the association setup response message, determining identification information associated with one or more ports of the DBNG control plane system, the one or more ports respectively associated with the one or more additional state control interfaces; and causing the one or more ports of the DBNG user plane device to be respectively assigned for the one or more additional state control interfaces based on the identification information.
[0095] Although Figure 7 Example blocks of the process 700 are shown, but in some implementations, the process 700 can include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those shown in FIG. 8. Additionally, or alternatively, two or more of the blocks of the process 700 can be performed in parallel. Figure 7
[0096] Figure 8 is a flow diagram of an example process 800 associated with establishing a plurality of state control interfaces between a DBNG control plane system and a DBNG user plane device. In some implementations, Figure 8 One or more process blocks of the process 800 can be performed by the DBNG control plane system (e.g., the DBNG control plane system 330). In some implementations, Figure 8 One or more process blocks of the process 800 can be performed by another device or a group of devices separate from or including the DBNG control plane system, such as the DBNG user plane device (e.g., the DBNG user plane device 320). Additionally or alternatively, Figure 8 One or more process blocks of the process 800 can be performed by one or more components of the device 400, such as the processor 420, the memory 430, the input component 440, the output component 450, and / or the communication component 460; one or more components of the device 500, such as the input component 510, the switching component 520, the output component 530, and / or the controller 540; and / or one or more components of another device.
[0097] As Figure 8 As shown in FIG. 8, process 800 can include receiving, via a state control interface between the DBNG control plane system and a DBNG user plane device, an association setup request message from the DBNG user plane device (block 810). For example, the DBNG control plane system can receive, via the state control interface between the DBNG control plane system and the DBNG user plane device, the association setup request message from the DBNG user plane device, as described above.
[0098] Also as Figure 8 As shown in FIG. 8, process 800 can include causing, based on the association setup request message, a set of additional state control interfaces to be established between the DBNG control plane system and the DBNG user plane device (block 820). For example, the DBNG control plane system can cause, based on the association setup request message, the set of additional state control interfaces to be established between the DBNG control plane system and the DBNG user plane device, as described above.
[0099] Process 800 can include additional implementations, such as any individual implementation or any combination of implementations described below and / or in connection with one or more other processes described elsewhere herein.
[0100] In a first implementation, process 800 includes communicating, via the state control interface, a first set of messages associated with a first message type, and communicating, via at least some of the set of additional state control interfaces, a second set of messages associated with a second message type.
[0101] In a second implementation, alone or in combination with the first implementation, process 800 includes receiving, via another state control interface between the DBNG control plane system and another DBNG user plane device, another association setup request message from the other DBNG user plane device, and causing, based on the other association setup request message, another set of additional state control interfaces to be established between the DBNG control plane system and the other DBNG user plane device.
[0102] In a third implementation, alone or in combination with one or more of the first and second implementations, process 800 includes communicating, via the state control interface, a first set of messages associated with a first message type, communicating, via at least some of the set of additional state control interfaces, a second set of messages associated with a second message type, communicating, via the other state control interface, a third set of messages associated with the first message type, and communicating, via at least some of the other set of additional state control interfaces, a fourth set of messages associated with the second message type.
[0103] In a fourth implementation, alone or in combination with one or more of the first through third implementations, each of the state control interface and the other state control interfaces is associated with a first microservice of the DBNG control plane system, and at least some of the additional state control interfaces and at least some of the other additional state control interfaces are associated with a second microservice of the DBNG control plane system.
[0104] Although Figure 8 The example blocks of the process 800 are illustrated in a particular order. In some implementations, one or more of the blocks can be performed in a different order. Additionally or alternatively, one or more of the blocks can be performed concurrently. Figure 8 The process 800 can include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those shown in FIG. 8. Additionally or alternatively, two or more of the blocks of the process 800 can be performed in parallel.
[0105] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit implementations to the precise form disclosed. Modifications and variations can be possible in light of the above disclosure or can be acquired from practice of the implementations.
[0106] As used herein, traffic or content can include 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 segment, a message, a block, a frame (e.g., an Ethernet frame), a portion of any of the above, and / or another type of formatted or unformatted data unit capable of being transported via a network.
[0107] As used herein, the term "component" is intended to be broadly interpreted to encompass hardware, firmware, or a combination of hardware and software. It is clear that the systems and / or methods described herein can be implemented in different forms of hardware, firmware, 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 without reference to specific software code — it being understood that software and hardware can be used to implement the systems and / or methods, based on the description herein.
[0108] Although specific combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features can be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each dependent claim listed below can directly depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with every other claim in the claim set. As used in this document, the phrase “at least one of” followed by a list of items means any combination of those items, including single members. As an 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 with multiples of the same item (e.g., a-a, a-a-a, a-b-a, a-c-a, b-b, b-b-b, b-c-b, c-c, and c-c-c or any other ordering of a, b, and c). No element, act, or instruction used in the description of the implementations of the application should be construed as critical or essential unless explicitly described as such. Also, as used in this document, the articles “a,” “an,” and “one” are intended to include one or more items, and can be used interchangeably with “one or more.” Furthermore, as used in this document, the article “the” is intended to include one or more items unless otherwise clearly indicated by context. Additionally, as used in this document, the terms “has,” “have,” “having,” “with,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. Also, as used in this document, the term “or” is intended to be inclusive when used in a series of items (e.g., “a, b, or c” or “a, b, and c”) unless explicitly indicated otherwise (e.g., if used in the context “either a, b, or c, but not both”).
[0109] Example 1. A method comprising: receiving, by a disaggregated broadband network gateway (DBNG) control plane system, an association setup request message from a DBNG user plane device, wherein the association setup request message is received via a state control interface between the DBNG control plane system and the DBNG user plane device; determining, by the DBNG control plane system, one or more capabilities of the DBNG user plane device based on the association setup request message; and causing, by the DBNG control plane system, one or more additional state control interfaces to be established between the DBNG control plane system and the DBNG user plane device based on determining the one or more capabilities of the DBNG user plane device.
[0110] Example 2. The method of example 1, further comprising: communicating, via the state control interface, a first set of messages associated with a first message type; and communicating, via at least one of the one or more additional state control interfaces, a second set of messages associated with a second message type.
[0111] Example 3. The method of example 1, wherein the one or more additional state control interfaces comprise a first set of additional state control interfaces and a second set of additional state control interfaces, and wherein the method further comprises: communicating, via the state control interface, node-related messages; communicating, via the first set of additional state control interfaces, session-related messages; and communicating, via the second set of additional state control interfaces, report-related messages.
[0112] Example 4. The method of example 1, further comprising: sending, via the state control interface and the one or more additional state control interfaces, respective heartbeat messages to the DBNG user plane device.
[0113] Example 5. The method of example 1, further comprising: determining that a heartbeat timeout time interval has expired in the absence of the DBNG control plane system receiving at least one heartbeat message from the DBNG user plane device via a particular state control interface of the state control interface and the one or more additional state control interfaces; and causing the particular state control interface to be released based on the determination that the heartbeat timeout time interval has expired.
[0114] Example 6. The method of example 1, wherein each of the state control interface and the one or more additional state control interfaces is associated with a microservice of the one or more microservices of the DBNG control plane system.
[0115] Example 7. The method of example 1, wherein the one or more capabilities indicate a number of state control interfaces that the DBNG user plane device is capable of supporting.
[0116] Example 8. The method of example 1, wherein causing the one or more additional state control interfaces to be established comprises: determining, based on the one or more capabilities of the DBNG user plane device, a number of state control interfaces that the DBNG user plane device is capable of supporting; causing one or more ports of the DBNG control plane system to be respectively assigned for the one or more additional state control interfaces based on the number of state control interfaces that the DBNG user plane device is capable of supporting; and sending, via the state control interface, an association setup response message, the association setup response message including identification information associated with the one or more ports.
[0117] Example 9. A disaggregated broadband network gateway (DBNG) user plane device comprising: one or more memories; and one or more processors to: send an association setup request message to a DBNG control plane system, wherein the association setup request message is sent via a state control interface between the DBNG control plane system and the DBNG user plane device; after sending the association setup request message, receive an association setup response message from the DBNG control plane system; and based on receiving the association setup response message, communicate with the DBNG control plane system via the state control interface between the DBNG control plane system and the DBNG user plane device and one or more additional state control interfaces, wherein the one or more additional state control interfaces are established based on the DBNG user plane device sending the association setup request message to the DBNG control plane system.
[0118] Example 10. The DBNG user plane device of example 9, wherein the one or more processors are further to: communicate a first set of messages associated with a first message type via the state control interface; and communicate a second set of messages associated with a second message type via at least one of the one or more additional state control interfaces.
[0119] Example 11. The DBNG user plane device of example 9, wherein the one or more additional state control interfaces comprise a first set of additional state control interfaces and a second set of additional state control interfaces, wherein the one or more processors are further to: communicate node-related messages via the state control interface; communicate session-related messages via the first set of additional state control interfaces; and communicate report-related messages via the second set of additional state control interfaces.
[0120] Example 12. The DBNG user plane device of example 9, wherein the one or more processors are further to: send respective heartbeat messages to the DBNG control plane system via the state control interface and the one or more additional state control interfaces.
[0121] Example 13. The DBNG user plane device of example 9, wherein each of the state control interface and the one or more additional state control interfaces is associated with a microservice of one or more microservices of the DBNG user plane device.
[0122] Example 14. The DBNG user plane device of example 9, wherein the association setup request message indicates a number of state control interfaces that the DBNG user plane device is capable of supporting.
[0123] Example 15. The DBNG user plane device of Example 9, wherein the one or more processors are further to: determine, based on the association setup response message, identification information associated with one or more ports of the DBNG control plane system prior to communicating with the DBNG control plane system, the one or more ports respectively associated with the one or more additional state control interfaces; and cause the one or more ports of the DBNG user plane device to be respectively assigned for the one or more additional state control interfaces based on the identification information.
[0124] Example 16. 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 a disaggregated broadband network gateway (DBNG) control plane system, cause the DBNG control plane system to: receive, via a state control interface between the DBNG control plane system and a DBNG user plane device, an association setup request message from the DBNG user plane device; and cause a set of additional state control interfaces to be established between the DBNG control plane system and the DBNG user plane device based on the association setup request message.
[0125] Example 17. The non-transitory computer-readable medium of Example 16, wherein the one or more instructions further cause the DBNG control plane system to: communicate a first set of messages associated with a first message type via the state control interface; and communicate a second set of messages associated with a second message type via at least some of the set of additional state control interfaces.
[0126] Example 18. The non-transitory computer-readable medium of Example 16, wherein the one or more instructions further cause the DBNG control plane system to: receive, via another state control interface between the DBNG control plane system and another DBNG user plane device, another association setup request message from the another DBNG user plane device; and cause another set of additional state control interfaces to be established between the DBNG control plane system and the another DBNG user plane device based on the another association setup request message.
[0127] Example 19. The non-transitory computer-readable medium of Example 18, wherein the one or more instructions further cause the DBNG control plane system to: communicate a first set of messages associated with a first message type via the state control interface; communicate a second set of messages associated with a second message type via at least some of the set of additional state control interfaces; communicate a third set of messages associated with the first message type via the another state control interface; and communicate a fourth set of messages associated with the second message type via at least some of the another set of additional state control interfaces.
[0128] Example 20. The non-transitory computer-readable medium of Example 18, wherein: each of the state control interface and the other state control interface is associated with a first microservice of the DBNG control plane system; and at least some of the additional set of state control interfaces and at least some of the other additional set of state control interfaces are associated with a second microservice of the DBNG control plane system.
Claims
1. A method for communicating a set of messages, comprising: receiving, by a disaggregated broadband network gateway (DBNG) control plane system, an association setup request message from a DBNG user plane device, wherein the association setup request message is received via a state control interface between the DBNG control plane system and the DBNG user plane device; determining, by the DBNG control plane system, one or more capabilities of the DBNG user plane device based on the association setup request message; causing, by the DBNG control plane system, one or more additional state control interfaces to be established between the DBNG control plane system and the DBNG user plane device based on determining the one or more capabilities of the DBNG user plane device; communicating a first set of messages associated with a first message type via the state control interface; and communicating a second set of messages associated with a second message type via at least one of the one or more additional state control interfaces.
2. The method of claim 1, wherein the one or more additional state control interfaces comprise a first set of additional state control interfaces and a second set of additional state control interfaces, and wherein the method further comprises: communicating node-related messages via the state control interface; communicating session-related messages via the first set of additional state control interfaces; and communicating report-related messages via the second set of additional state control interfaces.
3. The method of claim 1, further comprising: sending respective heartbeat messages to the DBNG user plane device via the state control interface and the one or more additional state control interfaces.
4. The method of claim 1, further comprising: determining that a heartbeat timeout time interval has expired in the absence of the DBNG control plane system receiving at least one heartbeat message from the DBNG user plane device over a particular state control interface of the state control interface and the one or more additional state control interfaces; and causing the particular state control interface to be released based on determining that the heartbeat timeout time interval has expired.
5. The method of claim 1, wherein each of the state control interface and the one or more additional state control interfaces is associated with a microservice of one or more microservices of the DBNG control plane system.
6. The method of claim 1, wherein the one or more capabilities indicate a number of state control interfaces that the DBNG user plane device is capable of supporting.
7. The method of claim 1, wherein causing the one or more additional state control interfaces to be established comprises: determining, based on the one or more capabilities of the DBNG user plane device, a number of state control interfaces that the DBNG user plane device is capable of supporting; causing one or more ports of the DBNG control plane system to be respectively assigned for the one or more additional state control interfaces based on the number of state control interfaces that the DBNG user plane device is capable of supporting. and sending, via the state control interface, an association setup response message including identification information associated with the one or more ports.
8. A disaggregated broadband network gateway (DBNG) user plane device comprising: one or more memories; and one or more processors to: send, to a DBNG control plane system, an association setup request message, wherein the association setup request message is sent via a state control interface between the DBNG control plane system and the DBNG user plane device; after sending the association setup request message, receive an association setup response message from the DBNG control plane system; based on receiving the association setup response message, communicate with the DBNG control plane system via the state control interface and one or more additional state control interfaces between the DBNG control plane system and the DBNG user plane device, communicate, via the state control interface, a first set of messages associated with a first message type; and communicate, via at least one of the one or more additional state control interfaces, a second set of messages associated with a second message type wherein the one or more additional state control interfaces are established based on the DBNG user plane device sending the association setup request message to the DBNG control plane system.
9. The DBNG user plane device of claim 8, wherein the one or more additional state control interfaces comprise a first set of additional state control interfaces and a second set of additional state control interfaces, wherein the one or more processors are further to: communicate, via the state control interface, node-related messages; communicate, via the first set of additional state control interfaces, session-related messages; and communicate, via the second set of additional state control interfaces, report-related messages.
10. The DBNG user plane device of claim 8, wherein the one or more processors are further to: send respective heartbeat messages to the DBNG control plane system via the state control interface and the one or more additional state control interfaces.
11. The DBNG user plane device of claim 8, wherein each of the state control interface and the one or more additional state control interfaces is associated with a microservice of one or more microservices of the DBNG user plane device.
12. The DBNG user plane device of claim 8, wherein the association setup request message indicates a number of state control interfaces that the DBNG user plane device is capable of supporting.
13. The DBNG user plane device of claim 8, wherein the one or more processors are further to: prior to communicating with the DBNG control plane system, determine, based on the association setup response message, identification information associated with one or more ports of the DBNG control plane system, the one or more ports respectively associated with the one or more additional state control interfaces; and based on the identification information, causing one or more ports of the DBNG user plane device to be respectively assigned for the one or more additional state control interfaces.
14. 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 a disaggregated broadband network gateway (DBNG) control plane system, cause the DBNG control plane system to: receive, via a state control interface between the DBNG control plane system and a DBNG user plane device, an association setup request message from the DBNG user plane device; based on the association setup request message, cause a set of additional state control interfaces to be established between the DBNG control plane system and the DBNG user plane device; communicate, via the state control interface, a first set of messages associated with a first message type; and communicate, via at least some of the set of additional state control interfaces, a second set of messages associated with a second message type.
15. The non-transitory computer-readable medium of claim 14, wherein the one or more instructions further cause the DBNG control plane system to: receive, via another state control interface between the DBNG control plane system and another DBNG user plane device, another association setup request message from the another DBNG user plane device; and based on the another association setup request message, cause another set of additional state control interfaces to be established between the DBNG control plane system and the another DBNG user plane device.
16. The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the DBNG control plane system to: communicate, via the state control interface, a first set of messages associated with a first message type; communicate, via at least some of the set of additional state control interfaces, a second set of messages associated with a second message type; communicate, via the another state control interface, a third set of messages associated with the first message type; and communicate, via at least some of the another set of additional state control interfaces, a fourth set of messages associated with the second message type.
17. The non-transitory computer-readable medium of claim 15, wherein: each of the state control interface and the another state control interface is associated with a first microservice of the DBNG control plane system; and at least some of the set of additional state control interfaces and at least some of the another set of additional state control interfaces are associated with a second microservice of the DBNG control plane system.