Virtual customer premises equipment anomaly processing method, apparatus and system

By enabling a backup vCPE when the vCPE fails, the problem of user service interruption caused by vCPE failure is resolved, business continuity and load sharing are achieved, and the user access experience is improved.

WO2026103037A1PCT designated stage Publication Date: 2026-05-21HUAWEI TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-04-30
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

In a converged edge cloud environment, vCPE malfunctions can cause interruptions in users' network access capabilities, affecting the continuity of user services.

Method used

By pre-configuring a backup vCPE (second vCPE) to take over network access services when the first vCPE fails, primary/backup switching or load balancing can be achieved, ensuring uninterrupted user services.

Benefits of technology

In the event of a vCPE failure, a backup vCPE is used to continue providing network access services, avoiding service interruption for users and improving the user experience and system flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025092327_21052026_PF_FP_ABST
    Figure CN2025092327_21052026_PF_FP_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of communications. Disclosed are a virtual customer premises equipment (vCPE) anomaly processing method, an apparatus and a system. The method is applied to a first node running first vCPE, the first vCPE being used for providing a network access service for a first terminal, and the network access service comprising a service of connecting the terminal to an edge cloud or a backbone network according to a service that the terminal requests to access. The method comprises: receiving a first message from the first terminal; and when the first vCPE has had an anomaly, enabling second vCPE to provide the network access service for the first terminal sending the first message. In the method, when the first vCPE has had an anomaly, standby vCPE pre-configured for the first vCPE, namely the second vCPE, is used to take over from the first vCPE to provide the network access service for the first terminal, thereby preventing interruption to user services, and improving users' experience in accessing services.
Need to check novelty before this filing date? Find Prior Art

Description

Methods, devices, and systems for handling virtual client terminal device malfunctions

[0001] This application claims priority to Chinese Patent Application No. 202411632916.9, filed on November 14, 2024, entitled “Method, Apparatus and System for Handling Abnormalities in Virtual Client Terminal Devices”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a method, apparatus and system for handling anomalies in virtual customer premise equipment (vCPE). Background Technology

[0003] Converged edge cloud is a deployment model that pushes cloud computing capabilities to the network edge. It integrates network, computing, and storage resources at edge nodes to enable collaborative operation between the central cloud and the edge cloud. Converged edge cloud technology moves the traditional point-to-point protocol over Ethernet (PPPoE) dialing function from the optical network terminal (ONT) (commonly known as the optical modem) to the vCPE in the data center (DC). In this scenario, the ONT operates in Layer 2 bridging mode, and the dynamic host configuration protocol server (DHCP-SERVER) integrated in the vCPE can directly assign private network addresses to home terminals and provide network access services to users of those terminals via PPPoE dialing, such as access to the edge cloud or backbone network.

[0004] However, if the vCPE, the computing board on which the vCPE is located, or the node on which the computing board running the vCPE is located experiences an anomaly (such as a failure), the network access capability provided by the vCPE to the user will be disrupted, thereby directly causing the interruption of the user's business. Summary of the Invention

[0005] This application provides a method, apparatus, and system for handling vCPE anomalies. This method ensures uninterrupted user services when a vCPE providing network access services to a terminal malfunctions, thus improving the user's service experience. The technical solution provided in this application is as follows.

[0006] Firstly, this application provides a method for handling vCPE anomalies. This method is applied to a first node running a first vCPE, which provides network access services to a first terminal. The network access services include services that connect the terminal to an edge cloud or backbone network according to the services requested by the terminal. The method includes: receiving a first message from the first terminal; and, in the event of an anomaly in the first vCPE, activating a second vCPE to provide network access services to the first terminal that sent the first message.

[0007] The method provided in this application enables a backup vCPE, i.e., a second vCPE, pre-configured for the first vCPE, to take over providing network access services to the first terminal when the first vCPE providing network access services to the first terminal malfunctions. This ensures that user services are not interrupted and improves the user's experience in accessing services.

[0008] In one possible design, the second vCPE runs on the first node, or the second vCPE runs on a second node that communicates with the first node. This possible design provides multiple deployment options for the second vCPE, making the solution flexible.

[0009] In another possible design, the second vCPE is also used to provide network access services to the second terminal.

[0010] This design allows vCPEs providing network access services to different terminals to provide load balancing services to each other when one of them malfunctions. This eliminates the need to deploy a dedicated backup vCPE for the vCPE providing network access services, thus saving resources.

[0011] In another possible design, the second vCPE operates on the first node, and the above-mentioned enabling the second vCPE to provide network access services for the first terminal sending the first message includes: determining, based on the primary / backup relationship or load-sharing relationship between the first vCPE and the second vCPE, to provide network access services for the first terminal through the second vCPE.

[0012] In another possible design, before determining that the second vCPE will provide network access services to the first terminal based on the primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE, the method further includes: in the event of an anomaly in the first vCPE, updating the primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE, wherein the updated primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE is used to instruct the second vCPE to provide network access services to the first terminal in place of the first vCPE.

[0013] In another possible design, updating the primary / standby relationship or load-sharing relationship between the first vCPE and the second vCPE includes: modifying the weight of the first vCPE or modifying the weight of the second vCPE, wherein the relative magnitudes of the weights of the first vCPE and the second vCPE indicate the primary / standby relationship or load-sharing relationship between the first vCPE and the second vCPE.

[0014] Through the above-mentioned possible design methods, in the scenario where a dedicated backup vCPE (i.e., the second vCPE) is deployed for the first vCPE that provides network access services, the backup vCPE can be enabled through primary / backup switching or load balancing switching when the first vCPE malfunctions.

[0015] In another possible design, the method further includes: obtaining user entries configured by the first vCPE when providing network access services to the first terminal through the second vCPE; and using the user entries through the second vCPE to forward packets from the first terminal. The user entries are used to route packets from the first terminal.

[0016] With this possible design, when the second vCPE takes over from the first vCPE to provide network access services to the first terminal, the second vCPE can directly obtain the user entries configured when the first vCPE provides network access services to the first terminal, and use these user entries to forward packets from the first terminal. In this way, the second vCPE does not need to re-perform online operations (such as dial-up online) to configure user entries for the users to which the first terminal belongs when it takes over from the first vCPE to provide network access services to the first terminal, thus improving the working efficiency of the second vCPE.

[0017] In another possible design, the first vCPE and the second vCPE share the first private network address. The method further includes sending a first notification message to the first terminal. The first notification message includes the first private network address and the media access control (MAC) address of the second vCPE. The first notification message instructs the first terminal to send messages using the first private network address and the MAC address of the second vCPE.

[0018] In this possible design, the first notification message can be implemented as a free Address Resolution Protocol (ARP) message. This design allows terminals that originally received network access services through the first vCPE to send network access packets to the second vCPE that takes over from the first vCPE, thus achieving the purpose of redirecting traffic to the second vCPE.

[0019] In another possible design, the method further includes: performing an online operation on terminals in the first terminal cluster via a second vCPE, wherein the terminals in the first terminal cluster and the first terminal belong to the same user; and forwarding packets from the first terminal via the second vCPE using user entries obtained based on the online operation. The user entries are used to route packets from the first terminal.

[0020] In another possible design, the above method further includes: receiving a second message from the first terminal; and, if it is determined that the first vCPE has returned to normal, or if it is determined that the second vCPE is abnormal and the first vCPE has returned to normal, providing network access services to the first terminal that sent the second message through the first vCPE.

[0021] With this possible design, after the first vCPE recovers from an anomaly, it can resume providing network access services to the first terminal. This means that when the second vCPE acts as a load-sharing vCPE for the first vCPE, it does not need to share the first vCPE's services after the first vCPE recovers from an anomaly, thereby alleviating the load pressure on the second vCPE.

[0022] In another possible design, the second vCPE operates on a second node that communicates with the first node. The above-mentioned provision of network access services for the first terminal sending the first message by enabling the second vCPE to do so in the event of an anomaly in the first vCPE includes: redirecting the first message to the second node in the event of an anomaly in the first vCPE so that the second vCPE in the second node can process the first message.

[0023] This possible design enables the second vCPE to take over from the first vCPE that malfunctions and provide network access services to the first terminal when the first vCPE and the second vCPE are deployed on different nodes.

[0024] In another possible design, a redirection channel is configured between the first node and the second node, which is used to transmit messages from the first terminal to the second node when the first vCPE fails.

[0025] With this possible design, messages redirected from the first node to the second node are transmitted using a dedicated redirection channel. This avoids occupying the common channel for normal communication between the first and second nodes, ensuring not only the latency of messages redirected to the second node but also the latency of messages that normally interact between the first and second nodes through the common channel.

[0026] In another possible design, the above method further includes: when it is determined that the first vCPE has recovered, sending the message from the first terminal to the first vCPE for processing.

[0027] With this possible design, after the first vCPE recovers from an anomaly, it can resume providing network access services to the first terminal. This means that when the second node running the second vCPE acts as a node providing load-sharing services to the first vCPE, the second node does not need to share the services of the first vCPE after the first vCPE recovers from an anomaly, thereby alleviating the load pressure on the second node.

[0028] In another possible design, the above method further includes: sending a second notification message to the second node, the second notification message instructing the second vCPE in the second node to delete the user entry used for routing messages from the first terminal.

[0029] With this possible design, the second vCPE can promptly delete user entries used for routing and forwarding packets from the first terminal, thereby reducing the resource consumption of the second vCPE.

[0030] In another possible design, the first node also operates a third vCPE, which provides network access services to the third terminal. The line processing unit (LPU) of the interface board of the first node is configured with a broadband remote access server (BRAS) capability. The above method also includes: receiving third messages from the third terminal; and providing backbone network access services to the third terminal that sent the third message through the BRAS capability provided by the LPU in the event of an anomaly in the third vCPE.

[0031] In another possible design, the above-mentioned provision of backbone network access services to the third terminal sending the third message through the BRAS capability provided by the LPU in the event of a failure of the third vCPE includes: providing backbone network access services to the third terminal through the BRAS capability provided by the LPU in the event of failures of both the third vCPE and the fourth vCPE; wherein the fourth vCPE is used to provide network access services to the third terminal in place of the third vCPE when the third vCPE fails.

[0032] With these two possible designs, even if the network resources of the communication operator are scarce, there is no vCPE that can replace the abnormal vCPE to provide network access services, or there are not enough resources to set up a backup node for the node where the abnormal vCPE is located, or there is no node that can provide load sharing services for the node where the abnormal vCPE is located, or the backup vCPE that replaces the abnormal vCPE also fails, when the vCPE used to provide network access services to the terminal fails, the terminal's network access services can still be maintained without being affected by the abnormal vCPE.

[0033] In another possible design, before enabling the second vCPE to provide network access services to the first terminal sending the first message, the above method further includes: detecting whether the first vCPE is abnormal by using heartbeat messages; or determining whether the first vCPE is abnormal by querying the working status of the processor (central processing unit, CPU) core occupied by the first vCPE.

[0034] Through this possible design, this application provides multiple ways to detect abnormalities in vCPE, making the solution flexible.

[0035] Secondly, this application provides a method for handling vCPE anomalies, which is applied to a second node running a second vCPE. The method includes: receiving a packet forwarded from a first terminal by a first node; and providing network access services to the first terminal that initiated the packet via the second vCPE. The first node runs a first vCPE, which provides network access services to the first terminal, including services that connect the terminal to an edge cloud or backbone network according to the services requested by the terminal.

[0036] In one possible design, the second vCPE is also used to provide network access services to the second terminal based on the messages sent by the second terminal.

[0037] The beneficial effects of the second aspect and any possible design can be referred to the beneficial effects of the corresponding solutions provided by the first aspect and any possible design, and will not be repeated here.

[0038] Thirdly, this application provides a vCPE anomaly processing apparatus. This vCPE anomaly processing apparatus is used to execute any of the methods provided in the first or second aspect above. This application can divide the vCPE anomaly processing apparatus into functional modules according to any of the methods provided in the first or second aspect above. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. For example, this application can divide the vCPE anomaly processing apparatus into receiving units and processing units, etc., according to function. The descriptions of possible technical solutions and beneficial effects executed by the above-described functional modules can refer to the solutions provided in the first and second aspects above, as well as any possible design methods in the first and second aspects, and will not be repeated here.

[0039] Fourthly, this application provides a vCPE exception handling apparatus, which includes: a memory, a communication interface, and one or more processors. The one or more processors receive or transmit data through the communication interface, and are configured to read program instructions stored in the memory to execute the method provided by the first aspect and any possible design scheme therein, or to execute the method provided by the second aspect and any possible design scheme therein.

[0040] The vCPE anomaly handling device described in the third or fourth aspect may be, for example, a network node located at the edge of the backbone network and access network and in which vCPE is deployed, such as a broadband network gateway (BNG), an intelligent broadband network gateway (iBNG), or a BRAS network node; or, the vCPE anomaly handling device may be a component within the network node, such as a single board or line card; or, the vCPE anomaly handling device may also be a chip used to implement some or all of the operations described in any of the above aspects and in any possible design.

[0041] Fifthly, this application provides a vCPE anomaly handling system. The system includes a first vCPE and a second vCPE. The first vCPE provides network access services to a first terminal, including services that connect the terminal to an edge cloud or backbone network according to the services requested by the terminal. The system executes the method provided by the first aspect and any possible design within the first aspect to enable the second vCPE to take over providing network access services to the first terminal when the first vCPE malfunctions.

[0042] In one possible design, both the first vCPE and the second vCPE run on the first node.

[0043] In another possible design, the first vCPE runs on the first node, and the second vCPE runs on the second node. In this case, the first node is used to execute the methods provided by the first aspect and any possible design of the first aspect, and the second node is used to execute the methods provided by the second aspect and any possible design of the second aspect, thereby enabling the second vCPE to take over from the first vCPE to provide network access services to the first terminal when the first vCPE malfunctions.

[0044] Sixthly, this application provides a computer-readable storage medium that is a non-volatile computer-readable storage medium, the computer-readable storage medium including computer program instructions, which, when executed by a processor, a computing device including a processor, or a computer system, perform the method provided by the first aspect and any possible design of the first aspect, or perform the method provided by the second aspect and any possible design of the second aspect.

[0045] In a seventh aspect, this application provides a computer program product containing instructions that, when executed by a processor, a computing device including a processor, or a computer system, cause the processor, the computing device including a processor, or the computer system to perform the method provided by the first aspect and any possible design of the first aspect, or to perform the method provided by the second aspect and any possible design of the second aspect.

[0046] Eighthly, this application provides a chip including a processor for running program instructions or code. The chip or a device including the chip can be used to perform the methods provided by the first aspect and any possible design scheme therein, or to perform the methods provided by the second aspect and any possible design scheme therein. Exemplarily, the chip further includes an input interface, an output interface, and a memory. The chip's input interface, output interface, processor, and memory are connected via internal interconnection paths. The memory in the chip stores program instructions or code executed by the processor, and the input and output interfaces are used for communication between the chip and other chips or devices.

[0047] It is understood that any of the vCPE exception handling devices, vCPE exception handling systems, computer-readable storage media, computer program products or chips provided above can be applied to the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods, and will not be repeated here.

[0048] In this application, the names of the aforementioned vCPE exception handling device, vCPE exception handling system, etc., do not limit the devices or functional modules themselves. In actual implementation, these devices or functional modules may appear under other names. As long as the functions of each device or functional module are similar to those in this application, they all fall within the protection scope of this application. Attached Figure Description

[0049] Figure 1 is a schematic diagram of the architecture of a communication network after the introduction of converged edge cloud;

[0050] Figure 2 is a schematic diagram of the structure of a network node used for forwarding messages;

[0051] Figure 3 is a schematic diagram of an implementation environment for the method provided in the embodiments of this application;

[0052] Figure 4 is a flowchart illustrating a method for handling vCPE anomalies provided in an embodiment of this application;

[0053] Figure 5 is a schematic diagram of redirecting a message from a first terminal to a second node according to an embodiment of this application;

[0054] Figure 6 is a schematic diagram of a vCPE exception handling process provided in an embodiment of this application;

[0055] Figure 7 is a flowchart illustrating another method for handling vCPE anomalies provided in an embodiment of this application;

[0056] Figure 8 is a schematic diagram of a first node connecting a third terminal to the backbone network through the BRAS capability provided by the LPU, according to an embodiment of this application.

[0057] Figure 9 is a schematic diagram of another vCPE exception handling process provided in an embodiment of this application;

[0058] Figure 10 is a schematic diagram of sending a primary / backup relationship of vCPEs to a network management system according to an embodiment of this application;

[0059] Figure 11 is a schematic diagram illustrating an application of the method provided in an embodiment of this application;

[0060] Figure 12 is a schematic diagram of a vCPE anomaly handling device provided in an embodiment of this application;

[0061] Figure 13 is a schematic diagram of another vCPE anomaly handling device provided in an embodiment of this application;

[0062] Figure 14 is a schematic diagram of the structure of a network node provided in an embodiment of this application. Detailed Implementation

[0063] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0064] To facilitate understanding, the technologies and background involved in the embodiments of this application will be explained below.

[0065] 1) BNG, iBNG

[0066] A Broadband Network (BNG) is a device used to connect user terminal devices (such as mobile phones, cameras, printers, etc.) to a broadband access network. Its main functions include network access and traffic control for user terminal devices. Key capabilities of BNG devices include authentication, authorization, and billing.

[0067] iBNG is an upgraded version of BNG, designed to enhance network management and service capabilities by introducing artificial intelligence (AI) and embedded computing power. Through its AI-enabled forwarding and control planes, iBNG achieves improvements in various aspects, including intelligent business awareness, intelligent operation and maintenance, application and differentiated services, quality assurance, and attack protection.

[0068] 2) BRAS

[0069] A Broadband Access Controller (BRAS) is a network device specifically designed to handle broadband access services. It is typically deployed at the connection point between the access network and the backbone network, acting as a bridge between them. A BRAS allows user terminal devices to connect to the network via different access methods (such as digital subscriber line (DSL), fiber optic, satellite, etc.) and provides functions such as authentication, authorization, billing, and flow control to ensure the quality and security of the user's network connection.

[0070] 3) vCPE

[0071] vCPE is a virtualization technology. vCPE integrates the functions of traditional hardware devices into software, and provides virtual hosting services such as routing, security, and software-defined wide area network (SD-WAN) to branch offices or edge networks through software. In other words, vCPE can utilize software-based virtualization capabilities to perform operations that were originally based on hardware.

[0072] For example, in a converged edge cloud scenario, the PPPoE dialing function of the optical modem is moved up to the vCPE running in the BNG or iBNG at the backbone network edge. This allows the vCPE to provide users' terminal devices with access to the edge cloud or backbone network, thereby enabling users to access services. The edge cloud is a distributed cloud data center located at the network edge, providing low-latency, high-bandwidth real-time services. Generally, accessing services via the edge cloud is faster than accessing services through the backbone network.

[0073] Currently, telecommunications operators provide home broadband services including connectivity, basic value-added services (such as smart networks, high-definition large screens, and security), and cloud-network converged services (such as home storage and smart homes). Cloud-network converged services refer to technologies that tightly integrate cloud computing and communication networks. This leverages the powerful capabilities of cloud computing to support the communication network, while simultaneously utilizing the connectivity of the communication network to further improve the user experience of cloud services. This convergence approach enables unified management and optimized allocation of computing and network resources, improving resource utilization and application flexibility, thereby enhancing network performance and service quality.

[0074] Converged edge cloud is a deployment model that pushes cloud computing capabilities to the network edge. By integrating network, computing, and storage resources to edge nodes, it enables collaborative work between the central cloud and the edge cloud. As an implementation of cloud-network convergence services, converged edge cloud combines cloud computing and edge computing, achieving seamless connection and collaborative operation between the cloud and the network, thereby improving resource utilization and application flexibility. Converged edge cloud technology moves the traditional PPPoE dialing function on Ethernet from the optical modem to the vCPE in the data center. In this case, the optical modem operates in Layer 2 bridging mode, and the DHCP-SERVER integrated in the vCPE can directly assign private network addresses to home terminals and provide network access services to users of the home terminals via PPPoE dialing, such as providing access to the edge cloud or backbone network.

[0075] Referring to Figure 1, Figure 1 exemplarily illustrates a schematic diagram of a communication network architecture after the introduction of converged edge cloud. As shown in Figure 1, one or more terminals (or terminal clusters) of users (such as home broadband users or business users) are connected to the BNG / iBNG at the backbone network edge via ONTs or optical line terminals (OLTs). Terminals are terminal devices, such as mobile phones, computers, printers, cameras, etc., but not limited to these. ONTs include, but are not limited to, fiber-to-the-room (FTTR), fiber-to-the-office (FTTO), or fiber-to-the-home (FTTH) devices. The backbone network includes the metro backbone (MB) and province backbone (PB) shown in Figure 1. It should be understood that the connection between any two nodes shown in Figure 1 represents a communication connection between these two nodes, but one or more traffic forwarding nodes, such as routers or switches, may also be included between these two nodes; the comparison is not limited.

[0076] As shown in Figure 1, the BRAS and vCPE are deployed in the BNG / iBNG in the form of network functions virtualization (NFV). The vCPE provides network access services to the terminal shown in Figure 1; therefore, the vCPE can also be considered a gateway for the terminal to access the network. The BNG / iBNG can use an open virtual switching unit (VSU) board (or computing board) as a container, which hosts the vCPE software. In this way, the vCPE can initiate a dial-up request to the BRAS on behalf of the user to obtain a public IP address assigned by the BRAS. The user's terminal then initiates a Dynamic Host Configuration Protocol (DHCP) dial-up request to the vCPE to obtain a private IP address assigned by the vCPE. Furthermore, after a user activates cloud services, the vCPE notifies the edge cloud of the telecommunications operator of the user's terminal device information. The virtual service gateway (vSGW) of the edge cloud then creates a corresponding virtual host (vhost) for each user's terminal device and internally maps it to a Layer 3 Internet Protocol (IP) address within the edge cloud to access cloud application services. This Layer 3 IP address is the IP address of the cloud network access server (NAS) for the cloud service. It should be understood that multiple cloud NAS are deployed on the edge cloud, each used to access applications providing corresponding cloud services. After the vSGW creates a vhost, the vhost initiates a DHCP dial-up with the vCPE to obtain a private network address assigned to it by the vCPE. In addition, the vCPE also obtains the vhost's MAC address and records both the vhost's private network address and MAC address as user entries. These user entries are used by the vCPE to route and forward subsequent packets sent by the user's terminal device. It should be noted that user entries include, but are not limited to, the private network address and MAC address of the vhost. User entries may also include the IP address and MAC address of the forwarding nodes connected to the BNG / iBNG in the backbone network, and are not limited to these. It is important to note that the private network address assigned to the terminal device by the vCPE and the private network address assigned to the vhost corresponding to that terminal device are located in the same network segment. Furthermore, after assigning private network addresses to the terminal device and the vhost corresponding to that terminal device, the vCPE also informs both parties of each other's private network addresses. This allows a large Layer 2 LAN to be formed between the terminal device and the vhost via the vCPE, enabling communication between the terminal device and the vhost corresponding to the terminal device in the edge cloud through this large Layer 2 LAN.After obtaining the private network address of the vhost, the terminal device can use the Address Resolution Protocol (ARP) to request the MAC address of the vhost within the large Layer 2 local area network. In this way, the vCPE completes the process of bringing the user to the terminal device online.

[0077] In this way, when an online user's terminal device needs to access a service in the network, the Layer 2 user packet can be forwarded to the BNG / iBNG through the MAC address of the Layer 2 user packet. Then, the vCPE in the BNG / iBNG determines whether the service the terminal device wants to access belongs to the activated cloud service based on the received Layer 2 user packet.

[0078] When the vCPE determines that the service the terminal device wants to access belongs to an activated cloud service, it sends the Layer 2 user packet to the vSGW via a pre-established channel between the BNG / iBNG and the vSGW. The vSGW then forwards the Layer 2 user packet to the vhost based on the MAC address of the packet. Subsequently, the vhost accesses the cloud service via the cloud NAS based on the service requested in the Layer 2 user packet and the corresponding Layer 3 IP address of the cloud NAS. The pre-established channel between the BNG / iBNG and the vSGW includes, but is not limited to, a Layer 2 Ethernet virtual private network (EVPN) based on IPv6 segment routing over IPv6 (SRv6), abbreviated as: Layer 2 EVPN over SRv6. Here, IPv6 refers to Internet Protocol version 6.

[0079] When vCPE determines that the service the terminal device wants to access is not a cloud service that has been activated, it performs network address translation (NAT) on the Layer 2 user packet and sends the NATed packet to the backbone network so that the packet can reach the edge node of the service provider network (i.e., the provider edge (PE) node shown in Figure 1) through the backbone network, and access the service provided by the service provider through the PE node.

[0080] As can be seen, in the architecture of the communication network after the introduction of converged edge cloud shown in Figure 1, vCPE serves as a distribution point for users to access services through the edge cloud or through the backbone network.

[0081] Furthermore, the BRAS, vCPE, and BNG / iBNG can be integrated into a single network node / device as shown in Figure 1, or they can be integrated separately into different network nodes / devices. This application embodiment does not limit this. For simplicity, the following embodiment of this application will exemplify the integration of vCPE into the BNG / iBNG as an example.

[0082] By introducing converged edge cloud, on the one hand, since the ONT only needs to maintain Layer 2 bridging functionality, the Layer 3 network access function and value-added service (such as cloud services) functions are all moved up to the data center or edge cloud at the edge of the backbone network. Therefore, the ONT used as a home gateway is simplified, lowering the threshold for ONT use. On the other hand, unlike the Layer 3 access scheme of ordinary public clouds, the converged edge cloud solution uses vCPE to establish a large Layer 2 network between the user (such as a home user) and the application providing cloud services, thus maintaining the user's local area network habits when accessing applications. Furthermore, when a user accesses cloud services, user packets must first enter the cloud (i.e., the edge cloud) via vCPE before accessing the internet (i.e., the network of the service provider providing cloud services). This avoids long-distance forwarding of user packets through the backbone network, improving the speed of user access to cloud services. Moreover, compared to the central cloud, the edge cloud can expand home value-added services through cloud development, while providing a low latency (e.g., less than 2 milliseconds) and high bandwidth (e.g., gigabit bandwidth) access experience.

[0083] Typically, a vCPE can be hosted on a computing board (e.g., a VSU board) via a containerized application (APP), and one vCPE can occupy one or more CPU cores on the computing board. Referring to Figure 2, Figure 2 shows a schematic diagram of a network node structure used for forwarding packets. As shown in Figure 2, the network node 20 includes a main processing unit (MCU) as the main control board, an LPU as a forwarding board or interface board, and a computing board. The main control board is responsible for the control and management planes of the network node, including routing calculations, device management and maintenance, and device monitoring. The LPU includes a forwarding chip for receiving and sending data packets, and the interface board provides different types of interfaces (such as optical interfaces and electrical interfaces) and different speeds (such as 1000 megabits per second (Mbit / s), 10 gigabits per second (Gbit / s), 25 Gbit / s, 40 Gbit / s, 100 Gbit / s, etc.). The computing board includes a forwarding chip and runs at least one vCPE, with each vCPE occupying at least one CPU core on the computing board. When different vCPEs on the computing board occupy different CPU cores, it indicates physical isolation between the vCPEs. Of course, multiple vCPEs can also occupy one or more of the same CPU cores on the computing board, indicating software isolation between these multiple vCPEs. For any vCPE on the computing board, such as vCPE 201, vCPE 201 includes a control component and a switching component (or virtual switch). The control component integrates a PPPoE client, a DHCP-SERVER, and a Domain Name System (DNS) relay module. The control component provides online and offline services to terminals through the PPPoE client and DHCP-SERVER. The switching component includes a forwarding module, which forwards packets for terminal access services based on user entries recorded after a user goes online via dialing, as implemented by the control component. The description of user entries is as described above and will not be repeated here.

[0084] However, if the vCPE, the computing board on which the vCPE is located, or the node on which the computing board running the vCPE is located experiences an anomaly (such as a failure), the network access capability provided by the vCPE to the user will be disrupted, thereby directly causing the interruption of the user's business.

[0085] Based on this, this application provides a method for handling vCPE anomalies. This method is applied to a first node running a first vCPE, which provides network access services to a first terminal. The network access services include connecting the terminal to an edge cloud or backbone network according to the services requested by the terminal (i.e., the terminal device). The method includes: receiving a message from the first terminal; and, in the event of an anomaly in the first vCPE, activating a second vCPE to provide network access services to the first terminal that sent the first message. This method enables the use of a pre-configured backup vCPE (i.e., the second vCPE) to take over providing network access services to the first terminal when the first vCPE malfunctions, thus avoiding interruption of user services and improving the user's service experience.

[0086] The exceptions of the first vCPE include those caused by errors occurring within the first vCPE itself. Alternatively, the exceptions of the first vCPE may be caused by an exception or malfunction of the computing board running the first vCPE (such as a malfunction of the CPU core running the first vCPE on the computing board). No further limitation is imposed.

[0087] In this embodiment, the first vCPE and its backup vCPE (i.e., the second vCPE) are referred to as a vCPE protection group. The second vCPE is used to take over providing network access services to the first terminal when the first vCPE fails.

[0088] Optionally, the second vCPE can remain silent while the first vCPE provides network access services to the first terminal. In this case, the first vCPE and the second vCPE have a primary / backup relationship.

[0089] Optionally, the second vCPE can provide network access services to one or more terminals, including the second terminal, while the first vCPE is providing network access services to the first terminal. In this case, it indicates that the second vCPE itself is also assigned network access services to perform. Therefore, the second vCPE taking over the network access services for the first terminal from the malfunctioning first vCPE can be understood as the second vCPE sharing the load of the first vCPE while completing its own required network access services. That is, the second vCPE taking over the network access services for the first terminal from the malfunctioning first vCPE is a load-sharing strategy; therefore, the second vCPE and the first vCPE have a mutual load-sharing relationship. In this case, there can be one or more second vCPEs. The second terminal and the first terminal can belong to different users. Of course, the second terminal and the first terminal can also belong to the same user; for example, the first terminal and the second terminal are terminal devices of the same home broadband user located in different geographical areas (such as different communities in the same city or different cities, etc.).

[0090] In one possible implementation, both the first vCPE and the second vCPE run on the first node. In this case, the first vCPE and the second vCPE can run on the same computing board or on different computing boards; there is no limitation on this. It should be understood that when the first vCPE and the second vCPE run on different computing boards, it avoids the problem of both the first and second vCPEs failing simultaneously due to a computing board malfunction / abnormality, thus preventing a situation where no vCPE can replace the malfunctioning first vCPE to provide network access services to the first terminal.

[0091] In another possible implementation, the first vCPE runs on the first node, and the second vCPE runs on the second node, which communicates with the first node. Optionally, the second node can be a primary / backup node with the first node, meaning that the second node remains silent while the first node is active. Optionally, the second node can provide network access services to other terminals through its own configured vCPE while the first node provides network access services to terminals via the vCPE. In this case, the second node also assumes the function of connecting user terminal devices to the network. Therefore, the second node is used to share the load with the first node. For example, the first node and the second node are used to connect user terminal devices located in different areas to the network. Typically, communication operators configure communication connections for the first and second nodes, such as a Layer 2 EVPN over SRV6 communication connection, but this is not limited to this.

[0092] It is understandable that when configuring a second node for a first node, the second node can be a network node in the access network that is closest to the first node or whose distance is less than a threshold. Alternatively, the second node can be a node in the access network with a lower load (i.e., handling a smaller number of user connections). There is no limitation on this. Furthermore, the number of second nodes can be one or more, which is also not limited.

[0093] The implementation environment of the method provided in this application embodiment can be the network architecture shown in Figure 1, and specifically executed by the BNG / iBNG running vCPE as shown in Figure 1. In this case, at least two vCPEs run on the computing board in the BNG / iBNG, and one of the at least two vCPEs is the first vCPE, which is used to provide network access services to the terminal shown in Figure 1. Optionally, the other vCPE among the at least two vCPEs is the second vCPE, and the description of the second vCPE can be referred to the above description, and will not be repeated here.

[0094] Referring to Figure 3, which illustrates another implementation environment of the method provided in this application, as shown in Figure 3, in conjunction with Figure 1, terminal cluster 1 accesses BNG / iBNG 310 via ONT 312 and OLT 311, and can connect to the edge cloud or MB in the backbone network via BNG / iBNG 310 to access services. Similarly, terminal cluster 2 accesses BNG / iBNG 320 via ONT 322 and OLT 321, and can connect to the edge cloud or MB in the backbone network via BNG / iBNG 320 to access services. Terminal cluster 3 accesses BNG / iBNG 330 via ONT 332 and OLT 331, and can connect to the edge cloud or MB in the backbone network via BNG / iBNG 330 to access services. Furthermore, communication operators have established communication connections between BNG / iBNG 310, BNG / iBNG 320, and BNG / iBNG 330, such as a Layer 2 EVPN over SRV6 communication connection.

[0095] In some examples, terminal cluster 1, terminal cluster 2, and terminal cluster 3 can be terminal devices of different users. In other examples, terminal cluster 1, terminal cluster 2, and terminal cluster 3 can be terminal devices of the same user, in which case the user to which terminal cluster 1, terminal cluster 2, and terminal cluster 3 belong is a user with multiple geographical addresses (denoted as a multi-address user). For example, in a home broadband scenario, terminal cluster 1, terminal cluster 2, and terminal cluster 3 are terminal device clusters of the same home broadband user located in different geographical areas. For instance, terminal cluster 1 can be a cluster of terminal devices in the user's home, such as printers, cameras, and mobile devices used in the home; terminal cluster 2 can be a cluster of terminal devices in the user's parents' home, such as cameras installed in the parents' home and mobile devices used in the parents' home; and terminal cluster 3 can be a cluster of terminal devices in the user's shop, such as cameras installed in the shop and mobile devices used in the shop.

[0096] Taking a home broadband scenario where users belonging to terminal clusters 1, 2, and 3 are multi-access users as an example, the BNG / iBNG 310, 320, and 330, used to connect all of the user's terminal devices to the edge cloud or backbone network, employ a Layer 2 EVPN over SRV6 communication connection. Furthermore, terminal cluster 1 in the user's home, terminal cluster 2 in the user's parents' home, and terminal cluster 3 in the user's shop can initiate DHCP dialing to the vCPE in their respective connected BNG / iBNGs to obtain private network addresses assigned to the terminal devices by the BNG / iBNG. Since terminal clusters 1, 2, and 3 belong to the same user, the private network addresses assigned by the telecommunications operator to terminal clusters 1, 2, and 3 through the vCPEs in BNG / iBNG 310, 320, and 330 belong to the same network segment but do not conflict. Therefore, terminal clusters 1, 2, and 3 can access the internet via PPPoE encapsulation through their respective connected BNG / iBNGs, meaning their original internet access behavior remains unchanged. Furthermore, since the private network addresses obtained by terminal clusters 1, 2, and 3 belong to the same network segment, they form a large Layer 2 LAN via BNG / iBNG 310, BNG / iBNG 320, and BNG / iBNG 330. In this way, when terminal devices located in different geographical locations need to communicate with each other, such as when terminal device 1 in terminal cluster 1 and terminal device 2 in terminal cluster 2 need to communicate with each other, terminal device 1 can obtain the private network address of terminal device 2 through the user terminal device information exchanged between the vCPEs in BNG / iBNG 310, BNG / iBNG 320, and BNG / iBNG 330. Then, terminal device 1 can use an ARP request to obtain the MAC address of terminal device 2 based on the private network address of terminal device 2, and conduct Layer 2 communication with terminal device 2 based on the obtained MAC address. The interaction packets between terminal device 1 and terminal device 2 are forwarded between BNG / iBNG 310 and BNG / iBNG 320 via Layer 2 EVPN over SRV6.It should be noted that in this scenario, in addition to the pre-established Layer 2 EVPN over SRv6 communication connection (or Layer 2 EVPN over SRv6 tunnel) between BNG / iBNG 310, BNG / iBNG 320, and BNG / iBNG 330, these devices can also identify users by recognizing the Layer 2 bridge-domain (BD) and double virtual local area network (VLAN) headers in the packets. In this case, BNG / iBNG 310, BNG / iBNG 320, and BNG / iBNG 330 support the parsing of double VLAN headers and support the replacement of packet headers when terminal devices of multiple users communicate with each other. One home broadband user corresponds to one BD.

[0097] Furthermore, as shown in Figure 3, terminal cluster 1 and terminal cluster 3 are located in the same city and can access the provincial network through the same MB. Terminal cluster 1 and terminal cluster 2 are located in different cities and access the provincial network through MBs in different cities.

[0098] Based on the implementation environment shown in Figure 3, in one possible implementation, at least two vCPEs run on the BNG / iBNG computing board. One of the at least two vCPEs is the first vCPE, which provides network access services to the terminal cluster shown in Figure 3. The other vCPE is the second vCPE. By executing the method provided in this application embodiment through BNG / iBNG, the second vCPE can take over from the first vCPE to provide network access services to the terminal cluster when the first vCPE fails. This ensures that the services of the terminals in the terminal cluster are not interrupted. For detailed process, please refer to the description of the method embodiment below, which will not be repeated here.

[0099] In another possible implementation, each BNG / iBNG can serve as a first node. For any BNG / iBNG serving as a first node, at least one BNG / iBNG in Figure 3, other than that BNG / iBNG, can be configured as a second node to load-share the load of that BNG / iBNG. For example, when BNG / iBNG 310 is the first node, BNG / iBNG 320 and BNG / iBNG 330 can be configured as second nodes to load-share the load of BNG / iBNG 310. Similarly, when BNG / iBNG 320 is the first node, BNG / iBNG 310 and BNG / iBNG 330 can be configured as second nodes to load-share the load of BNG / iBNG 320. For example, when BNG / iBNG 330 is the first node, BNG / iBNG 310 and BNG / iBNG 320 can be configured as second nodes to load-sharing BNG / iBNG 330. In this way, by executing the method provided in the embodiments of this application, when a vCPE (i.e., the first vCPE) in a BNG / iBNG malfunctions, or the computing board running the first vCPE malfunctions, the BNG / iBNG can activate the second vCPE of the load-sharing node (i.e., the second node) to take over from the first vCPE and provide network access services to terminals that were originally provided with network access services by the first vCPE. This ensures that the services of terminals that were originally provided with network access services by the first vCPE are not interrupted. Detailed processes are described in the following method embodiments and will not be repeated here.

[0100] It should be understood that the above content is an exemplary description of the implementation environment of the vCPE exception handling method provided in the embodiments of this application, and does not constitute a limitation on the implementation environment of the method. As those skilled in the art know, as business needs change, the implementation environment can be adjusted according to application requirements, and the embodiments of this application do not list them one by one.

[0101] This application also provides a vCPE anomaly handling device, which is used to execute the vCPE anomaly handling method provided in this application embodiment to ensure that user services are not interrupted when the vCPE used to provide network access services to users malfunctions in a communication network that incorporates converged edge cloud.

[0102] Optionally, the processing device is applied to a first node at the edge of the communication network backbone located on the access network side. The first node (e.g., in its computing board) operates a vCPE for providing network access services to users, and the first node also communicates with the edge cloud of the communication operator. As an example, the first node can be any node with computing and packet forwarding capabilities; for instance, the first node is a routing device (e.g., a router).

[0103] In one example, the processing device is applied to a BNG / iBNG device located at the edge of the communication network backbone, and at least one vCPE runs within the BNG / iBNG device. Optionally, the BRAS can also run in NFV form within the BNG / iBNG device, or the BRAS can be deployed independently of the BNG / iBNG device but communicatively connected to it, so that the vCPE can send a PPPoE dial-up to the BRAS to obtain a public IP address when it receives a user's network connection request. It is understood that the BNG / iBNG device can be a dedicated network device or any network device with BNG / iBNG functionality, such as a router with BNG / iBNG functionality.

[0104] In another example, the processing device is applied to a BRAS device located at the edge of the communication network backbone, and at least one vCPE runs within the BRAS device. Optionally, the BRAS device also communicates with a BNG / iBNG device, through which the vCPE accesses the backbone network or edge cloud. It is understood that the BRAS device can be a dedicated network device or any network device with BRAS functionality, such as a router with BRAS functionality.

[0105] The method for handling vCPE anomalies provided in the embodiments of this application will now be described with reference to the accompanying drawings.

[0106] Referring to Figure 4, Figure 4 shows a flowchart of a vCPE exception handling method provided in an embodiment of this application. Optionally, this method can be applied to the implementation environment shown in Figure 1 or Figure 3, and executed by a first node running a first vCPE, such as the BNG / iBNG shown in Figure 1 or Figure 3. As shown in Figure 4, the method includes the following steps 101 to 102.

[0107] Step 101: The first node receives the first message from the first terminal.

[0108] The first node is a network node deployed by a telecommunications operator at the edge of the backbone network and located on the access network side, providing communication and network access services to the terminal cluster, including the first terminal. The first node provides network access services to the first terminal through the first vCPE. These network access services include connecting the terminal device to the edge cloud or backbone network according to the services requested by the terminal device. The terminal cluster can be multiple terminal devices belonging to the same user or multiple user terminal devices; there is no limitation in this regard.

[0109] In one example, referring to Figure 1, the first node is a BNG / iBNG that integrates at least one vCPE and a BRAS, the at least one vCPE includes a first vCPE, and the first terminal is the terminal in Figure 1 that accesses the network through the first vCPE.

[0110] In another example, referring to Figure 3, the first node is a BNG / iBNG 310 providing network access services to terminal cluster 1, and the first terminal is any terminal device in terminal cluster 1. Alternatively, the first node is a BNG / iBNG 320 providing network access services to terminal cluster 2, and the first terminal is any terminal device in terminal cluster 2. Or, the first node is a BNG / iBNG 330 providing network access services to terminal cluster 3, and the first terminal is any terminal device in terminal cluster 3.

[0111] The first message can be a service message from the first terminal accessing a service, including but not limited to audio / video services, gaming services, and database access services. Alternatively, the first message can also be a network connection request sent by the first terminal.

[0112] Step 102: If the first vCPE running on the first node malfunctions, the first node enables the second vCPE to provide network access services for the first terminal that sent the first message.

[0113] The first vCPE running on the first node is used to provide network access services to the first terminal. These network access services include connecting the terminal to the edge cloud or backbone network according to the services requested by the terminal.

[0114] After receiving the first message, the first node first determines whether the first vCPE used to provide network access services to the first terminal that sent the first message is malfunctioning. If it is determined that the first vCPE is malfunctioning, the first node activates the second vCPE to provide network access services to the first terminal. A detailed explanation of how the first node determines whether the first vCPE is malfunctioning can be found below and will not be repeated here.

[0115] In the first possible scenario, the second vCPE runs on the first node.

[0116] In this case, step 102 includes: if the first node determines that the first vCPE has malfunctioned, updating the primary / backup relationship or load-sharing relationship between the first vCPE and the second vCPE. The updated primary / backup relationship or load-sharing relationship between the first vCPE and the second vCPE is used to instruct the second vCPE to provide network access services to the first terminal in place of the first vCPE; based on the primary / backup relationship or load-sharing relationship between the first vCPE and the second vCPE, determining that the second vCPE will provide network access services to the first terminal. Taking the first vCPE and the second vCPE as a primary / backup entity, after updating the primary / backup relationship between the first vCPE and the second vCPE, the first vCPE is demoted to a backup vCPE, and the second vCPE is promoted to a primary vCPE. Therefore, the second vCPE can take over from the first vCPE to provide network access services to the first terminal. That is, the updated primary / backup relationship between the first vCPE and the second vCPE instructs the second vCPE to provide network access services to the first terminal in place of the first vCPE.

[0117] In one exemplary embodiment, updating the primary / standby relationship or load-sharing relationship between the first vCPE and the second vCPE includes: the first node modifying the weight of the first vCPE or modifying the weight of the second vCPE to update the primary / standby relationship or load-sharing relationship between the first vCPE and the second vCPE. In this embodiment, by configuring weights for the first vCPE and the second vCPE respectively, the relative magnitudes of the weights of the first vCPE and the second vCPE can be used to indicate the primary / standby relationship or load-sharing relationship between the first vCPE and the second vCPE.

[0118] For example, in this embodiment of the application, a vCPE with a higher weight in a vCPE protection group can be designated as the primary vCPE or a vCPE used to share the network access service of the first terminal, while a vCPE with a lower weight can be designated as a backup vCPE or a vCPE that does not need to share the network access service of the first terminal. In this embodiment, vCPEs with a primary / backup relationship or load-sharing relationship are referred to as a vCPE protection group. In this case, when the weight of the first vCPE is greater than the weight of the second vCPE, it indicates that the first vCPE is the primary vCPE and the second vCPE is the backup vCPE, or that the first vCPE is used to share the network access service of the first terminal, and the second vCPE does not need to share the network access service of the first terminal.

[0119] For example, in this embodiment of the application, a vCPE with a smaller weight in a vCPE protection group can be used as the primary vCPE or a vCPE used to share the network access service of the first terminal, while a vCPE with a larger weight can be used as a backup vCPE or a vCPE that does not need to share the network access service of the first terminal. In this case, if the weight of the first vCPE is greater than the weight of the second vCPE, it means that the first vCPE is a backup vCPE and the second vCPE is the primary vCPE, or it means that the first vCPE does not need to share the network access service of the first terminal, and the second vCPE is used to share the network access service of the first terminal.

[0120] For simplicity, the following description uses the example of "using a vCPE with a higher weight in a vCPE protection group as the primary vCPE or a vCPE used to share the network access service of the first terminal, and using a vCPE with a lower weight as a backup vCPE or a vCPE that does not need to share the network access service of the first terminal" as an example.

[0121] Thus, when the first node determines that the first vCPE has malfunctioned, it increases the weight of the second vCPE or decreases the weight of the first vCPE, so that the weight of the second vCPE is greater than that of the first vCPE. In this way, the second vCPE becomes the primary vCPE, and the first vCPE becomes the backup vCPE. Alternatively, the first vCPE does not need to share the network access service of the first terminal, and the second vCPE is used to share the network access service of the first terminal. For example, for any vCPE protection group, such as vCPE protection group 1, taking the mutual primary and backup of vCPEs in vCPE protection group 1 as an example, when the weight of one vCPE in vCPE protection group 1 (denoted as vCPE 1) is 120, and the weight of another vCPE in vCPE protection group 1 (denoted as vCPE 2) is 100, it means that vCPE 1 is the primary vCPE and vCPE 2 is the backup vCPE. When a node running vCPE protection group 1 detects an anomaly in vCPE 1, it reduces the weight of vCPE 1 by 30, so the latest weight of vCPE 1 is (120-30=90). At this time, the weight of vCPE 1 "90" is less than the weight of vCPE 2 "100", so vCPE 1 is demoted to standby vCPE and vCPE 2 is promoted to primary vCPE.

[0122] Optionally, when the first node determines that the first vCPE has malfunctioned, it can further determine whether the second vCPE has malfunctioned. If there are multiple second vCPEs, when the first node determines that any one of the second vCPEs is not malfunctioning, it increases the weight of that second vCPE or decreases the weight of the first vCPE, so that the weight of the second vCPE is greater than the weight of the first vCPE. In this way, the second vCPE can take over from the first vCPE to provide network access services to the first terminal. If all second vCPEs malfunction, the first node may choose not to take any action and wait for the first vCPEs to recover; this is not limited.

[0123] When the second vCPE is determined to take over from the first vCPE to provide network access services to the first terminal, the following methods can be used to provide network access services to the first terminal.

[0124] In one possible implementation, the second vCPE obtains the user entries configured by the first vCPE when providing network access services to the first terminal. These user entries are used to route packets from the first terminal, allowing the second vCPE to use them to forward packets from the first terminal. For example, the second vCPE can obtain the user entries configured by the first vCPE when providing network services to the first terminal from the network management system.

[0125] It should be understood that in this implementation, when the first node provides network access services to the first terminal through the first vCPE, and the first vCPE configures user entries for forwarding user service packets by performing an online operation (such as a PPPoE dial-up operation) for the user to which the first terminal belongs, the first node can synchronize the user entries configured by the first vCPE to the network management system. These user entries include, but are not limited to: the MAC address of the vhost created by the edge cloud for each terminal device of the user, and the private network address assigned by the first vCPE to each vhost. Thus, when the second vCPE determines to take over the network access services for the first terminal from the first vCPE, it can directly obtain the user entries from the network management system and use them to forward packets from the first terminal. Alternatively, the first vCPE, after experiencing an anomaly and recovering, can also directly obtain the user entries from the network management system and route packets from the first terminal based on these user entries. In other words, the second vCPE or the first vCPE that has experienced an anomaly and recovered does not need to re-perform the online operation for the user to which the first terminal belongs in order to configure the user table entries, thus improving the working efficiency of the vCPE.

[0126] In some examples, the first node can also synchronize the user entries configured by the first vCPE to the second vCPE. In this way, when the first vCPE fails, the second vCPE, which takes over the network access service for the first terminal, does not need to reconfigure the user entries for the users to which the terminal devices in the first terminal belong, thus improving the working efficiency of the second vCPE.

[0127] As can be seen, in this implementation, the second vCPE reuses the user entries configured by the first vCPE. Therefore, the second vCPE does not need to perform online operations for the users to which the first terminal belongs, thus saving the time required for the second vCPE to perform online operations and improving the working efficiency of the second vCPE.

[0128] In this implementation, the first vCPE and the second vCPE share a first private address. The second vCPE also needs to send a first notification message to the terminal cluster, including the first terminal. The first notification message includes the first private network address and the MAC address of the second vCPE. The first notification message instructs the terminals in the terminal cluster to send packets using the first private network address and the MAC address of the second vCPE. In this way, the terminals in the terminal cluster (such as the first terminal) can subsequently send packet streams to the second vCPE for network access processing. In one example, the first notification message is implemented as a gratuitous ARP message; this is not a limitation.

[0129] In the second possible implementation, the second vCPE performs an online operation on the terminals in the first terminal cluster to configure user entries for routing packets from the terminals in the first terminal cluster. Here, the terminals in the first terminal cluster and the first terminal belong to the same user; thus, the aforementioned configured user entries can also be used to route the first packet. Consequently, the second vCPE can use the user entries obtained based on the aforementioned online operation to forward packets from the first terminal.

[0130] The process by which the second vCPE performs the online operation on the user's terminal can be referred to the description above and will not be repeated here. In this implementation, the second vCPE and the first vCPE can share a private network address or use different private network addresses; there is no restriction on this.

[0131] Optionally, after updating the primary / standby relationship or load balancing relationship between the first vCPE and the second vCPE, the first node can send the updated primary / standby relationship or load balancing relationship to the network management system via an announcement message (see Figure 10 below for a detailed description) so that the network management system can be aware of the latest primary / standby relationship or load balancing relationship between the first vCPE and the second vCPE for subsequent operation and maintenance management. This will not be described in detail here.

[0132] Subsequently, optionally, upon receiving a second message from the first terminal (the description of the second message can be found in the description of the first message in step 101), if the first node determines that the first vCPE has recovered, or if it determines that the second vCPE is abnormal and the first vCPE has recovered, the first node updates the primary / standby relationship or load-sharing relationship between the first vCPE and the second vCPE. This updated relationship instructs the first vCPE to provide network access services to the first terminal, allowing the first node to provide network access services to the first terminal that sent the second message via the first vCPE. For a detailed explanation, please refer to the description above: "If the first node determines that the first vCPE is abnormal, it updates the primary / standby relationship or load-sharing relationship between the first vCPE and the second vCPE. This updated relationship instructs the second vCPE to provide network access services to the first terminal in place of the first vCPE." Further details will not be repeated here.

[0133] As can be seen, the first possible scenario provides an internal vCPE exception handling solution to ensure uninterrupted user services.

[0134] In the second possible scenario, the second vCPE runs on a second node that communicates with the first node.

[0135] In this scenario, step 102 includes: if the first node determines that the first vCPE has malfunctioned, redirecting the first packet from the first terminal to the second node. In response, after receiving the first packet forwarded by the first node, the second node selects a second vCPE from its configured vCPEs and processes the first packet through the second vCPE. For example, when the first packet is a service packet, the second vCPE in the second node can perform an online operation on the user to which the first terminal sending the first packet belongs, to configure and obtain a user entry, and forward the first packet based on the user entry. Alternatively, the second vCPE in the second node can obtain the user entry configured by the first vCPE when providing network access services to the first terminal from the network management system, and forward the first packet based on that user entry; further details are omitted.

[0136] Optionally, if the first node determines that the first vCPE has malfunctioned, the first node can also query whether the vCPE in the second node has malfunctioned through the communication connection between the first and second nodes. If there are multiple second nodes, when the first node determines that there is a normal vCPE in any of the second nodes, it redirects the first message from the first terminal to that second node. In response, after receiving the first message forwarded by the first node, the second node selects a second vCPE from the normal vCPEs and processes the first message through the second vCPE.

[0137] In one exemplary embodiment, after the first node determines that the first vCPE is abnormal at the LPU's ingress interface, it sends the first message received at the ingress interface to the second node through a common channel between the first and second nodes. This common channel is, for example, a Layer 2 EVPN over SRV6 communication connection, but is not limited thereto. As an example, referring to Figure 3, this common channel can be a communication connection between iBNGs connected to terminal devices in different geographical regions when multiple users in different geographical regions access each other.

[0138] In another exemplary embodiment, a redirection channel is configured between the first node and the second node. This redirection channel is dedicated to transmitting packets from the first terminal to the second node when the first vCPE malfunctions. The redirection channel can be achieved by defining a new Broadcast Node (BD) forwarding segment between the first and second nodes and mapping this BD forwarding segment to the VXLAN interfaces of the first and second nodes (referred to as the redirected BD interface). In a VXLAN network (such as the VXLAN network containing the first and second nodes), the BD is implemented by mapping the VXLAN Network Identifier (VNI) to the BD in a 1:1 manner. Each BD represents an independent broadcast domain, and hosts within the same BD can communicate with each other at Layer 2 based on VXLAN. This mapping method allows the VXLAN network to function like a VLAN in a traditional network, dividing broadcast domains through BDs to achieve Layer 2 data isolation and forwarding.

[0139] Referring to Figure 3, and taking BNG / iBNG 310 as the first node and BNG / iBNG 320 as the second node as an example, and referring to Figure 5, which illustrates a schematic diagram of redirecting packets from a first terminal to a second node according to an embodiment of this application. As shown in Figure 5, after a packet from the first terminal arrives at the LPU access-side BD interface of the first node, if the LPU access-side BD interface determines that the first vCPE is working normally, it sends the packet sent by the first terminal to the first vCPE corresponding to that BD for processing through the BD corresponding to the user to which the first terminal belongs. If the LPU access-side BD interface determines that the first vCPE is abnormal, the LPU access-side BD interface can reuse the common channel between the first node and the second node to send the packet from the first terminal to the second node. The common channel is the transmission channel between the common BD interface of the first node and the common BD interface of the second node. Alternatively, if the LPU access-side BD interface determines that the first vCPE is abnormal, it sends the packet from the first terminal to the second node through the redirection channel. The redirection channel is the transmission channel between the redirection BD interface of the first node and the redirection BD interface of the second node. After receiving a message from the first terminal through the public BD interface or the redirection BD interface, the second node selects the second vCPE to process the message (such as routing and forwarding).

[0140] Subsequently, optionally, if the first node determines that the first vCPE has recovered, it will send packets from the first terminal to the first vCPE for processing. That is, if the first node determines that the first vCPE has recovered, it can choose to switch back the network access service provided to the first terminal from the second vCPE to the first vCPE. In this case, optionally, the first node can also send a second notification message to the second node, instructing the second vCPE in the second node to delete the user entry used to route packets from the first terminal. Thus, the timely deletion of the user entry used to route packets from the first terminal by the second vCPE can reduce the resource consumption of the second vCPE.

[0141] Referring to Figure 6, which exemplarily illustrates a vCPE anomaly handling process provided in an embodiment of this application, when a first terminal sends a message to the first vCPE based on the first vCPE's private network address and MAC address, the message first arrives at the gigabit Ethernet (GE) interface of the first node including the first vCPE, and then reaches the LPU's ingress interface via the GE interface. Subsequently, the LPU's ingress interface determines the first vCPE for processing the message based on the BD corresponding to the user to which the first terminal belongs, and determines whether the first vCPE has experienced an anomaly.

[0142] Once it is confirmed that the first vCPE is functioning correctly, the first node sends the packet from the LPU's ingress interface to the first vCPE for processing; that is, the packet from the first terminal arrives at the first vCPE. Subsequently, after processing by the first vCPE, the packet from the first terminal is sent to the LPU interface on the WAN side, and then from the LPU interface on the WAN side to the GE interface on the WAN side. Based on the routing result of the first vCPE, the GE interface on the WAN side sends the packet to the edge cloud or backbone network.

[0143] Upon determining that the first vCPE has malfunctioned, the first node queries the second node via its communication connection to check if a normal vCPE exists within the second node. Here, the operator configures one or more second nodes with a primary / backup or load-sharing relationship for the first node. When the first node determines that a normal vCPE exists within the second node, it redirects the packets from the first terminal, which originally needed to be processed by the first vCPE, to the redirection channel's entry point on the first node (the redirection BD interface shown in Figure 5). This sends the first terminal's packets to the second node, where they are processed by the second vCPE. For a detailed explanation, please refer to the description of the second possible scenario in step 102; further details will not be repeated here.

[0144] When the first node determines that none of the second nodes are in a vCPE that has not experienced an anomaly, it means that there is no second vCPE available to replace the first vCPE. At this time, the first node can leave the first terminal's message unprocessed and wait for the first vCPE to recover from the anomaly before sending the message to the first vCPE for processing.

[0145] After the first vCPE recovers from an anomaly, the first node can also send a second notification message to the second node to instruct the second vCPE of the second node to delete the user table entries used to route packets from the first terminal, thereby reducing the resource consumption of the second vCPE.

[0146] As can be seen, the second possible scenario provides a vCPE anomaly handling solution based on inter-node connections to ensure uninterrupted user services.

[0147] By using the methods described in steps 101 to 102, when the first vCPE fails, a backup vCPE or a load-sharing vCPE (i.e., the second vCPE) pre-configured for the first vCPE can be used to take over the network access service for the first terminal, thus ensuring that user services are not interrupted and improving the user's experience in accessing services.

[0148] In other embodiments, if the first node determines that the first vCPE providing network access services to the first terminal has malfunctioned, or if the first node determines that both the first vCPE and the second vCPE used to take over the network access services for the first terminal have malfunctioned, then this application embodiment provides a service rollback-like method to maintain uninterrupted user services.

[0149] Referring to Figure 7, Figure 7 shows a flowchart of another vCPE exception handling method provided in an embodiment of this application. Optionally, this method can be applied to the implementation environment shown in Figure 1 or Figure 3, and executed by a first node running a third vCPE, such as the BNG / iBNG shown in Figure 1 or Figure 3. As shown in Figure 7, the method includes the following steps 201 to 202.

[0150] Step 201: The first node receives the third message from the third terminal.

[0151] The description of the first node can be found in step 101, and will not be repeated here.

[0152] The first node runs a third vCPE, which provides network access services to the third terminal. The third message can be a service message for the third terminal to access services, or it can be a network connection request sent by the third terminal; there is no limitation on this.

[0153] It is understood that the third vCPE and the first vCPE mentioned above can be the same vCPE or different vCPEs; this is not limited. The third terminal can be the same terminal as the first terminal mentioned above, or it can be a different terminal belonging to the same user, or a terminal belonging to different users; this is not limited.

[0154] Optionally, the first node may also run a fourth vCPE, which is used to replace (or take over) the third vCPE to provide network access services to the third terminal when the third vCPE malfunctions (for details, please refer to the description of the second vCPE taking over the first vCPE to provide network access services to the first terminal when the first vCPE malfunctions in steps 101-102). The relationship and detailed explanation of the third and fourth vCPEs can be found in the description of the first and second vCPEs above, and will not be repeated here.

[0155] Step 202: In the event of an anomaly in the third vCPE, the first node provides access to the backbone network for the third terminal sending the third message through the BRAS capability provided by the LPU.

[0156] In this embodiment, when a telecommunications operator provides the aforementioned network access service to a third terminal via a vCPE (such as a third vCPE) in a converged edge cloud scenario, a BRAS capability is configured on the LPU of the first node running the third vCPE. For example, a BRAS capability is configured on the virtual Ethernet (VE) interface paired with the BD interface on the access network-side LPU of the first node running the third vCPE, and the active and inactive states of the BRAS capability are set. Furthermore, the abnormal state of the third vCPE (or the third vCPE and the fourth vCPE) is mapped to the active state of the BRAS capability, and the normal working state of the third vCPE (or the fourth vCPE) is mapped to the inactive state of the BRAS capability. Alternatively, this can be understood as follows: In a converged edge cloud scenario, the first node connects to the edge cloud via the VE interface. Therefore, the BRAS offline configuration is pre-embedded in the VE sub-interface of the first node's LPU, setting the active and inactive states of the BRAS offline configuration. Furthermore, the active state is mapped to the abnormal state of the third vCPE (or, the third vCPE and the fourth vCPE), and the inactive state is mapped to the normal operating state of the third vCPE (or the fourth vCPE). The BRAS offline configuration is used to implement BRAS capabilities. An active BRAS capability indicates that the third terminal is connected to the backbone network through the BRAS capabilities configured by the LPU, while an inactive BRAS capability indicates that the BRAS capabilities configured by the LPU are not used.

[0157] In this way, once the first node determines that the third vCPE (or the fourth vCPE) has not experienced any abnormalities, that is, the third vCPE (or the fourth vCPE) can process the packets from the third terminal normally, the BRAS capability configured on the access network side LPU in the first node is inactive.

[0158] If the first node determines that the third vCPE is malfunctioning, it activates the BRAS capability configured on the LPU on the access network side of the first node. This ensures the BRAS capability is active, allowing the first node to provide backbone network access services to the third terminal through the LPU's BRAS capability. In other words, the user associated with the third terminal is connected to the backbone network. For detailed explanations, please refer to the descriptions of user access to the backbone network via optical modem and BRAS in related technologies; these will not be repeated here. For example, when a user goes online, their optical modem remains in Layer 2 bridging mode. The BRAS capability configured on the LPU of the first node initiates a PPPoE dial-up connection on behalf of the optical modem to connect the user's terminal to the backbone network; this will not be elaborated further. In this embodiment, optionally, the BRAS configuration can map the address pool used by the third vCPE when allocating private network addresses to terminal devices.

[0159] For example, referring to Figure 8, Figure 8 illustrates a schematic diagram of a first node connecting a third terminal to the backbone network via the BRAS capability provided by the LPU according to an embodiment of this application. As shown in Figure 8, the LPU 1 of the first node is configured with BRAS capability. Thus, after a message sent by the third terminal via the ONT and OLT arrives at the LPU 1 of the first node, if the LPU 1 determines that the third vCPE is not malfunctioning, it sends the message to the third vCPE running on the computing board, where the third vCPE performs traffic splitting. If the LPU 1 determines that the third vCPE is malfunctioning, it activates its own configured BRAS capability and connects the third terminal to the backbone network through its own configured BRAS capability. For example, after the LPU 1 performs an online operation on the user to which the third terminal belongs through its own configured BRAS capability, the third message sent by the third terminal for accessing services can be forwarded to the backbone network via the LPU 1 and LPU 2 of the first node, so as to access the service provider's network through the backbone network and thus access the services provided by the service provider.

[0160] Optionally, if the third vCPE is configured with a fourth vCPE to take over the network access service for the third terminal when the third vCPE fails, the first node, upon determining that both the third and fourth vCPEs have failed, activates the BRAS capability configured on the LPU on the access network side of the first node. This ensures the BRAS capability is active, allowing the first node to connect the user to the backbone network via the LPU's BRAS capability. For detailed explanations, please refer to the description of users accessing the backbone network via optical modems and BRAS in related technologies; further elaboration is not required here.

[0161] It is understandable that when a third terminal's message is used to access cloud services, the third terminal may be unable to access cloud services through the edge cloud due to an abnormality in the third vCPE, and may only be able to access cloud services through the backbone network. In this case, the latency of accessing cloud services on the terminal side will suddenly increase, but the service will not be interrupted.

[0162] Subsequently, optionally, when the first node determines that the third vCPE has returned to normal, the first node determines whether it can use the third vCPE to provide network access services to the third terminal based on preset conditions. These preset conditions include, but are not limited to: the third vCPE has returned to normal, and no abnormalities have occurred within a preset time period after its return to normal.

[0163] Thus, when the preset conditions are met, the first node determines to use the third vCPE to provide network access services to the third terminal. At this time, the first node sets the BRAS capability configured in the access network-side LPU to an inactive state and sends the received packets from the third terminal to the third vCPE for processing.

[0164] If the preset conditions are not met, it indicates that the third vCPE is repeatedly malfunctioning. At this time, the first node continues to use the BRAS configured by the LPU to provide network access services to the third terminal.

[0165] Referring to Figure 9, which exemplarily illustrates another vCPE anomaly handling process provided in an embodiment of this application, Figure 9 shows that when a third terminal sends a message to the third vCPE based on the third vCPE's private network address and MAC address, the message first arrives at the GE interface of the first node including the third vCPE, and then reaches the LPU's ingress interface via the GE interface. Afterwards, the LPU's ingress interface determines the third vCPE to process the message based on the BD corresponding to the user to which the third terminal belongs, and determines whether the third vCPE has experienced an anomaly.

[0166] Once it is confirmed that the third vCPE is functioning correctly, the first node sends packets from the LPU's ingress interface to the third vCPE for processing; that is, the packets from the third terminal arrive at the third vCPE. Subsequently, after processing by the third vCPE, the packets from the third terminal are sent to the LPU interface on the WAN side, and then from the LPU interface to the GE interface on the WAN side. Based on the routing result from the third vCPE, the GE interface on the WAN side sends the packets to the edge cloud or backbone network.

[0167] Once it is determined that the third vCPE has malfunctioned, the first node activates the BRAS capability configured in the LPU and connects the third terminal to the backbone network based on the BRAS capability. In this way, the packets of the third terminal can travel from the LPU on the access network side to the GE interface on the WAN side, and then be forwarded by the GE interface to the next-hop node located in the backbone network.

[0168] Following this, referring to Figure 9, after the third vCPE recovers from the anomaly, the first node can determine whether to switch back based on preset conditions. Here, "whether to switch back" refers to whether to switch back the LPU configured with BRAS capabilities that provides network access services to the third terminal to the third vCPE, so that the third vCPE can once again provide network access services to the third terminal. For detailed explanations, please refer to the description above; further elaboration will not be repeated here.

[0169] Through the process described in steps 201 to 202, it is achieved that even when the network resources of the communication operator are scarce, there is no vCPE that can replace the abnormal vCPE to provide network access services, or there are not enough resources to set up a backup node for the node where the abnormal vCPE is located, or there is no node that can provide load sharing services for the node where the abnormal vCPE is located, the terminal can still access services without being affected by the abnormal vCPE.

[0170] In summary, the embodiments of this application enable the use of a pre-configured backup vCPE or load-sharing vCPE to provide network access services to the terminal when the vCPE fails. This ensures uninterrupted user services and improves the user experience. Alternatively, in situations where network resources are scarce, providing network access services to the terminal via vCPE can be abandoned, and the terminal can be directly connected to the backbone network using the traditional LPU-integrated BRAS capability. This allows the terminal to access services (including cloud services that were originally accessed via the edge cloud through vCPE) through the backbone network, thereby maintaining uninterrupted user services.

[0171] The following is an example of how the first node determines whether a vCPE (such as the first vCPE) has encountered an anomaly.

[0172] In one possible implementation, the first node can detect whether the first vCPE is malfunctioning via heartbeat messages and record the detection results. Thus, upon receiving a message (such as the first message) from the terminal, the first node checks the detection results to determine if the first vCPE is malfunctioning. The heartbeat message includes the identifier of the first vCPE, such as its MAC address on the wide area network (WAN) side or its serial number (SN).

[0173] In one exemplary embodiment, the main control board of the first node or the computing board used to run the first vCPE sends a heartbeat message to the first vCPE and detects whether a response message is received from the first vCPE based on the heartbeat message. The response message includes the identifier of the first vCPE. If the main control board or computing board of the first node does not receive a response message from the first vCPE within a preset time after sending the heartbeat message, it resends the heartbeat message to the first vCPE. If the main control board or computing board of the first node fails to receive a response message after sending a preset number of heartbeat messages, it determines that the state of the first vCPE is abnormal or offline (i.e., offline), and records the detected state of the first vCPE. The preset number is not specifically limited in this embodiment; for example, it can be 3, 5, etc., and is not limited thereto.

[0174] In another exemplary embodiment, the main control board of the first node or the computing board used to run the first vCPE periodically sends heartbeat messages to the first vCPE and detects whether it receives a response message from the first vCPE based on each heartbeat message. The response message includes the identifier of the first vCPE. If the main control board or computing board of the first node does not receive a response message after sending heartbeat messages for several consecutive periods, it can be determined that the state of the first vCPE is abnormal or offline, and the detected state of the first vCPE is recorded.

[0175] In another exemplary embodiment, the first vCPE periodically sends heartbeat messages to the main control board of the first node or the computing board used to run the first vCPE. The main control board or computing board of the first node detects the heartbeat messages from the first vCPE. If the main control board or computing board of the first node does not detect a heartbeat message from the first vCPE within a preset time period, it determines that the state of the first vCPE is abnormal or offline, and records the detected state of the first vCPE. The preset time period is greater than or equal to the sum of the sending periods of a preset number of heartbeat messages. This embodiment does not specifically limit the preset number; for example, it can be 3, 5, etc., and is not limited thereto.

[0176] Optionally, during the process of detecting whether the first vCPE has malfunctioned, the first node also sends the detected status of the first vCPE to the network management system, so that the network management system can be aware of the status of the first vCPE and perform operation and maintenance management. Here, the management system can be the network management system of the telecommunications operator to which the first node belongs, or it can be the network management system of the developer of the first vCPE; there is no limitation in this regard. Optionally, the first node may send the status of the first vCPE to the network management system when it detects that the first vCPE has malfunctioned. Alternatively, the first node may periodically send the status of the first vCPE to the network management system; there is no limitation in this regard either.

[0177] In some embodiments, a second vCPE is configured in the first node to take over providing network access services to the first terminal when the first vCPE fails. The second vCPE may run on the same computing board as the first vCPE on the first node, but occupy different CPU cores. Alternatively, the second vCPE may run on a different computing board than the first vCPE on the first node; this embodiment does not limit this. In this case, the first node needs to detect whether the first vCPE or the second vCPE is abnormal via heartbeat messages, and record the detection results. For an explanation of how the first node detects whether the second vCPE is abnormal via heartbeat messages, please refer to the description of how the first node detects whether the first vCPE is abnormal via heartbeat messages; it will not be repeated here.

[0178] Optionally, when the relationship between the first vCPE and the second vCPE is a primary / standby relationship, the first node, while detecting whether any anomalies have occurred in the first and second vCPEs, also sends the status of the first and second vCPEs and their specific primary / standby relationship to the network management system. This allows the network management system to be aware of the status of the first and second vCPEs and their specific primary / standby relationship for subsequent operation and maintenance. When the relationship between the first vCPE and the second vCPE is a load-sharing relationship, the first node, while detecting whether any anomalies have occurred in the first and second vCPEs, also sends the status of the first and second vCPEs and their specific load-sharing relationship to the network management system. This allows the network management system to be aware of the status of the first and second vCPEs and their specific load-sharing relationship for subsequent operation and maintenance.

[0179] Taking the primary / standby relationship between the first vCPE and the second vCPE as an example, in one example, the first node, while detecting whether the first vCPE and the second vCPE have malfunctioned, periodically sends the status of the first vCPE and the second vCPE and the specific primary / standby relationship to the network management system. In another example, when the first node detects a change in the status of the first vCPE or the second vCPE, resulting in a change in the primary / standby relationship between the first vCPE and the second vCPE, it sends the latest status of the first vCPE and the second vCPE and the latest primary / standby relationship to the network management system.

[0180] Taking iBNG as the first node as an example, referring to Figure 10, Figure 10 shows a schematic diagram of sending a primary / backup relationship of vCPEs to the network management system according to an embodiment of this application. As shown in Figure 10, iBNG 100 is configured with vCPE 1 and vCPE 2 as primary / backup, vCPE 1 and vCPE 2 constitute vCPE protection group 1, which can provide network access services for user cluster 1. iBNG 100 is also configured with vCPE 3 and vCPE 4 as primary / backup, vCPE 3 and vCPE 4 constitute vCPE protection group 2, which can provide network access services for user cluster 3.

[0181] On one hand, when a message from a terminal (such as any terminal in terminal cluster 1, terminal cluster 2, or terminal cluster 3) arrives at iBNG 100 via ONT and OLT, the LPU in iBNG 100 sends the message to the corresponding vCPE protection group based on the BD corresponding to the user to which the terminal sent the message belongs. The primary vCPE in that vCPE protection group then processes the message. Specifically, when the LPU sends a message from a terminal device to the vCPE, it can do so based on the Virtual Extensible Local Area Network (VXLAN) mapped by the BD corresponding to the user to which the terminal belongs.

[0182] On the other hand, iBNG 100 can detect whether a vCPE in each vCPE protection group that acts as a primary and backup device is malfunctioning based on the method described above. For example, the main control board of iBNG 100 sends a heartbeat message to vCPE 1 in vCPE protection group 1. If the main control board does not receive a response message from vCPE 1 within 10 seconds, it sends a heartbeat message to vCPE 1 again. If the main control board sends heartbeat messages to vCPE 1 three times and does not receive a response message from vCPE 1, it determines that vCPE 1 is malfunctioning. Furthermore, at this time, iBNG 100 also detects through the heartbeat message that vCPE 2 in vCPE protection group 1 is not malfunctioning. Therefore, iBNG 100 updates the primary and backup relationship of vCPEs in vCPE protection group 1 based on the detection results of vCPEs in vCPE protection group 1 and sends an announcement message to the network management system. The announcement message includes the updated primary and backup relationship of vCPEs in vCPE protection group 1.

[0183] In this application embodiment, the format of the notification message is not specifically limited. In one example, taking vCPE 1 and vCPE 2, which are primary and backup vCPEs in vCPE protection group 1, as an example, the notification message sent by iBNG 100 to the network management system may include: the MAC address of vCPE 1, the current status of vCPE 1 (e.g., "normal / online"), the role of vCPE 1 as the primary vCPE, the MAC address of vCPE 2, the current status of vCPE 2 (e.g., "abnormal / offline"), and the role of vCPE 2 as the backup vCPE.

[0184] In the second possible implementation, the first node determines whether the first vCPE is abnormal by querying the status of the CPU core used to run the first vCPE.

[0185] It should be understood that when a vCPE runs on a computing board, it occupies one or more CPU cores. If a CPU core occupied by a vCPE malfunctions, it indicates that the vCPE has malfunctioned. In this case, the first node can determine whether the first vCPE has malfunctioned by checking the status of the CPU core occupied by the first vCPE.

[0186] In an exemplary embodiment, the first node is configured with a state machine, which records the status of each CPU core running a vCPE in real time. For example, if the status of CPU core 1 is "normal" (or "online"), the state machine records the status of CPU core 1 as "normal (or online)". Thus, the first node can determine whether the first vCPE has malfunctioned by checking the status of the CPU core occupied by the first vCPE recorded in the state machine.

[0187] In one example, the first vCPE occupies slot 1 of the computing board in the first node. Slot 1 is configured with CPU core 1, and the state machine of the first node records the following for CPU core 1: "Status value, slot 1, CPU core number 1". Here, CPU core number 1 is CPU core 1. Thus, the first node can determine whether the first vCPE occupying CPU core 1 is malfunctioning by checking the status value recorded in the state machine for CPU core 1. For example, if the status value of CPU core 1 is "normal / online", then the first vCPE is in a normal state. Conversely, if the status value of CPU core 1 is "abnormal / offline", then the first vCPE is in an abnormal state.

[0188] Optionally, the first node may periodically check the status of the CPU cores occupied by the first vCPE in order to promptly detect any abnormalities in the first vCPE. In this case, the embodiments of this application do not specifically limit the time interval for the first node to check the CPU core status.

[0189] Optionally, when the first node receives a message that needs to be processed by the first vCPE, it can check the status of the CPU cores occupied by the first vCPE through the BD ingress interface corresponding to the user to which the terminal sending the message belongs. If the BD ingress interface determines that the first vCPE is not abnormal based on the status of the CPU cores occupied by the first vCPE, it sends the message to the first vCPE corresponding to the BD for processing through the corresponding BD egress interface. If the BD ingress interface determines that the first vCPE is abnormal based on the status of the CPU cores occupied by the first vCPE, it executes the relevant steps in step 102.

[0190] Optionally, when the first node configures a second vCPE to take over from the first vCPE and provide network access services to the first terminal in the event of a first vCPE failure, the first node may also periodically check the status of the CPU cores occupied by the second vCPE to detect any abnormalities in the second vCPE in a timely manner. Alternatively, when the first node determines that the first vCPE has failed, it checks the status of the CPU cores occupied by the second vCPE, and if it determines that the second vCPE has not failed based on the checked status of the CPU cores occupied by the second vCPE, it executes the relevant steps in step 102 below.

[0191] To enhance understanding of the methods described in the embodiments of this application, the methods provided in the embodiments of this application will be further described below through an exemplary overall network architecture.

[0192] Referring to Figure 11, Figure 11 illustrates an application diagram of the method provided in an embodiment of this application. As shown in Figure 11, iBNG 1, iBNG 2, and iBNG 3 are deployed at the edge of the backbone network of a telecommunications operator, respectively used for network access of terminal clusters in different areas. For iBNG 1, vCPE 1, vCPE 2, and vCPE 3 are configured in iBNG 1.

[0193] vCPE 1 provides network access services to the terminal devices of home broadband users 11-13 (BD11-13). For example, vCPE 1, according to the services accessed by the terminal devices of home broadband users 11-13, sends packets from the terminal devices of home broadband users 11-13 to the iBNG 1GE interface via OLT 1 ​​to access the backbone network or edge network, so as to access the services deployed by the service provider's network through the backbone network or edge network. In the event of a failure of vCPE 1, vCPE 2, which serves as a backup vCPE 1, provides network access services to the terminal devices of home broadband users 11-13. For example, vCPE 2, according to the services accessed by the terminal devices of home broadband users 11-13, sends packets from the terminal devices of home broadband users 11-13 to the iBNG 1GE interface via OLT 1 ​​to access the backbone network or edge network, so as to access the services deployed by the service provider's network through the backbone network or edge network.

[0194] It should be understood that iBNG 1 can also assign vCPE 2 to provide network access services to users different from home broadband users 11-13 when vCPE 2 is used as a backup vCPE for vCPE 1 (not shown in Figure 11), without limitation. In this case, vCPE 1 can also take over from vCPE 2 to provide network access services to the terminal devices of the aforementioned users different from home broadband users 11-13 when vCPE 2 fails, which will not be elaborated further.

[0195] vCPE 3 is used to provide network access services for the terminal devices of home broadband users BD14-16. For example, according to the services accessed by the terminal devices of home broadband users BD14-16, vCPE 3 connects the terminal devices of home broadband users BD14-16 to the backbone network or edge network via OLT 1 ​​to send packets to the iBNG 1GE interface, so as to access the services deployed by the service provider's network through the backbone network or edge network. When vCPE 3 malfunctions, iBNG 1 forwards packets from the terminal devices of home broadband users 14-16 to iBNG 2 via the EVPN communication interface. iBNG 2's EVPN communication interface receives the packets and selects vCPE 4 within iBNG to provide network access services for the terminal devices of home broadband users 14-16. For example, vCPE 4, according to the services accessed by the terminal devices of home broadband users 14-16, connects the packets from these terminal devices to the backbone network or edge network to access services deployed by the service provider's network through the backbone network or edge network. vCPE 4 itself is used to provide network access services for the terminal devices of home broadband users 17-19 (BD for home BDs). For example, vCPE 4, based on the services accessed by the terminal devices of home broadband users 17-19, sends packets from these terminal devices via OLT 2 to the iBNG 2GE interface to access the backbone or edge network, allowing them to access services deployed by the service provider's network through the backbone or edge network. It should be understood that vCPE 3 can also provide network access services to the terminal devices of home broadband users 17-19 when vCPE 4 fails. The implementation process is similar to the description of vCPE 4 providing network access services to the terminal devices of home broadband users 14-16 when vCPE 3 fails, and will not be repeated here.

[0196] Similarly, iBNG 2 can also be configured with vCPE 5 and vCPE 6. Among them, vCPE 5 is used to provide network access services for the terminal devices of home broadband users 20-22 in BD for home broadband users 20-22. For example, according to the services accessed by the terminal devices of home broadband users 20-22, vCPE 5 connects the packets sent by the terminal devices of home broadband users 20-22 to the backbone network or edge network via OLT 2 to access the services deployed by the service provider's network through the backbone network or edge network. When vCPE 5 malfunctions, vCPE 6, which serves as a backup for vCPE 5, provides network access services to the terminal devices of home broadband users 20-22. For example, according to the services accessed by the terminal devices of home broadband users 20-22, vCPE 6 connects the terminal devices of home broadband users 20-22 to the backbone network or edge network via OLT 2 to send packets to the iBNG 2GE interface, so as to access the services deployed by the service provider's network through the backbone network or edge network.

[0197] It should be understood that iBNG 2 can also, when vCPE 6 is used as a backup vCPE for vCPE 5, assign network access services to users different from home broadband users 20-22 (not shown in Figure 11), without limitation. In this case, vCPE 5 can also take over from vCPE 6 to provide network access services to the terminal devices of the aforementioned users different from home broadband users 20-22 when vCPE 6 fails, which will not be elaborated further.

[0198] Additionally, in some scenarios, if the iBNG 1 node malfunctions, OLT 1, which connects the home broadband users 11-16 terminal devices and iBNG 1, can forward the packets sent by the terminal devices of home broadband users 11-16 to iBNG 3, which will then provide network access for home broadband users 11-16. It can be seen that iBNG 3 can be a backup node for iBNG 1, or it can be a load-sharing node for iBNG 1; there is no limitation on this. For an explanation of how iBNG 3 connects home broadband users 11-16 to the network, please refer to the above description of how iBNG 1 connects home broadband users 11-16 to the network; it will not be repeated here.

[0199] The above mainly describes the solution provided by the embodiments of this application from a methodological perspective.

[0200] To achieve the above functions, refer to FIG12, which shows a schematic diagram of a vCPE anomaly handling device provided in an embodiment of this application. As shown in FIG12, the vCPE anomaly handling device 1200 is applied to a first node running a first vCPE. The first vCPE is used to provide network access services to a first terminal. The network access services include services that connect the terminal to the edge cloud or backbone network according to the services requested by the terminal. The vCPE anomaly handling device 1200 is used to execute the vCPE anomaly handling method provided in the embodiment of this application, for example, to execute the part of the method described in FIG4, FIG6, FIG7 or FIG9 executed by the first node. The vCPE anomaly handling device 1200 may include a receiving unit 1201 and a processing unit 1202.

[0201] The receiving unit 1201 is configured to receive a first message from the first terminal. The processing unit 1202 is configured to enable the second vCPE to provide network access services to the first terminal that sent the first message in the event of an anomaly in the first vCPE.

[0202] As an example, referring to Figure 4, the receiving unit 1201 can be used to perform step 101, and the processing unit 1202 can be used to perform step 102.

[0203] Optionally, the second vCPE runs on the first node, or the second vCPE runs on a second node that communicates with the first node.

[0204] Optionally, the second vCPE is also used to provide network access services to the second terminal.

[0205] Optionally, the second vCPE runs on the first node, and the processing unit 1202 is specifically used to determine, based on the primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE, to provide network access services to the first terminal through the second vCPE.

[0206] Optionally, the processing unit 1202 is further configured to, before determining that the first terminal will be provided with network access services through the second vCPE based on the primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE, update the primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE in the event of an anomaly in the first vCPE. The updated primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE is used to instruct the second vCPE to provide network access services to the first terminal in place of the first vCPE.

[0207] Optionally, the processing unit 1202 is also specifically used to modify the weight of the first vCPE or modify the weight of the second vCPE. The relationship between the weight of the first vCPE and the weight of the second vCPE indicates the primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE.

[0208] Optionally, the vCPE anomaly handling device 1200 further includes: an acquisition unit 1203, configured to acquire user entries configured by the first vCPE when providing network access services to the first terminal through the second vCPE; and a sending unit 1204, configured to forward packets from the first terminal using the user entries through the second vCPE. The user entries are used to route packets from the first terminal.

[0209] Optionally, the first vCPE and the second vCPE share the first private network address. The sending unit 1204 is also used to send a first notification message to the first terminal. The first notification message includes the first private network address and the MAC address of the second vCPE. The first notification message instructs the first terminal to send messages using the first private network address and the MAC address of the second vCPE.

[0210] Optionally, processing unit 1202 is further configured to perform online operations on terminals in the first terminal cluster via the second vCPE, wherein the terminals in the first terminal cluster and the first terminal belong to the same user. Sending unit 1204 is configured to forward packets from the first terminal via the second vCPE using user entries obtained based on the online operation. The user entries are used to route packets from the first terminal.

[0211] Optionally, the receiving unit 1201 is further configured to receive a second message from the first terminal. The processing unit 1202 is further configured to provide network access services to the first terminal sending the second message through the first vCPE when it is determined that the first vCPE has returned to normal, or when it is determined that the second vCPE is abnormal and the first vCPE has returned to normal.

[0212] Optionally, the second vCPE operates on a second node that communicates with the first node. The processing unit 1202 is specifically used to redirect the first message to the second node in the event of an error in the first vCPE, so that the second vCPE in the second node can process the first message.

[0213] Optionally, a redirection channel is configured between the first node and the second node, which is used to transmit messages from the first terminal to the second node when the first vCPE fails.

[0214] Optionally, the processing unit 1202 is further configured to send the message from the first terminal to the first vCPE for processing when it is determined that the first vCPE has returned to normal.

[0215] Optionally, the sending unit 1204 is configured to send a second notification message to the second node, the second notification message instructing the second vCPE in the second node to delete the user entry, the user entry being used to route messages from the first terminal.

[0216] Optionally, the first node also operates a third vCPE, which provides network access services to the third terminal. The LPU of the interface board of the first node is configured with BRAS capability, and the receiving unit 1201 is also used to receive third packets from the third terminal. The processing unit 1202 is also used to provide backbone network access services to the third terminal sending the third packet through the BRAS capability provided by the LPU in the event of an anomaly in the third vCPE.

[0217] As an example, referring to Figure 7, the receiving unit 1201 can be used to perform step 201, and the processing unit 1202 can be used to perform step 202.

[0218] Optionally, the processing unit 1202 is further configured to provide backbone network access services to the third terminal through the BRAS capabilities provided by the LPU when both the third vCPE and the fourth vCPE malfunction. The fourth vCPE is used to provide network access services to the third terminal in place of the third vCPE when the third vCPE malfunctions.

[0219] Optionally, the vCPE anomaly handling device 1200 further includes: a detection unit 1205, used to detect whether the first vCPE is abnormal by heartbeat message before enabling the second vCPE to provide network access service to the first terminal sending the first message; or, to determine whether the first vCPE is abnormal by querying the working status of the processor CPU core occupied by the first vCPE.

[0220] For a detailed description of the above-mentioned optional methods, please refer to the foregoing method embodiments, which will not be repeated here. Furthermore, the explanation of any of the vCPE anomaly handling devices 1200 provided above, as well as the description of their beneficial effects, can be found in the corresponding method embodiments described above, and will not be repeated here.

[0221] Referring to FIG13, FIG13 shows a schematic diagram of another vCPE exception handling apparatus provided in an embodiment of the present application. As shown in FIG13, the vCPE exception handling apparatus 1300 is applied to a second node running a second vCPE and is used to execute the vCPE exception handling method provided in the embodiment of the present application, for example, to execute the part of the method described in FIG4, FIG6, FIG7 or FIG9 executed by the second node. The vCPE exception handling apparatus 1300 may include a receiving unit 1301 and a processing unit 1302.

[0222] The receiving unit 1301 is used to receive a message forwarded by the first node from the first terminal. The first node runs a first vCPE, which provides network access services to the first terminal. The network access services include services that connect the terminal to the edge cloud or backbone network according to the services requested by the terminal. The processing unit 1302 is used to provide network access services to the first terminal that initiated the message through a second vCPE.

[0223] Optionally, the second vCPE is also used to provide network access services to the second terminal based on the messages sent by the second terminal.

[0224] For a detailed description of the above-mentioned optional methods, please refer to the foregoing method embodiments, which will not be repeated here. Furthermore, the explanation of any of the vCPE anomaly handling devices 1300 provided above, as well as the description of their beneficial effects, can be found in the corresponding method embodiments described above, and will not be repeated here.

[0225] Those skilled in the art will readily recognize that, based on the units and algorithm steps described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is implemented in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0226] It should be noted that the module / unit divisions in Figures 12 and 13 are illustrative and represent only one logical functional division. In actual implementation, other division methods are possible. For example, two or more functions can be integrated into a single processing module. The functions implemented by the integrated modules described above can be implemented either in hardware or as software functional modules.

[0227] This application provides a network node for implementing some or all of the functions in the vCPE exception handling method provided in this application. For example, the network node may be the first node or the second node described above.

[0228] Referring to Figure 14, which is a schematic diagram of a network node structure provided in an embodiment of this application, the network node 1400 includes a processor 1401, a memory 1402, a communication interface 1403, and a bus 1404. The processor 1401, memory 1402, and communication interface 1403 are interconnected via the bus 1404.

[0229] Processor 1401 may include a general-purpose processor and / or a dedicated hardware chip. The general-purpose processor may include a CPU, a microprocessor, or a graphics processing unit (GPU). The CPU may be a single-core processor or a multi-core processor. The dedicated hardware chip is a high-performance processing hardware module. The dedicated hardware chip includes at least one of the following: digital signal processing (DSP), data processing unit (DPU), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, neural processing unit (NPU), tensor processing unit (TPU), artificial intelligence (AI) chip, or network processor (NP). Processor 1401 may also be an integrated circuit chip with signal processing capabilities. In implementation, some or all of the functions of the methods provided in this application embodiment may be implemented through the integrated logic circuitry of the hardware in processor 1401 or through software instructions.

[0230] Memory 1402 is used to store computer programs, including operating system 1402a and executable code (i.e., program instructions) 1402b. Memory 1402 is, for example, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, or other types of static storage devices capable of storing static information and instructions; it is also such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), and synchronous linked dynamic random access memory (SDRAM). DRAM (SLDRAM) or other types of dynamic storage devices capable of storing information and instructions, such as read-only optical discs or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired executable code in the form of instructions or data structures and accessible by a computer, but not limited thereto. For example, memory 1402 is used to store user entries, etc. Memory 1402 may exist independently and be connected to processor 1401 via bus 1404. Alternatively, memory 1402 and processor 1401 may be integrated together. Memory 1402 can store executable code. When the executable code stored in memory 1402 is executed by processor 1401, processor 1401 performs some or all of the functions of the method provided in the embodiments of this application. Please refer to the relevant descriptions in the foregoing embodiments for the implementation of the processor 1401 executing this process. Memory 1402 may also include software modules and data required by other running processes, such as operating systems.

[0231] Communication interface 1403 uses a transceiver module, such as, but not limited to, a transceiver, to enable communication with other devices or communication networks. For example, communication interface 1403 can be any one or any combination of the following devices: a network interface (such as an Ethernet interface), a wireless network card, or other devices with network access capabilities. Communication interface 1403 includes a receiving unit for receiving data / messages and a sending unit for sending data / messages.

[0232] Bus 1404 is any type of communication bus used to interconnect internal devices (e.g., memory 1402, processor 1401, communication interface 1403) of network node 1400. For example, a system bus. This embodiment illustrates the interconnection of these internal devices of network node 1400 via bus 1404. Optionally, the internal devices of network node 1400 can also communicate with each other using other connection methods besides bus 1404; for example, the internal devices of network node 1400 can be interconnected through internal logic interfaces.

[0233] It should be noted that the aforementioned devices can be disposed on separate chips, or at least partially or entirely on the same chip. Whether to dispose of the devices independently on different chips or integrate them on one or more chips often depends on the needs of the product design. This application does not limit the specific implementation of the aforementioned devices. Furthermore, the descriptions of the processes corresponding to the various figures above each have their own emphasis; for parts of a process not described in detail in one figure, please refer to the relevant descriptions of other processes.

[0234] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product providing the program development platform includes one or more computer instructions, which, when loaded and executed on the network node 1400, implement some or all of the functions of the methods provided in the embodiments of this application.

[0235] Furthermore, computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium stores computer program instructions that provide a program development platform.

[0236] In one example, referring to Figure 12, the functions implemented by the processing unit 1202 and the detection unit 1205 shown in Figure 12 can be implemented by the processor 1401 shown in Figure 14 executing the program code in the memory 1402. The functions implemented by the receiving unit 1201, the acquisition unit 1203 and the sending unit 1204 can be implemented by the communication interface 1403 in Figure 14.

[0237] In another example, referring to Figure 13, the function implemented by the receiving unit 1301 shown in Figure 13 can be implemented by the communication interface 1403 in Figure 14, and the function implemented by the processing unit 1302 can be implemented by the processor 1401 shown in Figure 14 executing the program code in the memory 1402.

[0238] This application also provides a vCPE anomaly handling system. The system includes a first vCPE and a second vCPE. The first vCPE provides network access services to a first terminal, including services that connect the terminal to an edge cloud or backbone network according to the terminal's requested access services. The system executes the method provided in this application to enable the second vCPE to take over providing network access services to the first terminal when the first vCPE malfunctions.

[0239] Optionally, both the first vCPE and the second vCPE run on the first node.

[0240] Optionally, the first vCPE runs on the first node, and the second vCPE runs on the second node.

[0241] This application also provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium. The computer-readable storage medium includes computer program instructions. When the computer program instructions are executed by a processor, a computing device including the processor, or a computer system, the processor, the computing device including the processor, or the computer system performs the vCPE exception handling method provided in this application.

[0242] This application also provides a computer program product containing instructions that, when executed by a processor, a computing device including a processor, or a computer system, cause the processor, the computing device including a processor, or the computer system to implement the vCPE exception handling method provided in this application.

[0243] A computer system is a system with computational processing capabilities. A computer system generally includes a processor and memory. The processor retrieves and executes instructions stored in memory to enable the computer system to implement the vCPE exception handling method described above. Optionally, a computer system may also include at least one of an input interface or an output interface. The processor, memory, input interface, and output interface of the computer system are interconnected through internal connection paths.

[0244] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware, or by a program instructing the relevant hardware to implement them. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0245] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, data stored, data displayed, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0246] This application also provides a chip that includes a processor for running program instructions or code. The chip or a device containing the chip can be used to execute the vCPE exception handling method provided in this application. Exemplarily, the chip further includes an input interface, an output interface, and a memory. The chip's input interface, output interface, processor, and memory are connected via internal interconnection paths. The memory in the chip stores program instructions or code executed by the processor, and the input and output interfaces are used for communication and connection between the chip and other chips or devices.

[0247] In the embodiments of this application, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance. The term "at least one" refers to one or more, and the term "multiple" refers to at least two, unless otherwise expressly defined.

[0248] In this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.

[0249] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing particular examples only and is not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.

[0250] It should be understood that determining B based on A does not mean determining B solely based on A; B can also be determined based on A and / or other information.

[0251] It should be understood that the term "comprising" (also referred to as "includes", "including", "comprises" and / or "comprising") as used in this specification specifies the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0252] It should also be understood that, in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0253] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the concept and principles of this application should be included within the protection scope of this application.

[0254] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this invention.

Claims

1. A method for handling anomalies in a virtual client terminal device (vCPE), characterized in that, The method is applied to a first node running a first vCPE, the first vCPE being used to provide network access services to a first terminal, the network access services including services that connect the terminal to an edge cloud or backbone network according to the services requested by the terminal; the method includes: Receive the first message from the first terminal; In the event of an anomaly in the first vCPE, the second vCPE is activated to provide network access services to the first terminal that sent the first message.

2. The method of claim 1, wherein, The second vCPE runs on the first node, or the second vCPE runs on a second node that communicates with the first node.

3. The method according to claim 1 or 2, characterized in that, The second vCPE is also used to provide network access services to the second terminal.

4. The method according to any one of claims 1 to 3, characterized in that, The second vCPE runs on the first node, and enabling the second vCPE to provide network access services to the first terminal that sent the first message includes: Based on the primary / backup relationship or load-sharing relationship between the first vCPE and the second vCPE, it is determined that the second vCPE will provide network access services to the first terminal.

5. The method of claim 4, wherein, Before determining, based on the primary / standby relationship or load-sharing relationship between the first vCPE and the second vCPE, to provide network access services to the first terminal via the second vCPE, the method further includes: In the event of an anomaly in the first vCPE, the primary / standby relationship or load-sharing relationship between the first vCPE and the second vCPE is updated. The updated primary / standby relationship or load-sharing relationship between the first vCPE and the second vCPE is used to instruct the second vCPE to provide network access services to the first terminal in place of the first vCPE.

6. The method of claim 5, wherein, Updating the primary / standby relationship or load balancing relationship between the first vCPE and the second vCPE includes: Modify the weight of the first vCPE or modify the weight of the second vCPE. The relationship between the weights of the first vCPE and the second vCPE indicates the primary / standby relationship or load-sharing relationship between the first vCPE and the second vCPE.

7. The method according to any one of claims 4 to 6, characterized in that, The method further includes: The user entries configured by the first vCPE when providing network access services to the first terminal are obtained through the second vCPE. The user entries are used to route packets from the first terminal. The second vCPE uses the user entry to forward packets from the first terminal.

8. The method of claim 7, wherein, The first vCPE and the second vCPE share a first private network address, and the method further includes: A first notification message is sent to the first terminal. The first notification message includes the first private network address and the media access control MAC address of the second vCPE. The first notification message instructs the first terminal to send messages using the first private network address and the MAC address of the second vCPE.

9. The method according to any one of claims 4 to 6, characterized in that, The method further includes: The second vCPE performs an online operation on the terminals in the first terminal cluster, and the terminals in the first terminal cluster and the first terminal belong to the same user. The second vCPE uses user entries obtained based on the online operation to forward packets from the first terminal, and the user entries are used to route packets from the first terminal.

10. The method according to any one of claims 4 to 9, characterized in that, The method further includes: Receive a second message from the first terminal; If it is determined that the first vCPE has returned to normal, or if it is determined that the second vCPE is abnormal and the first vCPE has returned to normal, network access service is provided to the first terminal that sends the second message through the first vCPE.

11. The method according to any one of claims 1 to 3, characterized in that, The second vCPE operates on a second node that communicates with the first node. The step of enabling the second vCPE to provide network access services to the first terminal that sent the first message in the event of an anomaly in the first vCPE includes: In the event of an anomaly in the first vCPE, the first message is redirected to the second node so that the second vCPE in the second node can process the first message.

12. The method of claim 11, wherein, A redirection channel is configured between the first node and the second node, which is used to transmit messages from the first terminal to the second node when the first vCPE is abnormal.

13. The method according to claim 11 or 12, characterized in that, The method further includes: Once it is determined that the first vCPE has returned to normal, the message from the first terminal is sent to the first vCPE for processing.

14. The method of claim 13, wherein, The method further includes: A second notification message is sent to the second node, the second notification message instructing the second vCPE in the second node to delete the user entry, the user entry being used to route messages from the first terminal.

15. The method according to any one of claims 1 to 14, characterized in that, The first node also runs a third vCPE, which provides network access services to a third terminal. The line processing unit (LPU) of the interface board of the first node is configured with Broadband Remote Access Server (BRAS) capabilities. The method further includes: Receive a third message from the third terminal; In the event of an anomaly in the third vCPE, the BRAS capability provided by the LPU enables the third terminal that sent the third message to access the backbone network.

16. The method of claim 15, wherein, In the event of an anomaly in the third vCPE, the provision of backbone network access services to the third terminal sending the third message through the BRAS capability provided by the LPU includes: In the event that both the third vCPE and the fourth vCPE malfunction, the BRAS capability provided by the LPU provides the third terminal with access to the backbone network; wherein, the fourth vCPE is used to provide network access services to the third terminal in place of the third vCPE when the third vCPE malfunctions.

17. The method of any one of claims 1 to 16, wherein, Before enabling the second vCPE to provide network access services to the first terminal that sent the first message, the method further includes: Detect whether the first vCPE is malfunctioning by sending a heartbeat message; or... By querying the working status of the processor CPU core occupied by the first vCPE, it can be determined whether the first vCPE is abnormal. 18.A method for handling a virtual customer premises equipment (vCPE) anomaly, the method comprising: Applied to a second node running a second vCPE, the method includes: The first node receives a message forwarded from the first terminal. The first node is equipped with a first vCPE. The first vCPE is used to provide network access services to the first terminal. The network access services include services that connect the terminal to the edge cloud or backbone network according to the services requested by the terminal. The second vCPE provides network access services to the first terminal that initiates the message.

19. The method of claim 18, wherein, The second vCPE is also used to provide network access services to the second terminal based on the messages sent by the second terminal.

20. A device for handling anomalies in a virtual client terminal device (vCPE), characterized in that, An apparatus is applied to a first node running a first vCPE, the first vCPE being used to provide network access services to a first terminal, the network access services including services that connect the terminal to an edge cloud or backbone network according to the services requested by the terminal; the apparatus includes: The receiving unit is configured to receive a first message from the first terminal; The processing unit is configured to enable the second vCPE to provide network access services to the first terminal that sent the first message in the event of an anomaly in the first vCPE.

21. The apparatus of claim 20, wherein, The second vCPE runs on the first node, or the second vCPE runs on a second node that communicates with the first node.

22. The method of claim 20 or 21, wherein, The second vCPE is also used to provide network access services to the second terminal.

23. The apparatus of any one of claims 20-22, wherein, The second vCPE runs on the first node. The processing unit is specifically configured to determine, based on the primary / backup relationship or load-sharing relationship between the first vCPE and the second vCPE, to provide network access services to the first terminal through the second vCPE.

24. The apparatus according to claim 23, characterized in that, The processing unit is further configured to, before determining that the first terminal will be provided with network access services through the second vCPE based on the primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE, update the primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE in the event of an anomaly in the first vCPE. The updated primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE is used to instruct the second vCPE to provide network access services to the first terminal in place of the first vCPE.

25. The apparatus according to claim 24, characterized in that, The processing unit is also specifically used to modify the weight of the first vCPE or the weight of the second vCPE. The relationship between the weights of the first vCPE and the second vCPE indicates the primary / standby relationship or load sharing relationship between the first vCPE and the second vCPE.

26. The apparatus of any one of claims 23-25, wherein, The device further includes: The acquisition unit is configured to acquire, through the second vCPE, user entries configured by the first vCPE when providing network access services to the first terminal, wherein the user entries are used to route packets from the first terminal; The sending unit is configured to forward packets from the first terminal using the user entry via the second vCPE.

27. The apparatus of claim 26, wherein, The first vCPE and the second vCPE share the first private network address. The sending unit is further configured to send a first notification message to the first terminal. The first notification message includes the first private network address and the media access control MAC address of the second vCPE. The first notification message instructs the first terminal to send a message using the first private network address and the MAC address of the second vCPE.

28. The apparatus according to any one of claims 23 to 25, characterized in that, The processing unit is further configured to perform an online operation on the terminals in the first terminal cluster through the second vCPE, wherein the terminals in the first terminal cluster and the first terminal belong to the same user; The device further includes: The sending unit is configured to forward packets from the first terminal via the second vCPE using user entries obtained based on the online operation, wherein the user entries are used to route packets from the first terminal.

29. The apparatus according to any one of claims 23 to 28, characterized in that, The receiving unit is further configured to receive a second message from the first terminal; The processing unit is further configured to provide network access services to the first terminal that sent the second message through the first vCPE when it is determined that the first vCPE has returned to normal, or when it is determined that the second vCPE is abnormal and the first vCPE has returned to normal.

30. The apparatus of any one of claims 20-22, wherein, The second vCPE runs on a second node that communicates with the first node. The processing unit is specifically configured to redirect the first message to the second node in the event of an anomaly in the first vCPE, so that the second vCPE in the second node can process the first message.

31. The apparatus of claim 30, wherein, A redirection channel is configured between the first node and the second node, which is used to transmit messages from the first terminal to the second node when the first vCPE is abnormal.

32. The apparatus according to claim 30 or 31, characterized in that, The processing unit is further configured to, upon determining that the first vCPE has returned to normal operation, send the message from the first terminal to the first vCPE for processing.

33. The apparatus of claim 32, wherein, The device further includes: The sending unit is configured to send a second notification message to the second node, the second notification message instructing the second vCPE in the second node to delete a user entry, the user entry being used to route messages from the first terminal.

34. The apparatus of any one of claims 20-33, wherein, The first node also runs a third vCPE, which provides network access services to third terminals. The Line Processing Unit (LPU) of the interface board of the first node is configured with Broadband Remote Access Server (BRAS) capabilities. The receiving unit is also configured to receive a third message from the third terminal; The processing unit is also configured to provide the third terminal sending the third message with access to the backbone network through the BRAS capability provided by the LPU in the event of an anomaly in the third vCPE.

35. The apparatus according to claim 34, characterized in that, The processing unit is further configured to provide the third terminal with access to the backbone network through the BRAS capability provided by the LPU when both the third vCPE and the fourth vCPE malfunction; wherein the fourth vCPE is configured to provide network access service to the third terminal in place of the third vCPE when the third vCPE malfunctions.

36. The apparatus of any one of claims 20-35, wherein, The device further includes: The detection unit is configured to detect whether the first vCPE is abnormal by using heartbeat messages before enabling the second vCPE to provide network access services to the first terminal that sent the first message; or, to determine whether the first vCPE is abnormal by querying the working status of the processor CPU core occupied by the first vCPE.

37. An apparatus for handling a virtual customer premises equipment vCPE anomaly, the apparatus comprising: means for receiving a vCPE anomaly notification message; and means for determining whether to take action based on the vCPE anomaly notification message. The device, applied to a second node running a second vCPE, includes: The receiving unit is used to receive a message forwarded by the first node from the first terminal. The first node is equipped with a first vCPE, which is used to provide network access services to the first terminal. The network access services include services that connect the terminal to the edge cloud or backbone network according to the services requested by the terminal. The processing unit is configured to provide network access services to the first terminal that initiated the message through the second vCPE.

38. The device of claim 37, wherein, The second vCPE is also used to provide network access services to the second terminal based on the messages sent by the second terminal.

39. A device for handling anomalies in a virtual client terminal device (vCPE), characterized in that, include: The device includes a memory, a communication interface, and one or more processors, the one or more processors receiving or transmitting data through the communication interface, the one or more processors being configured to read program instructions stored in the memory to perform the method as described in any one of claims 1 to 19.

40. A system for handling a virtual customer premises equipment vCPE anomaly, the system comprising: The system includes a first vCPE and a second vCPE. The first vCPE is used to provide network access services to a first terminal. The network access services include services that connect the terminal to an edge cloud or backbone network according to the services requested by the terminal. The system is used to execute the method as described in any one of claims 1 to 17 to enable the second vCPE to take over from the first vCPE and provide network access services to the first terminal when the first vCPE malfunctions.

41. The system of claim 40, wherein, Both the first vCPE and the second vCPE run on the first node.

42. The system of claim 40, wherein, The first vCPE runs on the first node, and the second vCPE runs on the second node.

43. A computer program product comprising instructions, wherein: When the instructions are executed by a processor, the processor or a device including the processor performs the method as described in any one of claims 1 to 19.

44. A computer-readable storage medium, comprising: It includes computer program instructions, which, when executed by a processor, cause the processor or a device including the processor to perform the method as claimed in any one of claims 1 to 19.