Dynamic bandwidth capacity control for enterprises

CN119485512BActive Publication Date: 2026-09-18HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410442156.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2023-08-08
Filing Date
2024-04-12
Publication Date
2026-09-18
Estimated Expiration
2044-04-12

Smart Images

  • Figure CN119485512B_ABST
    Figure CN119485512B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to dynamic bandwidth capacity control for enterprises. Systems and methods provide an affordable private bandwidth reservation and control solution for enterprises, which can be implemented using 5G and 4G core equipment. That is, an enterprise can purchase / subscribe to a predetermined amount of bandwidth (e.g., 1 Gbps), and a communication service provider (CSP) will reserve that predetermined amount of bandwidth for connected client devices of the enterprise that meet a set of criteria defined by the enterprise / CSP (i.e., a dynamic bandwidth capacity control (DBCC) group criteria). Client devices that meet the DBCC group criteria can be “bound” to a DBCC group session. If a bound client device no longer meets the DBCC group criteria, the client device can be unbound from the DBCC group session. As client devices bind and unbind from the DBCC group session, examples can dynamically modify an aggregate bandwidth capacity control policy that defines bandwidth allocation for client devices bound to the DBCC group session.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] Best-effort delivery is a common network configuration protocol used in the consumer market. Under best-effort delivery, the Communication Service Provider (CSP) does not guarantee the quality of service or bandwidth for users. Generally, networks using best-effort delivery will serve users according to the order in which they request bandwidth. Consequently, the network performance experienced by the user (e.g., network latency, packet loss, delay, etc.) may vary based on factors such as network traffic load and network device capacity.

[0002] The network slicing concept introduced by the 5G standard provides enterprises with an alternative to best-effort delivery. Network slicing can refer to the creation and operation of multiple virtual networks (i.e., network slices) on a public physical network. For example, 5G equipment / infrastructure can be "divided" into network slices (e.g., 5% of a specific antenna capacity can be allocated to a specific network slice, 5% of the connections that connect antennas to the core 5G infrastructure can be allocated to a network slice, 5% of the core 5G equipment associated with the connections can be allocated to a network slice, and so on).

[0003] Network slices within a 5G network can be dedicated to specific use cases and / or customers (e.g., enterprises). For example, an enterprise can pay / contract with a CSP to obtain a "slice" of its 5G network dedicated to the enterprise. A network slice can include an end-to-end network tailored to meet the specific requirements requested by the enterprise. For this reason, network slices are sometimes considered a private (or quasi-private) 5G network solution for an enterprise. Attached Figure Description

[0004] This disclosure is described in detail with reference to the following figures, based on one or more various examples. The figures are provided for illustrative purposes only and are merely examples.

[0005] Figure 1 Examples of network deployments that can be implemented for enterprises are shown, based on various currently disclosed technologies.

[0006] Figure 2 Examples of policy control function (PCF) systems that can be used to implement dynamic bandwidth capacity control (DBCC) are shown, based on various examples of currently disclosed technologies.

[0007] Figure 3 Example state transition representations for DBCC group sessions are shown, based on various examples of currently disclosed technologies.

[0008] Figure 4Example computing components that can be used to implement DBCC are shown, based on various currently disclosed technologies.

[0009] Figure 5 Another example computational component that can be used to implement DBCC is shown, based on various examples of currently disclosed technologies.

[0010] Figure 6 A block diagram depicts an example computer system in which the various examples described herein can be implemented.

[0011] The accompanying drawings are not exhaustive and do not limit this disclosure to the precise form disclosed. Detailed Implementation

[0012] As mentioned above, network slicing provides enterprises with an alternative to best-effort delivery. For example, enterprises can pay / contract with a CSP to obtain a "slice" of their dedicated 5G network. A network slice can include an end-to-end network tailored to meet the specific requirements requested by the enterprise. For this reason, network slicing is sometimes considered a private (or quasi-private) 5G network solution for enterprises.

[0013] While network slicing may be an attractive new solution for some large enterprises, it can be prohibitively expensive for many small and medium-sized enterprises (SMEs). This is partly because the equipment and other resources required to expand 5G networks can be costly. Correspondingly, the resources required to operate and maintain network slices can be substantial. Consequently, network slicing solutions are typically only economically viable for large enterprises that can afford and benefit from such large investments in equipment and resources. More traditional private networks (i.e., standalone networks consisting entirely of equipment dedicated to specific users / enterprises) require similar investments and are therefore often unsuitable solutions for SMEs.

[0014] Implementing network slicing also presents challenges from a CSP's perspective. For example, many CSPs continue to operate 4G networks utilizing 4G core equipment and 4G+5G hybrid networks (sometimes referred to as "non-standalone 5G networks"). Generally, 4G core equipment does not support network slicing. Consequently, many CSPs can only implement network slicing using a subset of their core equipment, which can limit the availability and performance of network slicing solutions.

[0015] For at least the reasons mentioned above, there is a need for alternative solutions to network slicing and traditional private networks: (a) that are more affordable and easier to implement for small and medium-sized enterprises; and (b) that can be implemented using traditional 4G core equipment currently utilized by many CSPs.

[0016] In this context, currently available examples of technologies provide enterprises with an affordable solution for private bandwidth reservation and control, which can be implemented using 5G and 4G core equipment. That is, an enterprise can purchase / subscribe to a predetermined amount of bandwidth (e.g., 1Gbps), and the CSP will reserve that predetermined bandwidth for client devices connected to the enterprise that meet a set of standards defined by the enterprise / CSP. Such standards can be referred to as Dynamic Bandwidth Capacity Control (DBCC) group standards. Examples of DBCC group standards may include: (1) the client device is connected to the network; (2) the connected client device is a registered client device of the enterprise; (3) the connected client device connects between 7:00 AM and 6:00 PM; and (4) the connected client device is within a defined geographic area (e.g., the enterprise's location). Accordingly, client devices that meet the DBCC group standard can be "bound" to a DBCC group session. If the bound client device no longer meets the DBCC group standard (e.g., the client device disconnects from the network, or the client device leaves the enterprise's location), the client device can be unbound from the DBCC group session.

[0017] When client devices bind to and unbind from a DBCC group session, the example can dynamically modify the aggregate bandwidth capacity control policy, which defines the bandwidth allocation for client devices bound to the DBCC group session. For example, if a client device unbinds from the DBCC group session, the example can modify the aggregate bandwidth capacity control policy so that the remaining bound client devices are allocated a larger share of the reserved bandwidth (e.g., 1Gbps) for client devices bound to the DBCC group session. Conversely, if a new client device binds to the DBCC group session, the example can modify the aggregate bandwidth capacity control policy so that the bound client device is allocated a smaller share of the reserved bandwidth (e.g., 1Gbps) for client devices bound to the DBCC group session.

[0018] Examples of currently disclosed technologies can be implemented by a CSP's Policy Control Function (PCF) system (as used herein, a PCF system can refer to a system and / or network function that manages access to network resources, governs network behavior, and / or implements dynamic control over network quality of service). A PCF system can: (1) receive a request for a client device to initiate a network session; (2) bind the client device to a DBCC group session in response to determining that the requested network session matches the Dynamic Bandwidth Capacity Control (DBCC) group standard; (3) modify the aggregate bandwidth capacity control policy defining bandwidth allocation for the client device bound to the DBCC group session in response to binding the client device to the DBCC group session, wherein the aggregate bandwidth capacity control policy includes a predetermined total amount of bandwidth reserved for the client device bound to the DBCC group session; and (4) send instructions, according to the modified aggregate bandwidth capacity control policy, to reduce bandwidth allocation for at least one other client device that was previously bound to the DBCC group session. In various examples, in response to a client device unbinding from a DBCC group session, the PCF system may: (1) modify the aggregated bandwidth capacity control policy; and (2) send instructions, based on the modified aggregated bandwidth capacity control policy, to increase bandwidth allocation for at least one other client device still bound to the DBCC group session. As mentioned above, the DBCC group standard may be enterprise-specific (e.g., small and medium-sized enterprises). In these examples, the DBCC group standard may include at least one of the following criteria: (a) the client device is connected to the network associated with the network session; (b) the client device is connected to the network within a specified time interval (e.g., between 7:00 AM and 6:00 PM); (c) the client device is connected to the network in a specified geographic area (e.g., the enterprise's location); and (d) the client device is a registered client device of the enterprise. In various examples, the request for the client device to initiate a network session may be received from a network function (e.g., a 5G SMF network function or a 4G PCEF network function). Similarly, instructions to reduce bandwidth allocation for at least one other client device previously bound to the DBCC group session may be sent to the network function. As mentioned above, network functions can be associated with 4G or 5G network infrastructure.

[0019] As stated above, the currently disclosed examples of technology offer an affordable alternative to network slicing. This is partly because the currently disclosed examples of technology do not involve “slicing” (i.e., allocating / investing) a certain percentage of core 5G infrastructure for private enterprises. Instead, they reserve / guarantee a certain amount of bandwidth for client devices connected to enterprises that meet the standards set defined by the enterprise / operator (i.e., DBCC group standards). This is a subtle but important distinction. Furthermore, unlike network slicing, which can only be implemented on standalone 5G core equipment / networks, the currently disclosed examples of technology can be implemented using 4G core equipment / networks and non-standalone 5G core equipment / networks (i.e., 4G+5G hybrid networks). Accordingly, the currently disclosed examples of technology can more efficiently (and more cheaply) utilize existing core equipment / infrastructure currently operated by many CSPs.

[0020] Examples of the currently disclosed technology will now be described in more detail with reference to the following figures.

[0021] First, it may be useful to describe the network or system in which the above-mentioned dynamic bandwidth capacity control method can be implemented. Figure 1 An example network deployment 100 that can be implemented for an enterprise, such as a business, educational institution, government entity, medical facility, or other organization, is shown. The diagram illustrates an example configuration implemented for an enterprise with multiple users (or at least multiple client devices 110) at geographic site 102.

[0022] Geographic site 102 may include a main network, which may be, for example, an office network, a home network, or other network devices. The geographic site 102 network may be a private network, such as a network that may include security and access controls to restrict access to authorized users of the private network. For example, authorized users may include enterprise employees, residential residents, enterprise customers, etc., at geographic site 102. In the illustrated example, geographic site 102 includes a controller 104 that communicates with network 120. As shown, in various examples, controller 104 may communicate with network function 120a associated with network 120. Controller 104 may provide communication between geographic site 102 and network 120, although it may not be the only point of communication between geographic site 102 and network 120. Although geographic site 102 may include multiple controllers and / or multiple communication points network 120, a single controller 104 is shown. In some examples, controller 104 communicates with network 120 via a router (not shown). In other examples, controller 104 provides router functionality to devices in geographic site 102.

[0023] Controller 104 may be operable to configure and manage network devices (e.g., at geographic site 102). Controller 104 may be operable to configure and / or manage switches, routers, access points, and / or client devices connected to the network. Controller 104 itself may be an access point or provide access point functionality.

[0024] Controller 104 can communicate with one or more switches 108 and / or wireless access points (APs) 106a-106c. Switches 108 and wireless APs 106a-106c provide network connectivity to various client devices 110a-110j. Using the connection to switch 108 or APs 106a-106c, client devices 110a-110j can access network resources, including geographic site 102 and other devices on network 120.

[0025] Examples of client devices may include: desktop computers, laptop computers, servers, web servers, authentication servers, authentication-authorization-accounting (AAA) servers, Domain Name System (DNS) servers, Dynamic Host Configuration Protocol (DHCP) servers, Internet Protocol (IP) servers, Virtual Private Network (VPN) servers, network policy servers, mainframes, tablet computers, e-readers, netbooks, televisions and similar monitors (e.g., smart TVs), content receivers, set-top boxes, personal digital assistants (PDAs), mobile phones, smartphones, smart terminals, dumb terminals, virtual terminals, video game consoles, virtual assistants, Internet of Things (IoT) devices, etc.

[0026] Within geographic site 102, switch 108 is included as an example of an access point for the network established in geographic site 102 for wired client devices 110i-110j. Client devices 110i-110j can connect to switch 108 and access other devices within network deployment 100 through switch 108. Client devices 110i-110j can also access network 120 through switch 108. Client devices 110i-110j can communicate with switch 108 via a wired connection 112. In the example shown, switch 108 communicates with controller 104 via a wired connection 112, although this connection could also be wireless.

[0027] Wireless APs 106a-106c are included as another example of access points for a network established at geographic site 102 for client devices 110a-110h. Each of APs 106a-106c can be a combination of hardware, software, and / or firmware configured to provide wireless network connectivity to wireless client devices 110a-110h. In the example shown, APs 106a-106c can be managed and configured by controller 104. APs 106a-106c communicate with controller 104 and the network via connection 112, which can be a wired or wireless interface.

[0028] An Access Point (AP) generally refers to a networked device that allows wireless client devices to connect to a wireless network. An AP may include a processor, memory, and I / O interfaces, including wired network interfaces (such as IEEE 802.3 Ethernet interfaces) and wireless network interfaces (such as IEEE 802.11 Wi-Fi interfaces), although examples in this disclosure are not limited to these interfaces. An AP may include memory, including read-write memory (i.e., volatile memory) and a hierarchy of permanent memory (i.e., non-volatile memory) such as ROM, EPROM, and flash memory. Furthermore, as used herein, an AP may refer to a receiving point of any known or potentially known convenient wireless access technology. Specifically, the term AP is not intended to be limited to IEEE 802.11-based APs.

[0029] Network 120 can be a public or private network, such as the Internet, or other communication networks used to allow connection to geographic site 102 and access to servers 160a-160b. Network 120 can be implemented using CSP core equipment, such as telecommunications lines (e.g., telephone lines, coaxial cables, fiber optic cables, satellite communications, cellular communications, etc.), intermediate network equipment (e.g., switches, routers, gateways, servers, and / or controllers), etc. As mentioned above, the core equipment used to implement network 120 can include any combination of 4G and 5G core equipment.

[0030] As shown in the figure, network 120 may include / implement network function 120a. As used herein, network function may refer to a functional building block within the network infrastructure. In other words, the core infrastructure of the network can be decomposed into multiple microservices called network functions. Examples of network functions for 5G networks include core Access and Mobility Management Functions (AMF) and Session Management Functions (SMF) that can communicate with the Unified Data Manager (UDM). Examples of 4G network functions may include Policy and Charging Enforcement Functions (PCEF), Policy and Charging Rules Functions (PCRF), etc. Accordingly, network function 120a may include various types of 5G and / or 4G network functions. As mentioned above, these network functions can interact with the CSP's Policy Control Function (PCF) system (see, for example...). Figure 2 The network function 120a communicates with the CSP's PCF system 210 to implement dynamic bandwidth capacity control according to examples of currently disclosed technologies. For example, network function 120a can send a request to the CSP's PCF system for a client device to initiate a network session on network 120. Network function 120a can also receive instructions from the CSP's PCF system to modify the bandwidth allocation for client devices bound to the DBCC group session in response to other client devices binding to or unbinding from the DBCC group session. Network function 120a can then relay these instructions to the client devices via the aforementioned paths / mechanisms. Accordingly, the client devices can modify their policy settings / configurations based on the bandwidth allocation modification instructions.

[0031] Figure 2 An example Policy Control Function (PCF) system 210, which can be used to implement dynamic bandwidth capacity control according to various examples of the disclosed technology, is shown. As shown, the PCF system 210 can be implemented via a network 200. The network 200 can be a 4G network, a 4G+5G hybrid network (sometimes called a non-standalone 5G network), a 5G network, etc. In various examples, the network 200 can be combined with... Figure 1 The network described is the same as / similar to network 120.

[0032] As described above, the currently disclosed examples of technology provide enterprises with an affordable solution for private bandwidth reservation and control, which can be implemented using 4G and 5G core equipment (e.g., the 4G and / or 5G core equipment used to implement network 200). That is, an enterprise (e.g., enterprise 250) can purchase / subscribe to a predetermined amount of bandwidth (e.g., 1Gbps), and the CSP will reserve that predetermined bandwidth for client devices connected to the enterprise that meet the set of standards defined by the enterprise / CSP (e.g., DBCC group standard 212). This standard can be referred to as a Dynamic Bandwidth Capacity Control (DBCC) group standard. Accordingly, client devices that meet this DBCC group standard can be "bound" to a DBCC group session (e.g., DBCC group session 214). If the bound client device no longer meets the DBCC group standard (e.g., the client device disconnects from network 200, or the client device leaves the location of enterprise 250), the client device can be unbound from the DBCC group session. When client devices bind to and unbind from a DBCC group session, the example (e.g., DBCC group controller 216) can dynamically modify the aggregate bandwidth capacity control policy, which defines the bandwidth allocation for client devices bound to the DBCC group session. For example, if a client device unbinds from the DBCC group session, the example can modify the aggregate bandwidth capacity control policy such that the remaining bound client devices are allocated a larger share of the predetermined bandwidth (e.g., 1Gbps) reserved for client devices bound to the DBCC group session. Conversely, if a new client device binds to the DBCC group session, the example can modify the aggregate bandwidth capacity control policy such that the bound client device is allocated a smaller share of the predetermined bandwidth (e.g., 1Gbps) reserved for client devices bound to the DBCC group session.

[0033] As described above, examples of currently disclosed technologies can be implemented using a CSP's PCF system. As used herein, a PCF system can refer to a system and / or network function that manages access to network resources, governs network behavior, and / or implements dynamic control over network quality of service. For example, PCF system 210 can be a dual-mode network function that provides policy control for 4G networks, 4G+5G hybrid networks (sometimes referred to as non-standalone 5G networks), 5G networks, etc. Accordingly, PCF system 210 can support dynamic management of network policies (including bandwidth allocation policies), security policies, service policies, etc. In other words, PCF system 210 can act as a centralized policy decision point, governing business and managing user experience across different CSP services and enterprises.

[0034] As shown in the figure, PCF 210 may include DBCC group controller 216, which dynamically modifies the aggregate bandwidth capacity control policy that defines bandwidth allocation for client devices bound to DBCC group session 214. As mentioned above, the client devices bound to DBCC group session 214 may be client devices that meet DBCC group standard 212—DBCC group standard 212 may be stored by PCF system 210. DBCC group standard 212 may be enterprise-specific. For example, DBCC group standard 212 may be specific to enterprise 250 and may be defined by enterprise 250 and / or CSP providing network 200. Examples of standards for DBCC group standard 212 may include any one or a combination of the following: (1) connected to network 200; (2) connected to network 200 at specified time intervals; (3) connected to network 200 within a specified geographical area (e.g., the location of enterprise 250); and (4) being a registered client device of enterprise 250. In some examples, DBCC group standard 212 may also include rules / standards used by DBCC group controller 216 to determine aggregate bandwidth capacity control policies that define bandwidth allocation for client devices bound to DBCC group session 214. For example, DBCC group standard 212 may include a maximum bandwidth for each client device (e.g., 0.1 Gbps). As another example, DBCC group standard 212 may specify that certain client devices bound to DBCC group session 214 (e.g., client devices critical to the operation of enterprise 250) should be allocated a larger share of the predetermined bandwidth reserved for enterprise 250 (e.g., 1 Gbps) compared to other client devices bound to DBCC group session 214. In some examples, DBCC group standard 212 may specify that when client devices of enterprise 250 do not require the unallocated portion of bandwidth, the unallocated portion of the predetermined bandwidth reserved for enterprise 250 may be allocated to client devices outside of enterprise 250. For example, if 1Gbps of bandwidth is reserved for Enterprise 250, but (1) DBCC group standard 212 specifies a maximum bandwidth of 0.1Gbps per client device, and (2) only 56 client devices are bound to DBCC group session 214 at a given time—DBCC group standard 212 can specify that up to 0.24Gbps of bandwidth can be made available for client devices not associated with Enterprise 250 and / or DBCC group session 214. Here, 0.2Gbps (i.e., 1 - (0.56 + 0.24)) can still be reserved for Enterprise 250 to accommodate bursts of new client devices bound to DBCC group session 214.

[0035] In various examples, each client device bound to DBCC group session 214 may have its own associated network session connecting the client device to network 200. These network sessions may be independent of DBCC group session 214. DBCC group session 214 may be a group-level logical session used by DBCC group controller 216 to determine an aggregated bandwidth capacity control policy that defines bandwidth allocation for client devices (logically) bound to DBCC group session 214. Network sessions that meet / match DBCC group standard 212 and connect client devices to network 200 may be logically bound to DBCC group session 214. Conversely, network sessions that do not meet / match DBCC group standard 212 and connect client devices to network 200 may not be logically bound to DBCC group session 214. In some examples, DBCC group session 214 may include aggregated information for network sessions logically bound to it (sometimes referred to as selective joining network sessions). As mentioned above, selective joining network sessions may include network sessions that match DBCC group standard 212.

[0036] As described above, when a client device binds to and unbinds from DBCC group session 214, DBCC group controller 216 can dynamically modify the aggregated bandwidth capacity control policy that defines bandwidth allocation for client devices bound to DBCC group session 214. This modification generally affects client devices previously bound to DBCC group session 214 (in the case of new client devices binding to DBCC group session 214) and / or client devices still bound to DBCC group session 214 (in the case of previously bound client devices unbinding from DBCC group session 214). For example, in response to one or more new client devices binding to DBCC group session 214, DBCC group controller 216 can modify the aggregated bandwidth capacity control policy to reduce bandwidth allocation for client devices previously (and still) bound to DBCC group session 214. In other words, as more client devices bind to DBCC group session 214, the "bandwidth pie" can be reduced for these client devices. In contrast, in response to one or more client devices unbinding from DBCC group session 214, DBCC group controller 216 can modify the aggregate bandwidth capacity control policy to increase bandwidth allocation for client devices still bound to DBCC group session 214. In other words, as fewer client devices are bound to DBCC group session 214, the "bandwidth pie" can be increased for those client devices. In some examples, DBCC group controller 216 may not modify the aggregate bandwidth capacity control policy in response to every client device bound to or unbound from DBCC group session 214. Instead, DBCC group controller 216 may modify the aggregate bandwidth capacity control policy based on a numerical range of client devices bound to DBCC group session 214. For example, when 1-10 client devices are bound to DBCC group session 214, DBCC group controller 216 can control the first aggregated bandwidth capacity control policy; when 11-20 client devices are bound to DBCC group session 214, DBCC group controller 216 can control the second aggregated bandwidth capacity control policy; when 21-30 client devices are bound to DBCC group session 214, DBCC group controller 216 can control the third aggregated bandwidth capacity control policy, and so on. In other words, only a shift from one numerical range to another can trigger a modification of the aggregated bandwidth capacity control policy. This approach is more efficient than schemes that modify the aggregated bandwidth capacity control policy in response to every binding or unbinding of DBCC group session 214.

[0037] As described above, a client device (or a network session associated with the client device) can bind to DBCC group session 214 when it meets DBCC group standard 212. When a client device no longer meets DBCC group standard 212, it can unbind from DBCC group session 214. For example, if a client device leaves the location of enterprise 250, it may no longer meet DBCC group standard 212 and can unbind from DBCC group session 214. As another example, DBCC group standard 212 may require client devices to connect to network 200 between 7:00 AM and 6:00 PM. Accordingly, at 6:00 PM (or 6:01 PM, depending on the specific standard), all client devices bound to DBCC group session 214 can unbind. In various examples, DBCC group controller 216 can perform the binding and unbinding operations described above.

[0038] As shown in the figure, in response to modifying the aggregate bandwidth capacity control policy for DBCC group session 214, DBCC group controller 216 can send a DBCC policy update instruction 230 to network function 202. Accordingly, network function 202 can relay the DBCC policy update instruction 230 to the affected client devices of enterprise 250, and the affected client devices can adjust their bandwidth allocation configuration in response to the DBCC policy update instruction 230. As mentioned above, network function 202 can be a network function associated with network 200. For example, if network 200 is a 4G network, network function 202 may include a PCEF network function. If network 200 is a 5G network, the network function may include an SMF network function.

[0039] As shown in the figure, in some examples, network function 202 may send a DBCC group session initiation request 222 to PCF system 210. DBCC group session initiation request 222 may include a request to initiate a DBCC group session for one or more client devices that meet DBCC group standard 212. Similarly, network function 202 may send a DBCC group session update request 224 (e.g., to update the aggregate bandwidth capacity control policy for DBCC group session 214 in response to client device binding / unbinding) and / or a DBCC group session termination request 226 (e.g., to terminate DBCC group session 214) to PCF system 210. However, in other examples, DBCC group controller 216 may determine to initiate, modify / update, and / or terminate a DBCC group session without such a request.

[0040] Although Figure 2The specific example depicts only one DBCC group session, but the PCF system 210 / DBCC group controller 216 can manage any number of DBCC group sessions associated with any number of enterprises. As mentioned above, each of these DBCC group meetings / enterprises can have its own customized DBCC group standard.

[0041] Figure 3 An example state transition representation 300 for a Dynamic Bandwidth Capacity Control (DBCC) group session is shown, illustrating various examples according to the disclosed techniques. The operations depicted in state transition representation 300 can be performed by a CSP's PCF system (such as...). Figure 2 The PCF system 210) is executed.

[0042] For example, the PCF system might perform operation 302 to receive the first binding request for a DBCC group session. This could result in an idle state for the DBCC group session until the PCF system triggers a DBCC group session binding in operation 304. As shown in the figure, triggering a DBCC group session binding could result in a suspended state for the DBCC group session.

[0043] As shown in the figure, in some examples, a DBCC group session can be associated with a DBCC task. Accordingly, the PCF system can initiate a DBCC task in operation 306, resulting in a mediation state for the DBCC group session. Here, the DBCC task can be a process used to mediate the DBCC group session and the network session of individual client devices.

[0044] As shown in the figure, after initiating the DBCC task, the PCF system can perform various mediation operations. For example, mediation operations 308a and 308b can cause the DBCC task to be aborted—and return to the suspended state of the DBCC group session. In contrast, mediation operation 310 can cause the DBCC task to be completed and return to the idle state of the DBCC group session. Furthermore, mediation operation 312 can cause the DBCC group session to be frozen. When the abort count exceeds a threshold / maximum value, it means that the DBCC task has been interrupted too many times, which can trigger the frozen state. Entering the frozen state can reduce the impact on the network sessions of individual client devices, thereby reducing the possibility of re-authentication signaling storms in the network. Accordingly, the PCF system can reject new binding requests until the DBCC task is completed via operation 314, which can return the DBCC group session to the idle state.

[0045] As shown in the figure, starting from the idle state, the DBCC group session can be terminated by the final unbinding operation 316 and / or the DBCC session timeout operation 318.

[0046] Figure 4Example computing component 400, which can be used to implement dynamic bandwidth capacity control (DBCC), is shown according to various examples of the disclosed technology. Reference is now made to... Figure 4 The computing component 400 can be, for example, a server computer, a controller, or any other similar computing component capable of processing data. Figure 4 In the example implementation, computing component 400 includes a hardware processor 402 and a machine-readable storage medium 404. In various examples, computing component 400 can be integrated with a policy control function (PCF) system (e.g., Figure 2 It is associated with the PCF system 210.

[0047] Hardware processor 402 may be one or more central processing units (CPUs), semiconductor-based microprocessors, and / or other hardware devices suitable for retrieving and executing instructions stored in machine-readable storage medium 404. Hardware processor 402 may retrieve, decode, and execute instructions (such as instructions 406-412) to control processes or operations for burst preloading based on an estimate of available bandwidth. As an alternative to or supplement to retrieving and executing instructions, hardware processor 402 may include one or more electronic circuits, including electronic components for the function of executing one or more instructions, such as field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), or other electronic circuits.

[0048] Machine-readable storage media (such as machine-readable storage media 404) can be any electronic storage device, magnetic storage device, optical storage device, or other physical storage device that contains or stores executable instructions. Therefore, machine-readable storage media 404 can be, for example, random access memory (RAM), non-volatile RAM (NVRAM), electrically erasable programmable read-only memory (EEPROM), storage devices, optical discs, etc. In some embodiments, machine-readable storage media 404 can be a non-transitory storage medium, wherein the term "non-transitory" does not cover transient propagation signals. As described in detail below, machine-readable storage media 404 can be encoded with executable instructions (such as instructions 406-412).

[0049] Hardware processor 402 can execute instructions 406 to receive a request from a client device to initiate a network session. In various examples, the request from the client device to initiate a network session may be from a network function (e.g., Figure 2 The network function 202) is received. As mentioned above, the network function can be associated with 4G core equipment / infrastructure and / or 5G core equipment / infrastructure.

[0050] In response to determining that the requested network session matches the Dynamic Bandwidth Capacity Control (DBCC) grouping standard, the hardware processor 402 may execute instructions 408 to bind the client device to the DBCC grouping session. As described above, the DBCC grouping standard may be enterprise-specific and may be defined by the enterprise and / or the CSP providing services to the enterprise. Examples of DBCC groups may include: (1) the client device is connected to the network associated with the network session; (2) the client device is connected to the network at a specified time interval (e.g., 7:00 AM to 6:00 PM); (3) the client device is connected to the network in a specified geographic area (e.g., the enterprise's location); and / or (4) the client device is a registered client device of the enterprise.

[0051] In response to binding a client device to a DBCC group session, the hardware processor 402 may execute instruction 410 to modify the aggregate bandwidth capacity control policy that defines bandwidth allocation for client devices bound to the DBCC group session. As described above, the aggregate bandwidth capacity control policy may include a predetermined total amount of bandwidth (e.g., 1 Gbps) reserved for client devices bound to the DBCC group session.

[0052] According to the modified aggregated bandwidth capacity control policy, hardware processor 402 can execute instruction 412 to send an instruction to reduce bandwidth allocation for at least one other client device that was previously bound to the DBCC group session before this client device. In various examples, the instruction to reduce bandwidth allocation for at least one other client device that was previously bound to the DBCC group session before this client device can be sent to network functions (e.g., Figure 2 Network Functions (202).

[0053] In some examples, the hardware processor 402 may execute further instructions to: (1) modify the aggregated bandwidth capacity control policy in response to the client device unbinding from the DBCC group session; and (2) send instructions to increase the bandwidth allocation for at least one other client device that is still bound to the DBCC group session, based on the modified aggregated bandwidth capacity control policy.

[0054] Figure 5Another example computing component 500, which can be used to implement dynamic bandwidth capacity control, is described according to various examples of the disclosed technology. Reference is now made to... Figure 5 The computing component 500 can be, for example, a server computer, a controller, or any other similar computing component capable of processing data. Figure 5 In an example implementation, computing component 500 includes a hardware processor 502 and a machine-readable storage medium 504. Similar to computing component 400, computing component 500 can be integrated with a policy control function (PCF) system (e.g., Figure 2 It is associated with the PCF system 210.

[0055] The hardware processor 502 and the machine-readable storage medium 504 may be the same as or similar to the hardware processor 402 and the machine-readable storage medium 404, respectively. Accordingly, the machine-readable storage medium 504 may be encoded with executable instructions (such as instructions 506-508).

[0056] In response to a client device unbinding from a Dynamic Bandwidth Capacity Control (DBCC) session, hardware processor 502 may execute instruction 506 to modify the aggregate bandwidth capacity control policy that defines bandwidth allocation for client devices bound to a DBCC group session. The aggregate bandwidth capacity control policy may include a predetermined total bandwidth (e.g., 1 Gbps) reserved for client devices bound to a DBCC group session. Relatedly, all client devices bound to a DBCC group session may have network sessions that meet the DBCC group standard associated with the DBCC group session. As mentioned above, the DBCC group standard may be enterprise-specific. Examples of DBCC group standards may include: (1) being connected to a network associated with the DBCC group session; (2) being connected to the network at specified time intervals; (3) being connected to the network in a specified geographical area; and / or (4) being a registered client device of an enterprise.

[0057] According to the modified aggregated bandwidth capacity control policy, hardware processor 502 can execute instruction 508 to send an instruction to increase bandwidth allocation for at least one other client device still bound to the DBCC group session. In some examples, the instruction to increase bandwidth allocation for at least one other client device still bound to the DBCC group session can be sent to a network function (e.g., Figure 2 (Network Functions 202). As mentioned above, network functions can be associated with 4G core equipment / infrastructure and / or 5G core equipment / infrastructure.

[0058] In some examples, the hardware processor 502 may execute further instructions to: (1) receive a request for a second client device to initiate a network session; (2) bind the second client device to a DBCC group session in response to determining that the requested network session matches the DBCC group standard; (3) modify the aggregated bandwidth capacity control policy in response to binding the second client device to the DBCC group session; and (4) send instructions to reduce bandwidth allocation for at least one client device that was previously bound to a DBCC group session, based on the modified aggregated bandwidth capacity control policy. As described above, the request for a client device to initiate a network session may be from a network function (e.g., Figure 2 The network function 202) is received.

[0059] Figure 6 A block diagram of an example computer system 600 in which various embodiments described herein may be implemented is depicted. The computer system 600 includes a bus 602 or other communication mechanism for transmitting information, and one or more hardware processors 604 coupled to the bus 602 for processing information. The hardware processors 604 may be, for example, one or more general-purpose microprocessors.

[0060] Computer system 600 also includes main memory 606 (such as random access memory (RAM), cache, and / or other dynamic storage devices) coupled to bus 602 for storing information and instructions to be executed by processor 604. Main memory 606 can also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by processor 604. When these instructions are stored in storage media accessible to processor 604, computer system 600 becomes a dedicated machine customized to perform the operations specified in the instructions.

[0061] The computer system 600 also includes a read-only memory (ROM) 608 or other static storage device coupled to the bus 602 for storing static information and instructions of the processor 604. Storage devices 610 (such as disks, optical discs, or USB thumb drives (flash drives)) are provided and coupled to the bus 602 for storing information and instructions.

[0062] Computer system 600 may be coupled to display 612 (such as a liquid crystal display (LCD) or touchscreen) via bus 602 for displaying information to the computer user. Input device 614 (including alphanumeric keys and other keys) is coupled to bus 602 for transmitting information and command selections to processor 604. Another type of user input device is cursor control 616 (such as a mouse, trackball, or arrow keys) for transmitting directional information and command selections to processor 604 and for controlling cursor movement on display 612. In some embodiments, the same directional information and command selections as those of the cursor control may be implemented via receiving touches on the touchscreen without a cursor.

[0063] The computing system 600 may include a user interface module for implementing a GUI, which may be stored as executable software code executed by the computing device(s). As an example, this module and other modules may include components (such as software components, object-oriented software components, class components, and task components), processes, functions, properties, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.

[0064] Generally, the terms "component," "engine," "system," "database," and "data storage" used in this article can refer to logic embodied in hardware or firmware, or to a set of software instructions that may have entry and exit points, written in programming languages ​​such as Java, C, or C++. Software components can be compiled and linked into executable programs, installed in dynamic link libraries, or written in interpreted programming languages ​​such as BASIC, Perl, or Python. It will be understood that software components can be invoked from other components or from themselves, and / or can be invoked in response to detected events or interrupts. Software components configured to execute on a computing device can be provided on computer-readable media (such as compressed disks, digital video disks, flash drives, hard disks, or any other tangible media) or as digital downloads (and can initially be stored in compressed or installable formats that require installation, decompression, or decryption before execution). This software code can be stored, in part or in whole, on a memory device executing the computing device for execution by the computing device. Software instructions can be embedded in firmware, such as EPROM. It will also be understood that hardware components may consist of connected logic units (such as gates and flip-flops) and / or may consist of programmable units (such as programmable gate arrays or processors).

[0065] Computer system 600 may implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic. This custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic, combined with the computer system, enables computer system 600 to be a dedicated machine or to be programmed. According to one embodiment, computer system 600 performs the techniques described herein in response to processor(s) 604 executing one or more sequences of one or more instructions contained in main memory 606. These instructions may be read into main memory 606 from another storage medium, such as storage device 610. Execution of the instruction sequence contained in main memory 606 causes processor(s) 604 to perform the process steps described herein. In alternative embodiments, hardwired circuitry may be used in place of or in combination with software instructions.

[0066] As used herein, the term "non-transitory medium" and similar terms refer to any medium that stores data and / or instructions that cause a machine to operate in a particular manner. Such non-transitory medium can include non-volatile and / or volatile media. Non-volatile media include, for example, optical discs or magnetic disks, such as storage device 610. Volatile media include dynamic memory, such as main memory 606. Common forms of non-transitory media include, for example, floppy disks, collapsible disks, hard disks, solid-state drives, magnetic tape or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media with a perforated pattern, RAM, PROMs and EPROMs, FLASH-EPROMs, NVRAMs, any other memory chips or cassette tapes, and their network versions.

[0067] Non-transitory media differ from transmission media, but can be used in conjunction with transmission media. Transmission media participate in the transmission of information between non-transitory media. For example, transmission media include coaxial cables, copper wires, and optical fibers, including conductors containing bus 602. Transmission media can also take the form of sound waves or light waves, such as those generated during radio wave communication and infrared data communication.

[0068] Computer system 600 also includes a communication interface 618 coupled to bus 602. Network interface 618 provides bidirectional data communication coupled to one or more network links connected to one or more local networks. For example, communication interface 618 may be an Integrated Services Digital Network (ISDN) card, a cable modem, a satellite modem, or a modem for providing data communication connectivity to a corresponding type of telephone line. As another example, network interface 618 may be a local area network (LAN) card for providing data communication connectivity to a compatible LAN (or a WAN component communicating with a WAN). Wireless links may also be implemented. In any such implementation, network interface 618 transmits and receives electrical, electromagnetic, or optical signals carrying streams of digital data representing various types of information.

[0069] Network links typically provide data communication to other data devices via one or more networks. For example, a network link can provide a connection via a local network to a host or to data devices operated by an Internet Service Provider (ISP). ISPs, in turn, provide data communication services through a global packet data communication network now commonly referred to as the "Internet." Both local area networks (LANs) and the Internet use electrical, electromagnetic, or optical signals that carry digital data streams. Signals through various networks, as well as signals on network links and through communication interface 618, are example forms of transmission media carrying digital data to and from computer system 600.

[0070] Computer system 600 can send messages and receive data, including program code, through multiple networks, network links, and communication interface 618. In the Internet example, the server can send the code of the requested application through the Internet, ISP, local network, and communication interface 618.

[0071] The received code may be executed by processor 604 when it is received, and / or stored in storage device 610 or other non-volatile storage device for later execution.

[0072] Each process, method, and algorithm described in the preceding sections may be embodied in a code component executed by one or more computer systems or computer processors including computer hardware, and the code component executed by one or more computer systems or computer processors including computer hardware may be wholly or partially automated. One or more computer systems or computer processors may also operate to support the execution of related operations in a “cloud computing” environment or as “software as a service” (SaaS). These processes and algorithms may be implemented partially or entirely in dedicated circuitry. The various features and processes described above may be used independently of each other or may be combined in various ways. Different combinations and sub-combinations are intended to fall within the scope of this disclosure, and certain method or process blocks may be omitted in some implementations. The methods and processes described herein are not limited to any particular order, and the blocks or states associated with them may be executed in other suitable orders, or may be executed in parallel, or may be executed in some other manner. Blocks or states may be added to or removed from the disclosed example embodiments. The execution of certain operations or processes may be distributed across computer systems or computer processors, residing not only within a single machine but also deployed across multiple machines.

[0073] As used herein, the circuit can be implemented using any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logic components, software routines, or other mechanisms can be used to construct the circuit. In implementation, the various circuits described herein can be implemented as discrete circuits, or the described functions and features can be shared partially or collectively in one or more circuits. Even if various features or functional elements can be described individually or required to be protected as separate circuits, these features and functions can also be shared in one or more common circuits, and such description should not require or imply the need for separate circuits to implement such features or functions. Where the circuit is implemented wholly or partially in software, such software can be implemented to operate in conjunction with a computing or processing system (such as computer system 600) capable of performing the functions described herein.

[0074] As used herein, the term “or” can be understood as inclusive or exclusive. Furthermore, descriptions of resources, operations, or structures in the singular form should not be interpreted as excluding the plural form. Conditional language such as “can,” “may,” “might,” or “can” is generally intended to convey that certain embodiments include certain features, elements, and / or steps that are not included in other embodiments, unless otherwise specifically stated or understood in the context in which it is used.

[0075] The terms and phrases used in this document, and their variations thereof, should be understood as open-ended rather than restrictive, unless otherwise expressly stated. Adjectives such as “regular,” “traditional,” “normal,” “standard,” “known,” and similar terms should not be construed as limiting the described items to those available up to a given time period, but rather as encompassing regular, traditional, normal, or standard techniques available or known at any time now or in the future. In some cases, the presence of extended words and phrases such as “one or more,” “at least,” “but not limited to,” or other similar phrases should not be construed as implying an intention or need for a narrower scope where such extended phrases might not exist.

Claims

1. A method comprising: Receive requests from client devices to initiate network sessions; Determine whether the operating characteristics of the client device match the standards associated with the Dynamic Bandwidth Capacity Control (DBCC) group; In response to determining that the operating characteristics of the client device match the criteria associated with the DBCC group, the client device is bound to a session associated with the DBCC group; In response to binding the client device to the session associated with the DBCC group, the aggregate bandwidth capacity control policy is modified, wherein the aggregate bandwidth capacity control policy defines a predetermined total amount of bandwidth reserved for the client device bound to the session associated with the DBCC group; According to the modification, an instruction is sent to reduce bandwidth allocation for at least one other client device that was previously bound to the session associated with the DBCC group before the client device. In response to the client device unbinding from the session associated with the DBCC group, the predetermined total bandwidth is re-modified, wherein the predetermined total bandwidth is defined in the aggregate bandwidth capacity control policy; as well as Based on the revised total predetermined bandwidth, an instruction is sent to increase the bandwidth allocation for at least one other client device that is still bound to the session associated with the DBCC group.

2. The method of claim 1, wherein the standard associated with the DBCC group is enterprise-specific.

3. The method of claim 2, wherein the standard associated with the DBCC group includes at least one of the following standards: The client device is connected to the network associated with the network session; The client device is connected to the network within a specified time interval; The client device is connected to the network within a specified geographical area; and The client device is the registered client device of the enterprise.

4. The method of claim 1, wherein the method is implemented by a policy control function (PCF) system of a communication service provider (CSP), and the standard associated with the DBCC group is stored in the CSP's PCF system.

5. The method according to claim 1, wherein: The request from the client device to initiate the network session is received from the network function; and The instruction to reduce bandwidth allocation for at least one other client device that was previously bound to the session associated with the DBCC group before the client device is sent to the network function.

6. The method of claim 5, wherein the network function is associated with a 4G network infrastructure.

7. A policy control function (PCF) system, comprising: One or more processing resources; as well as A non-transitory computer-readable medium, coupled to the one or more processing resources, stores instructions that, when executed by the one or more processing resources, cause the PCF system to: Receive requests from client devices to initiate network sessions; Determine whether the operating characteristics of the client device match the standards associated with the Dynamic Bandwidth Capacity Control (DBCC) group; In response to determining that the operating characteristics of the client device match the criteria associated with the DBCC group, the client device is bound to a session associated with the DBCC group; In response to binding the client device to the DBCC group session, the aggregate bandwidth capacity control policy is modified, wherein the aggregate bandwidth capacity control policy defines a predetermined total amount of bandwidth reserved for client devices bound to a session associated with the DBCC group; According to the modification, an instruction is sent to reduce bandwidth allocation for at least one other client device that was previously bound to the session associated with the DBCC group before the client device. In response to the client device unbinding from the session associated with the DBCC group, the predetermined total bandwidth is re-modified, wherein the predetermined total bandwidth is defined in the aggregate bandwidth capacity control policy; as well as According to the revised aggregated bandwidth capacity control policy, an instruction is sent to increase bandwidth allocation for at least one other client device that is still bound to the DBCC group session.

8. The PCF system of claim 7, wherein the standard associated with the DBCC group is enterprise-specific.

9. The PCF system of claim 8, wherein the standard associated with the DBCC group includes at least one of the following standards: The client device is connected to the network associated with the network session; The client device is connected to the network within a specified time interval; The client device is connected to the network within a specified geographical area; and The client device is the registered client device of the enterprise.

10. The PCF system of claim 7, wherein the instructions further cause the PCF system to: Receive a request from a second client device to initiate a second network session; Determine whether the operating characteristics of the second client device match the standards associated with the second Dynamic Bandwidth Capacity Control (DBCC) group; In response to determining that the operating characteristics of the second client device match the standard associated with the second DBCC group, the second client device is bound to a session associated with the second DBCC group, wherein the standard associated with the second DBCC group and the session associated with the second DBCC group are associated with the second enterprise; In response to binding the second client device to the session associated with the second DBCC group, modify the second predetermined total bandwidth reserved for the client device bound to the session associated with the second DBCC group; as well as Based on the modified second predetermined total bandwidth, an instruction is sent to reduce the bandwidth allocation for at least one other client device that was previously bound to the session associated with the second DBCC group before the second client device.

11. The PCF system of claim 10, wherein the second predetermined total bandwidth reserved for a client device bound to the session associated with the second DBCC group is greater than the predetermined total bandwidth reserved for a client device bound to the session associated with the DBCC group.

12. The PCF system according to claim 7, wherein: The request from the client device to initiate the network session is received from the network function; and The instruction to reduce bandwidth allocation for at least one other client device that was previously bound to the session associated with the DBCC group before the client device is sent to the network function.

13. The PCF system of claim 12, wherein the network function is associated with a 4G network infrastructure.

Citation Information

Patent Citations

  • Method and apparatus for ensuring access in a communication system for a plurality of groups

    CN102668676A

  • Systems and methods for group bandwidth management in a communication systems network

    CN103404095A