Packet processing method and apparatus

By identifying and prioritizing forwarding of service messages from important applications in network devices, and using dynamically generated QoS policies, the problem of poor experience of important applications during network congestion is solved, and more efficient and reliable network services are achieved.

WO2025102666A1PCT designated stage expired Publication Date: 2025-05-22HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/095643
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-17
Filing Date
2024-05-28
Publication Date
2025-05-22

AI Technical Summary

Technical Problem

In a communication network, when the network is congested, how to ensure that the service packets of important applications can be forwarded first and ensure their application experience?

Method used

By obtaining the policy set in the network device, identifying the application identifier of the service message, and processing it according to the corresponding quality of service (QoS) policy, priority is given to forwarding service messages of important applications. This QoS policy is generated based on the packet statistics of the target application and can be dynamically adjusted to deal with network changes.

Benefits of technology

It effectively reduces the problems of service packet loss and delay caused by network congestion in important applications, ensures the application experience of important applications, and improves the efficiency and reliability of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024095643_22052025_PF_FP_ABST
    Figure CN2024095643_22052025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a packet processing method and apparatus, appliable to the field of communications. The method comprises: a first network device acquires a policy set, wherein the policy set comprises a first identifier and a quality of service (QoS) policy corresponding to the first identifier, the first identifier corresponds to a target application, and the QoS policy corresponding to the first identifier is a policy generated on the basis of packet statistical information of the target application; the first network device obtains a second identifier on the basis of the received first service packet; when determining that the second identifier is the same as the first identifier, the first network device processes the first service packet on the basis of the QoS policy corresponding to the first identifier.
Need to check novelty before this filing date? Find Prior Art

Description

A message processing method and device

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on November 17, 2023, with application number 202311544449.X and invention name “A message processing method and device”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The embodiments of the present application relate to the field of communications, and in particular to a message processing method and apparatus. Background Art

[0003] In communication networks, congestion caused by insufficient network resources is extremely common. Quality of service (QoS) capability is a fundamental network technology that can provide end-to-end service quality assurance for different business needs within limited network resources.

[0004] A popular approach currently is to use the Differentiated Services (DiffServ) model within the QoS model to process service packets. The basic principle of the DiffServ model is to classify service packets in the communication network into multiple classes, generally divided into four service categories: voice, video, data, and background. Different classes experience different packet loss rates, latency, and jitter. Services of the same class are aggregated and sent together within the network to ensure consistent packet loss rates, latency, and jitter.

[0005] Service classification is a relatively coarse-grained QoS policy implementation. The same service classification may include multiple different applications (APPs). When the sending network is congested and multiple applications with the same service classification coexist on the network, how to ensure the application experience of important applications will become a pressing issue.

[0006] Summary of the Invention

[0007] The embodiments of the present application provide a message processing method and related devices, which can enable network devices to preferentially forward service messages of important applications and ensure the application experience of important applications.

[0008] The first aspect of the present application provides a message processing method, comprising:

[0009] The first network device obtains a policy set, which includes at least one first identifier and a quality of service QoS policy corresponding to each first identifier, each first identifier corresponds to a target application, and the QoS policy corresponding to the first identifier is a policy generated based on the message statistical information of the target application; the first network device receives a first business message, and performs feature identification on the first business message to obtain a second identifier; when the first network device determines that the second identifier is the same as one of the first identifiers, the first business message is processed based on the QoS policy corresponding to the first identifier.

[0010] In the present application, the first network device may be a network device such as a gateway device, a switch or a wireless access point that has the ability to process data packets. The features for feature identification of the first business message may include the source Internet Protocol (IP) address, the destination IP address, the port number, the protocol type, the Domain Name System (DNS) domain name and other information.

[0011] Using the above method, since the QoS policy in the policy set is generated through the message statistics information of the target application, the message statistics information represents the network quality of the target application when performing message statistics; for this, a QoS policy for the network quality can be generated. If the message statistics information is periodic, the QoS policy can be further dynamically generated. After the first network device receives the policy set, it identifies the application identifier of the received service message, and when the application identifier is one of the first identifiers in the policy set, the service message is processed according to the corresponding QoS policy. Specifically, the service message can be forwarded first, which can reduce the problems of packet loss and delay of the service message of the target application due to network congestion, thereby ensuring the application experience of the target application.

[0012] In some optional implementations, the first network device obtains the policy set, including: the first network device receives the policy set sent by the second network device; or the first network device obtains the policy set through static configuration.

[0013] In this application, the second network device can be a network device deployed on a cloud platform (hereinafter referred to as a cloud device), or a central policy server, a general access controller, a gateway device, or a local server. Correspondingly, the target application can be an application that the user has determined on the second network device and requires a guaranteed application experience.

[0014] By adopting the above method, the feasibility and flexibility of the first network device in acquiring the policy set are improved.

[0015] In some optional embodiments, the packet statistical information of the target application includes information obtained after feature identification of service packets in the interface queues of N network devices, wherein the N network devices include one or more of the first network device and the third network device, and N is an integer greater than or equal to 1.

[0016] This method captures service packets from interface queues on multiple network devices and uses signature recognition technology to collect and analyze these packets. By collecting and analyzing network packet data, we can better understand network behavior and performance, allowing us to identify and resolve network issues promptly.

[0017] In some optional embodiments, the policy set also includes a priority corresponding to each first identifier, a priority for processing priority service messages, and processing the first service message based on the QoS policy corresponding to the first identifier, including: the first network device obtains a second service message based on the received first service message and the priority corresponding to the first identifier, and the second service message includes the priority corresponding to the first identifier.

[0018] In this application, the priority here can be the Differentiated Services Code Point (DSCP) value in the IP header, or the 802.1p value in the link layer protocol header, which is set to the highest forwarding level or a higher priority.

[0019] Using the above method, the first network device will process the business message according to the priority corresponding to the first identifier, and the business message with high priority will be processed first; further, when the business message of the target application is forwarded to other network devices, the network device will process the business message according to the priority, thereby ensuring the application experience of the target application.

[0020] In some optional embodiments, the first network device determines that the second identifier is the same as one of the first identifiers, and processes the first service message based on the QoS policy corresponding to the first identifier, including: the first network device determines that the second identifier is the same as one of the first identifiers, then stores the description information of the first service message in the first queue corresponding to the second identifier, the first queue is one of multiple application queues, and each queue in the multiple application queues corresponds to an application identifier; the service message of the first queue is sent before the service message of the second queue, and the application identifier corresponding to the second queue is not included in the policy set.

[0021] Correspondingly, when the second identifier is different from any of the first identifiers, the first service message is stored in the second queue corresponding to the second identifier.

[0022] In this application, what is stored in the queue is the description information or descriptor of the service message. This description information may include information such as the length, content, type, etc. of the service message, but does not include the actual message data. When the description information is out of the queue, it means that the network device has sent the corresponding service message.

[0023] Using the above method, when the first network device stores the received business messages in the queue, it adds a new application queue based on the identified application identifier and stores the corresponding business messages according to different application identifiers; the business messages in the application queue corresponding to the first identifier are sent in priority over the business messages in other application queues; this allows the first network device to distinguish the business messages of different applications and give priority to sending the business messages of the target applications that need to be protected, thereby ensuring the application experience of the target applications.

[0024] In some optional implementations, the policy set further includes a reserved bandwidth corresponding to the first identifier, where the reserved bandwidth is used to indicate a bandwidth reserved for service packets of the target application.

[0025] In this application, the reserved bandwidth here can be software reservation, which refers to reserving bandwidth for the application queue of the aforementioned target application; it can also be hardware / air interface reservation, which refers to reserving bandwidth for the hardware queue or air interface queue when the hardware queue or air interface queue used sends the service message.

[0026] By adopting the above method, the first network device can ensure that the target application obtains the required bandwidth resources, thereby reducing the transmission delay and improving the response speed of the target application.

[0027] In some optional implementations, the method further includes: the first network device sending instruction information to the terminal device, where the instruction information is used to instruct the terminal device to give priority to reporting service messages of the target application.

[0028] In the present application, the indication information here may include a queue identifier or a service identifier, so that the terminal device sends the service message of the target application according to the queue identifier or service identifier; or the indication information changes the wireless multimedia service (wireless multi-media, WMM) parameter of the terminal device to the aforementioned priority parameter, so that the terminal device reports the service message according to the new priority.

[0029] By adopting the above method, even if the terminal device runs multiple different applications at the same time, it can ensure that the data transmission of the target application has the highest priority, thereby preventing other applications from interfering with or delaying the data transmission of the target application.

[0030] In some optional implementations, the second network device is a network cloud engine (NCE), an analyzer, or a server for managing the first network device.

[0031] In some optional embodiments, the policy set also includes a collaborative policy, the collaborative policy includes a user identifier of an important customer VIP user, and the collaborative policy is used to indicate the available bandwidth between the target application and the VIP user; the method also includes: the first network device identifies the user identifier from the first business message; if the user identifier is included in the user identifier of the VIP user, the first network device processes the first business message according to the collaborative policy.

[0032] In this application, the collaborative strategy here is a strategy negotiated based on the business priorities of both parties. The specific collaborative strategy may be to send the business message of the target application first, or to send the business message of the VIP user first, or both may occupy bandwidth according to a certain weight and be sent. There is no specific limitation.

[0033] A second aspect of the present application provides a message processing method, including:

[0034] The second network device obtains a statistical information set, which includes packet statistical information of the target application; the second network device generates a policy set based on the statistical information set, which includes a first identifier and a quality of service QoS policy corresponding to the first identifier, and the first identifier corresponds to the target application; the second network device sends the policy set to the first network device.

[0035] Using the above method, the second network device collects statistical information and generates a policy set, which is then sent to the first network device. This allows for better understanding of network traffic and application requirements, enabling the development of more effective policies. This interaction enables network devices to more intelligently adjust their behavior to adapt to network changes and meet application needs. The first network device, in turn, determines and processes the service packets of the target application based on these policies. This reduces packet loss and latency issues associated with network congestion for the target application, ensuring a superior user experience for the target application. Furthermore, this collaborative approach improves network efficiency and reliability.

[0036] In some optional embodiments, the packet statistical information of the target application includes information obtained after feature identification of service packets in the interface queues of N network devices, where the N network devices include one or more of the first network device and the third network device, and N is an integer greater than or equal to 1.

[0037] This method captures service packets from interface queues on multiple network devices and uses signature recognition technology to collect and analyze these packets. By collecting and analyzing network packet data, we can better understand network behavior and performance, allowing us to identify and resolve network issues promptly.

[0038] In some optional embodiments, the second network device generates a policy set based on the statistical information set, including: the second network device determines the QoS measurement parameters corresponding to the target application based on the statistical information set, and the QoS measurement parameters are used to describe the network quality of the target application; the second network device generates the policy set based on the QoS measurement parameters.

[0039] Using the above method, the second network device evaluates the network quality of the target application by analyzing the statistical information set and generates QoS measurement parameters based on this information. These parameters can describe the performance of the target application in the network environment, such as delay, packet loss rate, bandwidth, etc. Since the statistical information set is obtained by statistically identifying the characteristics of the service messages in the interface queue, the QoS measurement parameters of the target application are determined by analyzing the network conditions of the target application in the interface queue being counted, which simplifies the complexity of the application experience measurement. Furthermore, the second network device can also feed back the policy set and real-time statistical information to the first network device. In this way, the first network device can also dynamically adjust its own behavior based on this information to better meet the QoS requirements of the target application.

[0040] In some optional embodiments, the statistical information set includes one or more of the number of application messages of the target application at multiple times, the number of queue messages based on the interface queue, the number of queue packet losses, the queue depth and the message sending rate; the second network device determines the QoS measurement parameters corresponding to the target application based on the statistical information set, including: the second network device determines one or more of the application bandwidth, application packet loss and application delay of the target application based on the statistical information set, the application bandwidth is obtained based on the number of application messages of the target application at multiple times; the application packet loss is obtained based on the number of queue messages, the queue packet loss number and the application bandwidth; the application delay is obtained based on the queue depth and the message sending rate.

[0041] Using the above method, the second network device calculates the target application's QoS metrics, including application bandwidth, application packet loss, and application latency, by counting parameters such as the target application's application packet count, queue-based queue packet count, queue packet loss count, queue depth, and packet sending rate at multiple times. This simplifies application experience measurement. These QoS metrics can help the network device better manage network traffic, thereby providing improved quality of service for different target applications.

[0042] In some optional embodiments, the second network device generates a policy set based on QoS measurement parameters, including: the second network device evaluates and simulates the target application according to the QoS measurement parameters of the target application to obtain the guarantee standard of the target application, where the guarantee standard is one or more of the message priority and bandwidth required to ensure the network quality of the target application in the simulation environment; the second network device generates a policy set according to the guarantee standard of the target application.

[0043] Using the above method, the second network device will evaluate and simulate the performance of the target application in the network environment based on the QoS measurement parameters of the target application, thereby obtaining one or more guarantee standards in the message priority and bandwidth required to ensure the network quality of the target application. This can ensure the operating quality of the target application in the network environment and can be adjusted and optimized according to the actual network environment and the needs of the target application.

[0044] In some optional implementations, the policy set further includes a priority corresponding to the first identifier, where the priority is used to indicate a priority for processing the service message.

[0045] By using the above method, the first network device can process the business message according to the priority corresponding to the first identifier, and the business message with high priority will be processed first; further, when the business message of the target application is forwarded to other network devices, the network device will process the business message according to the priority, thereby ensuring the application experience of the target application.

[0046] In some optional implementations, the policy set further includes a reserved bandwidth corresponding to the first identifier, where the reserved bandwidth is a guaranteed bandwidth for the target application and is used to indicate the bandwidth reserved by the first network device for service packets of the target application corresponding to the first identifier.

[0047] By adopting the above method, the first network device can ensure that the target application obtains the required bandwidth resources, thereby reducing the transmission delay and improving the response speed of the target application.

[0048] In some optional implementations, the second network device is an NCE, an analyzer, or a server for managing the first network device.

[0049] In some optional implementations, the policy set further includes a collaborative policy, the collaborative policy includes a user identifier of an important customer VIP user, and the collaborative policy is used to indicate the available bandwidth between the target application and the VIP user.

[0050] In this application, the collaborative strategy here is similar to the collaborative strategy in the first aspect and will not be repeated here. The first network device can perform feature recognition on the service message when receiving the service message to obtain the user identifier of the service message; if the user identifier is included in the user identifier of the VIP user, the first network device processes the first service message according to the collaborative strategy.

[0051] A third aspect of the present application provides a message processing device, which is provided in a first network device and includes:

[0052] A transceiver module is used to obtain a policy set, wherein the policy set includes a first identifier and a quality of service QoS policy corresponding to the first identifier, the first identifier corresponds to a target application, and the QoS policy corresponding to the first identifier is a policy generated based on the message statistics information of the target application; a processing module is used to obtain a second identifier based on the received first business message; the processing module is also used to determine that the second identifier is the same as the first identifier, and process the first business message based on the QoS policy corresponding to the first identifier.

[0053] In some optional implementations, the transceiver module is specifically configured to: receive a policy set sent by the second network device; or obtain the policy set through static configuration.

[0054] In some optional embodiments, the packet statistical information of the target application includes information obtained after feature identification of service packets in the interface queues of N network devices, where the N network devices include one or more of the first network device and the third network device, and N is an integer greater than or equal to 1.

[0055] In some optional embodiments, the policy set also includes a priority corresponding to the first identifier, and the priority is used to indicate the priority of business message processing. The processing module is specifically used to: obtain a second business message based on the received first business message and the priority corresponding to the first identifier, and the second business message includes the priority corresponding to the first identifier.

[0056] In some optional embodiments, the processing module is specifically used to: determine that the second identifier is the same as the first identifier, then store the description information of the first business message in the first queue corresponding to the second identifier, the first queue is one queue in multiple application queues, and each queue in the multiple application queues corresponds to an application identifier; the business message of the first queue is sent before the business message of the second queue, and the application identifier corresponding to the second queue is not included in the policy set.

[0057] In some optional implementations, the policy set further includes a reserved bandwidth corresponding to the first identifier, where the reserved bandwidth is used to indicate a bandwidth reserved for service packets of the target application.

[0058] In some optional implementations, the transceiver module is further used to: send instruction information to the terminal device, where the instruction information is used to instruct the terminal device to give priority to reporting the service messages of the target application.

[0059] In some optional implementations, the second network device is an NCE, an analyzer, or a server for managing the first network device.

[0060] A fourth aspect of the present application provides a message processing device, which is provided in a second network device and includes:

[0061] The transceiver module is used to receive a statistical information set, which includes packet statistical information of a target application; the processing module is used to generate a policy set based on the statistical information set, which includes a first identifier and a quality of service (QoS) policy corresponding to the first identifier, and the first identifier corresponds to the target application; the transceiver module is also used to send the policy set to the first network device.

[0062] In some optional embodiments, the packet statistical information of the target application includes information obtained after feature identification of service packets in the interface queues of N network devices, where the N network devices include one or more of the first network device and the third network device, and N is an integer greater than or equal to 1.

[0063] In some optional implementations, the processing module is specifically used to: determine the QoS measurement parameters corresponding to the target application based on the statistical information set, wherein the QoS measurement parameters are used to describe the network quality of the target application; and generate the policy set based on the QoS measurement parameters.

[0064] In some optional embodiments, the statistical information set includes one or more of the number of application messages of the target application at multiple times, the number of queue messages based on the interface queue, the number of queue packet losses, the queue depth and the message sending rate; the processing module is specifically used to: determine one or more of the application bandwidth, application packet loss and application delay of the target application based on the statistical information set, the application bandwidth is obtained based on the number of application messages of the target application at multiple times; the application packet loss is obtained based on the number of queue messages, the number of queue packet losses and the application bandwidth; the application delay is obtained based on the queue depth and the message sending rate.

[0065] In some optional embodiments, the processing module is specifically used to: evaluate and simulate the target application based on the QoS measurement parameters of the target application to obtain the guarantee standard of the target application, where the guarantee standard is one or more of the message priority and bandwidth required to ensure the network quality of the target application in the simulation environment; and generate a policy set based on the guarantee standard of the target application.

[0066] In some optional implementations, the policy set further includes a priority corresponding to the first identifier, where the priority is used to indicate a priority for processing the service message.

[0067] In some optional implementations, the policy set further includes a reserved bandwidth corresponding to the first identifier, where the reserved bandwidth is used to indicate a bandwidth reserved for service packets of the target application.

[0068] In some optional implementations, the second network device is an NCE, an analyzer, or a server for managing the first network device.

[0069] In a fifth aspect, the present application provides a network device comprising: a processor, a memory, and a transceiver. The memory stores a computer program or computer instructions, the processor is configured to call and execute the computer program or computer instructions stored in the memory, so that the processor implements the processing operations described in the first aspect and any one of the implementations of the first aspect, and the transceiver is configured to transmit and receive signals, such as implementing the receiving and transmitting operations described in the first aspect and any one of the implementations of the first aspect.

[0070] In a sixth aspect, the present application provides a network device comprising: a processor, a memory, and a transceiver. The memory stores a computer program or computer instructions, the processor is configured to call and execute the computer program or computer instructions stored in the memory, so that the processor implements the processing operations described in the second aspect and any one of the implementations of the second aspect, and the transceiver is configured to transmit and receive signals, such as implementing the receiving and transmitting operations described in the second aspect and any one of the implementations of the second aspect.

[0071] In a seventh aspect, the present application provides a communication system, which includes a first network device and a second network device, the first network device is used to execute the method described in the above-mentioned first aspect and any implementation method of the first aspect, and the second network device is used to execute the method described in the above-mentioned second aspect and any implementation method of the second aspect.

[0072] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer-readable storage medium is run on a computer, the computer executes the above-mentioned first aspect and any optional method thereof.

[0073] In a ninth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer-readable storage medium is run on a computer, the computer executes the above-mentioned second aspect and any optional method thereof.

[0074] In a tenth aspect, an embodiment of the present application provides a computer program which, when executed on a computer, enables the computer to execute the above-mentioned first aspect and any optional method thereof.

[0075] In the eleventh aspect, an embodiment of the present application provides a computer program, which, when running on a computer, enables the computer to execute the above-mentioned second aspect and any optional method thereof.

[0076] In a twelfth aspect, the present application provides a chip system comprising a processor for supporting an execution device or a training device in implementing the functions described in the above aspects, such as transmitting or processing data or information involved in the above methods. In one possible design, the chip system further comprises a memory for storing program instructions and data necessary for the execution device or the training device. The chip system may be comprised of a single chip or may include a chip and other discrete components.

[0077] As described above, the technical effects of the third, fifth, eighth, and tenth aspects of the present application can be understood in conjunction with the technical effects of the first aspect and any implementation thereof. The technical effects of the fourth, sixth, ninth, and eleventh aspects of the present application can be understood in conjunction with the technical effects of the second aspect and any implementation thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] FIG1 is a schematic diagram of a communication system provided in an embodiment of the present application;

[0079] FIG2 is a flow chart of a message processing method provided in an embodiment of the present application;

[0080] FIG3 is a schematic diagram of an example QoS policy provided in an embodiment of the present application;

[0081] FIG4 is a schematic diagram of an application queue provided in an embodiment of the present application;

[0082] FIG5 is a schematic structural diagram of a message processing device provided in an embodiment of the present application;

[0083] FIG6 is a schematic diagram of a structure of a network device provided in an embodiment of the present application;

[0084] FIG7 is a schematic diagram of the structure of a cloud device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0085] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without making creative efforts are within the scope of protection of this application.

[0086] The terms "first," "second," "third," "fourth," etc. (if any) in the specification and claims of the present application and in the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential sequence. It should be understood that the numbers used in this way are interchangeable where appropriate, so that the embodiments of the present application described herein can, for example, be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having," and any variations thereof, are intended to cover non-exclusive inclusions, for example, a process, method, system, product, or apparatus comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or apparatus.

[0087] The technical solution of the present application can be applied to various communication systems. For example, wireless local area network (WLAN) systems, 5G systems, new radio (NR) systems, long term evolution (LTE) systems, LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems, universal mobile telecommunication systems (UMTS), mobile communication systems after 5G networks (for example, 6G mobile communication systems), vehicle to everything (V2X) communication systems, etc.

[0088] The terminal device and network device of this application are introduced below.

[0089] Terminal equipment, also known as user equipment (UE), mobile station (MS), mobile terminal (MT), or customer premise equipment (CPE), is a device that includes wireless communication capabilities (providing voice / data connectivity to users). For example, it can be a handheld device or vehicle-mounted device with wireless connectivity. Currently, some examples of terminal equipment include mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in the Internet of Vehicles (IoV), wireless terminals in self-driving cars, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, and wireless terminals in smart homes. For example, wireless terminals in unmanned driving can be drones, helicopters, or airplanes. For example, wireless terminals in the Internet of Vehicles can be onboard equipment, complete vehicle equipment, onboard modules, vehicles, or ships. Wireless terminals in industrial control can be cameras, robots, or robotic arms. Wireless terminals in smart homes can be televisions, air conditioners, vacuum cleaners, speakers, or set-top boxes.

[0090] Network devices include, but are not limited to, gateway devices (e.g., AR access routers, firewall gateway devices), switches (e.g., access switches, aggregation switches, core switches, access controllers, wireless access controllers, etc.), and wireless access points (APs). The network devices of this application may also be network cloud engines (NCEs), analyzers, or servers used to manage network devices responsible for forwarding service messages in cloud scenarios.

[0091] QoS refers to a network's ability to leverage various underlying technologies to provide enhanced service for specified network communications. It is a technique used to address issues such as network latency and congestion. In communication networks, factors affecting network quality include transmission link bandwidth, message transmission delay and jitter, and packet loss rate, which serve as QoS metrics (or QoS measurement parameters). QoS typically provides the following three service models:

[0092] Best-effort service: This is a single, simplest service model. Various traffic flows compete fairly for limited resources, and the network makes every effort to deliver packets. However, it provides no guarantees for latency, reliability, or other performance issues. This is the default service model for the network and is implemented using a first-in, first-out (FIFO) queue.

[0093] Integrated service (Int-Serv) is an integrated service model that can meet multiple QoS requirements. This model uses the resource reservation protocol (RSVP), which runs on every device from the source to the destination. RSVP monitors each flow to prevent it from consuming excessive resources. It reserves bandwidth for service flows to ensure sufficient bandwidth when they enter the network. However, the Int-Serv model places high demands on devices. When the number of data flows in the network is large, the storage and processing capabilities of the devices are greatly strained. Furthermore, when there is no traffic being sent, the bandwidth is still monopolized, resulting in low bandwidth utilization.

[0094] Differentiated Services (Diff-Serv): A multi-service model that can meet different QoS requirements. Unlike Int-Serv, it does not require the network to reserve resources for each service. Diff-Serv is simple to implement and has good scalability.

[0095] Generally, data traffic is divided into four categories: voice, video, data, and background. Correspondingly, in the WMM model, these are defined as voice (VO), video (VI), data (BE), and background (BK). In the user priority (UP) model, these are defined as 0-7. In the differentiated services model, these are represented by the DSCP parameter, defined as 0-63. The corresponding relationships are shown in Table 1 below.

[0096] Table 1

[0097] As shown in Table 1, when different types of data traffic pass through network devices, the network devices will process them according to different QoS policies. However, service packets of the same type, without special settings, will be processed according to the same QoS policy and allocated the same bandwidth, packet transmission delay and jitter, and packet loss rate.

[0098] Service classification is a relatively coarse-grained QoS policy implementation. Using the same policy for the same type of service doesn't effectively differentiate and protect critical business applications. For example, some enterprises, due to their own business needs or other reasons, need to prioritize the network quality of Application A. However, Application B of the same type as Application A is still being accessed throughout the entire communications network. This means that Application A, which requires priority protection, shares the same bandwidth, latency, jitter, and packet loss rate under the same QoS policy as Application B. For Enterprise A, ensuring that Application A, which requires priority protection, is not affected by other applications of the same service type is a pressing issue.

[0099] Based on this, the embodiment of the present application combines the characteristics of cloud services to provide a communication system including cloud devices and multiple network devices. As shown in Figure 1:

[0100] The system includes multiple network devices, such as Network Device 1 through Network Device 5, which are interconnected and communicate with each other. Cloud devices monitor each network device in the system. When Enterprise User 1 accesses Application A, application A's service packets are forwarded by Network Device 1, Network Device 2, and Network Device 5. When Enterprise User 2 accesses Application B, application B's service packets are forwarded by Network Device 3, Network Device 4, and Network Device 5. Cloud devices can be network devices in the cloud platform, including NCEs, analyzers, and controllers. They provide distributed QoS policy recommendations for target applications and target application experience measurement and evaluation for multiple network devices in the system. In one possible scenario, Network Device 1 and Network Device 3 are wireless access points (APs), Network Device 2 and Network Device 4 are switches, such as access switches or aggregation switches, and Network Device 5 is a gateway, such as an access router or firewall gateway.

[0101] The communication system may also be in a non-cloud scenario, in which case a central policy server, a general access controller, a gateway device, or a local server may be provided with QoS policies for multiple network devices.

[0102] The connection relationship between multiple network devices in Figure 1 is a possible connection relationship in an embodiment of the present application. In actual applications, there may be other connection relationships in the communication system, and the forwarded business messages may also contain other business messages belonging to different applications. The specific details are not limited here.

[0103] The following first introduces the relevant terms and concepts involved in the embodiments of this application.

[0104] 1. Queue scheduling: Network devices schedule based on interface queues (queues 0 to 7). Based on the mapping between local priorities and queues, they automatically send classified message flows to each queue and then schedule them according to the queue scheduling mechanism. The main scheduling methods include the following:

[0105] Priority queuing (PQ) scheduling is based on packet priority. When a packet enters a PQ queue, the higher-priority queue is scheduled first, while the lower-priority queues are scheduled only after the higher-priority queues are scheduled. If a higher-priority packet enters the queue after a lower-priority queue has been scheduled, PQ immediately stops scheduling the lower-priority packet and starts scheduling the higher-priority queue instead.

[0106] In round-robin (RR) scheduling, packets enter different queues, and each queue is scheduled in a round-robin fashion, from queue 0 to queue 7. If a queue is empty during scheduling, it is skipped and another queue is scheduled. Pure RR scheduling schedules only one packet per queue at a time, which cannot meet the QoS requirements of high-priority queues. Therefore, in addition to RR scheduling, weighted round-robin (WRR) and deficit round-robin (DRR) scheduling also exist.

[0107] WRR scheduling builds on RR scheduling by assigning a priority to each queue and allocating interface bandwidth among queues based on priority. If a queue has no packets to schedule, WRR allocates the interface's bandwidth proportionally to other queues.

[0108] DRR scheduling is similar to WRR scheduling, but it uses packet size as a unit. Therefore, compared to WRR scheduling, DRR scheduling can achieve true bandwidth allocation in a statistical sense. In DRR scheduling, similar to WRR scheduling, each queue is assigned a Deficit value. A queue with a positive Deficit value is scheduled; a negative Deficit value prevents scheduling. Each time a packet is scheduled in a queue, the Deficit value is reduced by the packet length.

[0109] Weighted fair queue (WFQ) scheduling. WFQ has two meanings: one is flow-based classification, and the other is priority-based classification. When using QoS profiles for queue scheduling, WFQ scheduling is based on priority; when using MCQ scheduling, WFQ scheduling is based on priority flows.

[0110] If WFQ scheduling uses priority-based scheduling, similar to WRR and DRR scheduling, it maps fields like DSCP and 802.1p to local priorities, with each local priority assigned to a queue. By default, all queues have the same weight, but this weight can be modified through configuration, with bandwidth allocated proportionally to high and low priority packets. If WFQ uses flow-based scheduling, each packet entering the interface is assigned to a different flow queue based on the packet's source and destination IP addresses, source and destination port numbers, protocol type, and IP precedence. The interface performs a combined hash operation on these parameters. Only when all parameter values ​​are identical will the hash value be the same, and this hash value determines the queue into which the data flow is placed. Therefore, when WFQ scheduling uses flow-based scheduling, the interface may have multiple queues, unlike all other queue scheduling methods, which have a total of eight queues.

[0111] For queues in WFQ scheduling, the system automatically assigns a weight to each queue based on its IP priority. The weight is calculated by adding 1 to the queue's IP priority. (If 1 is not added, some services with a weight of 0 will not be scheduled at all.) Furthermore, WFQ queues allow shorter packets to be scheduled faster than longer packets.

[0112] 2. Service Set Identifier (SSID): SSID technology can divide a wireless LAN into several subnets, each requiring different authentication methods. Each subnet requires independent authentication. Only authenticated users can access the corresponding subnet, preventing unauthorized users from accessing the network. An AP can deploy multiple SSIDs, each of which can specify an authentication method, thereby implementing end-user access control for wireless access.

[0113] 3. Port: A port on a network device, also known as an interface, physical interface, or physical port. It can be categorized by physical type, such as an Ethernet interface or optical port.

[0114] In the aforementioned communication system, enterprise users can select target applications that need to be protected in the cloud platform according to their own needs. Multiple target applications can be selected. Next, based on the aforementioned communication system, taking the case where multiple target applications need to be protected as an example, an embodiment of the present application provides a message processing method. Please refer to Figure 2, which is a flow chart of the message processing method:

[0115] 201. The network device collects statistics on the received service messages;

[0116] The network device enables queue statistics and smart application control (SAC) to collect statistics on service packets received by interface queues and generate statistical reports. SAC uses an intelligent application protocol identification and classification engine to detect and identify packets and obtain application information for service packets. The network device performing the statistics is one or more network devices in the communication system. The statistical reports, including queue statistics and application statistics, are generated based on the network device's statistics for one or more interface queues.

[0117] For example, the queue statistics report includes parameters such as the interface queue identifier, number of packets, packet loss rate, queue depth (the number of unsent packets in the queue when statistics are taken), packet sending rate, queue scheduling mode and queue weight, which are not specifically limited here.

[0118] For example, the application statistics report groups the same applications into one category. The application statistics report includes the application identification information, source and destination addresses, number of packets, and original service priority DSCP, etc., which are not limited here.

[0119] In a possible implementation, before step 201, there is step 200. The cloud device sends statistical request information to the network device; the statistical request information includes a queue statistical request and an application statistical request.

[0120] Illustratively, the queue statistics request includes parameters such as the identifier of the interface queue to be counted, the queue statistics cycle and the reporting cycle, and the application statistics request includes parameters such as the application information to be counted, the application statistics cycle and the reporting cycle.

[0121] For the application information that needs to be counted, the request message may not include application information, indicating that the network device needs to count all application information or count pre-default application information, or the request message may include one or more target application identifiers, indicating that the network device counts the service messages of the target application.

[0122] 202. The network device sends a statistical report to the cloud device;

[0123] After completing the statistics, the network device sends a statistical report to the cloud device.

[0124] In a possible implementation, a reporting period parameter is stored in the network device, and the network device regularly reports statistical reports within a period of time to the cloud device according to the specified reporting period.

[0125] 203. The cloud device generates QoS measurement parameters;

[0126] Based on the queue statistics report and application statistics report in the statistical report, as well as the relationship between the counted applications and their queues, the cloud device evaluates the application experience of the target applications and obtains the QoS measurement parameters of each target application, that is, the current network quality of the target application.

[0127] In one possible implementation, the QoS metric parameters of the target application include application bandwidth:

[0128] The probability model is constructed based on the information in the application statistical reports at multiple time points, mainly based on the number of application messages at multiple times. The probability model formula is as follows: P(bps=k.slice)=e -y ·y k / k!

[0129] Here, P represents the probability that the bandwidth rate or throughput (bps) falls within a certain range of K values, e is the base of the natural logarithm, and y is the characteristic value representing the distribution, or fitting coefficient, which is generally an empirical value. k.slice represents the bps division. For example, 400 Mbps is divided into 40 equal slices, each 10 Mbps. Generally, k.slice is calculated as the number of received packet bytes / y. By setting the value of y, the application bandwidth of the target application can be fitted.

[0130] Specifically, application bandwidths of different models may be generated, such as 95th percentile bandwidth (using a probability model to average points, removing the 5% with the highest values, and taking the remaining highest value), average bandwidth, and the like.

[0131] In one possible implementation, the QoS metric parameters of the target application include application delay:

[0132] The application delay of the target application can be equated to the queue delay of the queue where the target application is located. For a single queue, the queue delay is measured as follows: D = ΣL / T

[0133] Where D is the queue delay, which indicates the time required for a service packet to enter and exit the queue; L is the queue depth, which is the number of unsent packets in the queue; and T is the sending rate.

[0134] If statistics are taken for multiple queues, the queue delay measurement needs to calculate the impact of multiple queues: D(i) = D(i) + D(j) + D(k) * w

[0135] Where D(i) is the queue delay of the target application's queue, D(j) is the queue delay of the PQ queue with a higher priority than queue i, and D(k)*w is the weighted delay with other WFQ queues when queue i is a WFQ queue.

[0136] In one possible implementation, the QoS metric parameters of the target application include application packet loss:

[0137] The packet loss of the target application is equal to the application bandwidth (throughput) multiplied by the application packet loss rate. The application packet loss rate is equal to the packet loss rate of the target application in its queue. For the packet loss of a single queue, it can be expressed as: loss(i) = PER(i) * BW(i)

[0138] Where loss(i) is the packet loss of the target application in queue i, PER(i) is the packet loss rate of queue i, and BW(i) is the application bandwidth of the target application calculated above.

[0139] For packet loss in multiple queues, it can be expressed as: loss(i)=max(BW(i)-WFQ_BW,0)+loss(k)*w

[0140] loss(k) is the weighted sum of the application queue and the background queue, and WFQ_BW is the queue bandwidth of the WFQ weighted queue. The specific calculation is: WFQ_BW = IF_CIR_BW - SUM(j)

[0141] IF_CIR_BW is the interface rate limit bandwidth, and SUM(j) is the occupied bandwidth of the PQ queue.

[0142] 204. The cloud device generates a policy set, the policy set including a new QoS policy for each target application;

[0143] The cloud device generates a policy set based on the QoS measurement parameters of each target application. The policy set includes a new QoS policy for each target application.

[0144] In one possible implementation, a simulation algorithm is provided in the cloud device, which uses the QoS measurement parameters of the target application to evaluate and simulate the target application, thereby calculating a new QoS policy that can ensure network quality in a simulation scenario.

[0145] Specifically, the new QoS policy includes parameters such as application bandwidth of the target application, message priority of the service message, application queue scheduling mode or queue scheduling weight of the target application, and the like.

[0146] The cloud device may not have a simulation algorithm set up, so a new QoS policy can be orchestrated based on empirical values.

[0147] In a possible implementation, an App-based QoS policy model is provided in the cloud device, an App-based QoS model instance is orchestrated, and a network device specifically responsible for executing the new QoS policy is determined in the aforementioned communication system.

[0148] Optionally, the App-based QoS policy model includes an SSID-level air interface wireless assurance model. Parameters for this model include:

[0149] AP ID: Used to indicate the AP for which the application needs to be protected. It is the unique identifier of the AP, and can be the AP's MAC address or IP address.

[0150] SSID identifier: used to indicate the SSID of the application to be protected. An AP has one or more SSIDs. When the message characteristics of the service flow under this SSID are identified as the target application indicated by the model, it needs to be processed according to the QoS policy specified in the model.

[0151] Application ID: Used to uniquely identify the target application that needs to be protected, using a string or a combination of numbers or other characters.

[0152] Application scenario information: used to indicate the application scenario type, including voice, video, data, etc.

[0153] Application priority information: used to indicate the priority of the target application. The priority parameter is contained in the service flow data packet header, which is the DSCP value in the IP header or the 802.1p value in the link layer protocol header.

[0154] Specifically, if the priority of the data message of the service flow of the application received by the SSID of the AP device is inconsistent with the priority indicated by the model, the AP device updates the priority parameter of the data message of the service flow of the application to the priority indicated by the model.

[0155] Application bandwidth information: used to indicate the bandwidth guaranteed for the application.

[0156] Specifically, when the AP device processes the data message of the SSID, it ensures that no packet is lost when the bandwidth of the service flow of the application received is less than or equal to the application bandwidth indicated by the model.

[0157] Optionally, the App-based QoS policy model includes a device-level application priority model. The parameters of this model include:

[0158] Device Identifier: This is used to indicate the network device for which the application needs to be protected. When the packet characteristics of the service flows of all interfaces of this device are identified as the target application indicated by the model, they need to be processed according to the QoS policy specified in the model.

[0159] Application identification and application priority information: The specific functions are the same as the aforementioned types and will not be repeated here.

[0160] Optionally, the App-based QoS policy model includes a port-level application measurement model. The parameters of this model include:

[0161] Device ID: Used to indicate the network device of the application to be protected.

[0162] Interface ID: Used to indicate the port of a network device. When the packet characteristics of the service flow of this interface are identified as the application indicated by this model, it needs to be processed according to the QoS policy specified in this model.

[0163] Application ID: Used to uniquely identify the target application that needs to be protected, using a string or a combination of numbers or other characters.

[0164] Application measurement information: used to indicate the parameters required for application measurement, including measurement type (such as the packet conservation algorithm for internet (IPCA) and network packet measurement (NPM)), measurement statistical period, reporting period, and parameters related to the measurement type (such as the starting point, intermediate node, and end point of IPCA).

[0165] Optionally, the App-based QoS policy model includes a queue-level application bandwidth guarantee model. The parameters of this model include:

[0166] Device ID: Used to indicate the network device of the application to be protected.

[0167] Interface ID: used to indicate the port of a network device.

[0168] Queue ID: Used to indicate the queue of the network device interface. When the packet characteristics of the service flow of this queue are identified as the target application indicated by the model, it needs to be processed according to the QoS policy specified in the model.

[0169] Application ID: It is used to uniquely identify the target application that needs to be protected. It is a combination of a string, numbers, or other characters.

[0170] Application priority information: The specific function is similar to the above and will not be repeated here.

[0171] Application bandwidth information: This indicates the guaranteed bandwidth for the application. When the network device interface processes the application's traffic, packet loss is guaranteed if the bandwidth is less than or equal to the application bandwidth indicated by the model.

[0172] For queue-level guaranteed application bandwidth, the total bandwidth of the queue can be configured to be greater than or equal to the sum of the single-flow bandwidth of the application and all user terminals of the application, or the single-flow bandwidth of the target application can be configured. When each flow is detected in the queue, the bandwidth of each flow is guaranteed to be no less than the single-flow bandwidth of the application. The specific requirements are not limited here.

[0173] Through the orchestration QoS policy model of the cloud device, corresponding QoS policy instances can be generated based on one or more combinations of different network devices, network device SSIDs, network device ports, and network device port queues. Please refer to Figure 3, which is a schematic diagram of a possible QoS policy instance according to an embodiment of the present application.

[0174] The target application to be protected is "welink". Wireless users access the target application through the wireless access point "AP-301" or wired users access the target application through the access switch "Access LSW-302". The service flow packets of the target application are then forwarded by the aggregation switch "Aggregation LSW-303" and the access router "AR-304" to implement service access.

[0175] "AppName=welink" in the policy instance indicates the application ID of the target application to be protected;

[0176] "SSID-WmmScene=VoiceVideo" indicates that the application scenario information is "Voice (VO)";

[0177] "SSID-DSCP=CS6" indicates that the target application sets the new packet priority DSCP value to "CS6." CS6 corresponds to a DSCP value of 55, which has the highest priority (highest forwarding level) in the protocol.

[0178] "SSID-BW=5Mbps" or "SSID-BW=10Mbps" indicates that the reserved bandwidth of the target application in the corresponding network device is 5Mbps and 10Mbps;

[0179] The policy instance also includes device identifiers, which are used to indicate that the network devices that execute the new QoS policy are "AP-301", "Access LSW-302", and "AR-304".

[0180] "IPCA start" and "IPCA end" indicate that this instance also includes IPCA measurements and the device port responsible for performing the measurements.

[0181] The policy example in FIG3 is a possible QoS policy example. In actual applications, the selection of execution devices and the values ​​of specific parameters in the QoS policy example are customized according to actual business needs and are not specifically limited here.

[0182] In one possible implementation, the service packets that need to be protected on network devices include not only the service packets of the target application, but also the service packets of applications used by important customers (VIP users). Based on this, the new QoS policy also includes a coordination strategy to coordinate the relationship between the two to meet customer needs.

[0183] Specifically, in the new QoS policy, add the following parameters:

[0184] The coordination mode indicates the QoS scheduling method for the target application and VIP users. The coordination mode can be: VIP priority mode, weighted allocation mode, user-defined mode, etc.

[0185] Coordination parameters specify the configuration parameters of the coordination mode. They are generally expressed in type, length, and value (TLV) format and include:

[0186] For example, in VIP priority mode, coordination parameters may include:

[0187] Collaborative bandwidth: indicates the minimum guaranteed bandwidth value in this mode, which is less than or equal to the bandwidth included in the VIP user QoS policy;

[0188] Collaborative packet loss rate: indicates the packet loss rate threshold for VIP users in this mode. That is, when the packet loss rate of a VIP user's service packets is greater than or equal to the packet loss rate threshold, the network device will first schedule and / or cache the VIP user's packets.

[0189] For example, in a weighted allocation mode, the coordination parameters may include:

[0190] Collaborative service type: indicates the corresponding service type of the VIP user and the target application in this mode;

[0191] Collaborative bandwidth weight: indicates the bandwidth proportion of VIP users and / or target applications of this service type;

[0192] Collaborative Packet Loss Rate: indicates the packet loss rate threshold for VIP users and / or target applications under this service type.

[0193] The collaboration strategy is designed to address situations where the user accessing the target application is not a VIP user and network resources are congested. In actual applications, the collaboration mode and collaboration parameter values ​​can be determined by actual business or through user negotiation. The specifics are not limited here.

[0194] 205. The cloud device sends the policy set to the network device;

[0195] The cloud device sends the policy set to the network device responsible for enforcing the new QoS policy.

[0196] The network device responsible for executing the new QoS policy may be one or more of the aforementioned network devices responsible for collecting statistics on service packets, or may be other network devices in the aforementioned communication system, which is not limited here.

[0197] 206. The network device identifies the application identifier of the received service message and executes the corresponding QoS policy for the target application;

[0198] The network device that receives the policy set starts the SAC to perform feature recognition on the message when receiving the service flow message, and executes the corresponding QoS policy according to the application identifier of the message.

[0199] Optionally, when receiving a service message of the target application, the network device updates the priority parameter of the service message to the new priority information according to the new message priority information in the new QoS policy.

[0200] Optionally, the priority parameter may be a DSCP value in an IP header or an 802.1p value in a link layer protocol header, which is not specifically limited here.

[0201] Since network devices support multi-level queue scheduling, including flow queues (incoming interfaces), user queues, and hardware queues (outgoing interfaces), etc. Based on this, the present application provides an application queue in real time to support the guarantee of target applications. Please refer to Figure 4, which is a schematic diagram of the application queue in the embodiment of the present application.

[0202] When implementing multi-queue scheduling in network devices, the location of the application queue is not restricted. It can be located between the flow queue and the user queue, or between the user queue and the hardware queue. The application queue shown in Figure 4 is located between the flow queue and the user queue.

[0203] The service messages in the network include messages of target application 1, target application 2, and common applications. When receiving the service messages, the network device stores the service messages in a flow queue.

[0204] The application queue provided in the embodiments of the present application includes one or more queues, each distinguished by an application ID. When processing service flow packets from an upstream queue, the packets are attached to the queue with the same application ID based on the application ID. When the application queue is located between the flow queue and the user queue, the upstream queue is the flow queue; when the application queue is located between the user queue and the hardware queue, the upstream queue is the user queue.

[0205] In actual applications, what is stored in the queue is the description information (descriptor) of the service message. When the description information is out of the queue, it means that the network device can send the service message corresponding to the description information.

[0206] Application queues can be divided into two groups: the target (heavy security) application group and the general application group. Each of the target application group and the general application group has one or more application queues and different QoS scheduling policies. Generally, the service flows of each application within the target application group and the general application group adopt RR scheduling or WRR scheduling; while between the target application group and the general application group, PQ scheduling is adopted, that is, the service flows of each application in the target application group are scheduled first. After the service flows of each application in the target application group are processed / sent, the service flows of each application in the general application group are processed / sent.

[0207] In a possible implementation, the new QoS policy includes parameters such as an application queue scheduling mode or a queue scheduling weight of the target application, which are used to indicate the queue scheduling mode adopted by the application queue of the target application.

[0208] Based on the aforementioned application queue, the embodiment of the present application further provides that the reserved bandwidth information of the target application is included in the new QoS policy, and the network device implements bandwidth reservation for the target application based on the reserved bandwidth information. Specifically, there are two implementation methods:

[0209] 1. Software reservation: refers to the bandwidth reserved for the target application in the application queue, that is, to ensure that the bandwidth currently used by the target application is not less than the bandwidth indicated in the application bandwidth information in the new QoS policy.

[0210] Optionally, the implementation method may be absolute reservation: that is, when the application queue of the target application is created, the bandwidth indicated in the application bandwidth information is reserved for the target application, and other applications cannot use it;

[0211] Relative reservation can also be implemented: when an application queue is created, no buffer is reserved for the target application queue. When the target application has no packets, other applications can occupy this bandwidth. However, when packets arrive for the target application, if the queue is full, some packets from other applications in the queue will be lost. There are three ways for other applications to lose packets:

[0212] 1. First-in-first-out (FIFO) mode: The first-arriving message may be lost first, or the first-arriving message may be sent out first and the later-arriving message may be lost.

[0213] 2. Random loss mode: Some messages are randomly lost among the messages of other applications in the queue.

[0214] 3. Selective loss mode: Some unimportant packets from other application packets in the queue are selectively lost, such as non-I-frame packets of video.

[0215] In actual applications, there is no restriction on how the business messages in the application queue occupying the target application are lost. It is necessary to ensure that the business messages of the target application can be queued without packet loss.

[0216] 2. Hardware / air interface reservation: refers to the hardware queue or air interface queue reserving bandwidth for specific target applications.

[0217] Optionally, the implementation method may be absolute reservation: the target application uses one or more hardware queues or air interface queues independently, that is, the hardware queues or air interface queues are used for caching service packets of the target application;

[0218] The implementation method may also be relative reservation: the target application and common applications share one or more hardware queues or air interface queues, but the bandwidth indicated in the application bandwidth information is reserved in the total buffer of the queue for use by the target application.

[0219] In actual applications, the aforementioned bandwidth can be a specific bandwidth value, such as 10M, 20M, etc., or a percentage of the total cache of the application queue, such as 20%. When the total cache of the application queue is 1G, the reserved bandwidth is 1G*20%=200M.

[0220] Optionally, the new QoS policy includes a collaborative policy, and the network device schedules the target application and the VIP user's access application according to the collaborative policy, and sends the target application or VIP user's message. For the specific parameters of the collaborative policy, please refer to the description of the collaborative policy in step 204 above, which will not be repeated here.

[0221] 207. Prioritize forwarding messages of target applications between network devices and terminal devices.

[0222] According to the operation in step 206, during downlink scheduling, the network device preempts the air interface based on the packets of the service flow of the application queued in the aforementioned queue, and preferentially sends the packets in the queue to the corresponding terminal device. During uplink scheduling, the network device determines one or more terminal devices that are using the target application and sends instruction information to the terminal device to instruct the terminal device to preferentially report the service packets of the target application.

[0223] Optionally, the network device sends a trigger message (trigger message) to the terminal device, where the trigger message includes an application identifier of the target application and instructs the terminal device to report the service message of the target application first.

[0224] Further optionally, the trigger message also includes a queue identifier or a service identifier Traffic ID (TID), which is used to instruct the terminal device to send the service message of the target application in the queue or TID indicated by the queue identifier.

[0225] Optionally, the network device changes the current WMM parameter of the terminal device to make it the same as the new priority parameter, so that the terminal device actively sends the service message of the target application to the network device according to the new priority.

[0226] The method for ensuring the application experience of the target application in the embodiment of the present application includes:

[0227] 1. Cloud device experience measurement for target applications:

[0228] According to the aforementioned message processing method, the embodiments of the present application perform statistical evaluation of network device queue information and feature recognition of service messages to obtain statistical information about the target application in the network device interface queue and statistical information about all messages in the entire queue. By analyzing the network status of the target application in the statistically analyzed interface queue, the QoS measurement parameters of the target application are inferred. This eliminates the need to perform data analysis on the entire link accessing the target application, thereby determining the current network quality of the target application, simplifying the complexity of application experience measurement and providing a basis for QoS policy recommendations.

[0229] 2. Network devices schedule according to the new QoS policy to ensure the target application experience:

[0230] In an embodiment of the present application, after obtaining a new QoS policy, the network device sets a new priority, adds a new application queue, reserves bandwidth, etc. for the service messages of the target application, thereby ensuring that the service messages of the target application are sent first when forwarded by the network device, thereby ensuring the application experience of the target application.

[0231] In addition, the embodiment of the present application also provides corresponding coordination strategies for the business messages of VIP users that need to be protected, which can coordinate conflicts between VIP users and target applications to ensure the experience of VIP users and target applications according to business requirements.

[0232] Having described the message processing method and communication system provided in the embodiments of the present application, the following describes the message processing device provided in the embodiments of the present application. Please refer to Figure 5, which is a schematic diagram of the structure of the message processing device in the embodiments of the present application. Message processing device 500 can be used to execute the steps performed by the network device in the embodiments shown in Figures 2 to 4. For details, please refer to the relevant description of the above method embodiments.

[0233] The message processing device 500 includes a transceiver module 501 and a processing module 502. The transceiver module 501 can implement corresponding communication functions, and the processing module 502 is used to process data. The transceiver module 501 can also be called a communication interface or a communication unit.

[0234] Optionally, the message processing apparatus 500 may further include a storage unit, which may be used to store instructions and / or data. The processing module 502 may read the instructions and / or data in the storage unit so that the network device implements the aforementioned method embodiment.

[0235] The message processing device 500 can be used to perform the actions in the above method embodiments. The message processing device 500 can be a network device or a component that can be configured in a network device. The transceiver module 501 is used to perform the reception-related operations in the above method embodiments, and the processing module 502 is used to perform the processing-related operations in the above method embodiments.

[0236] Optionally, the transceiver module 501 may include a sending module and a receiving module. The sending module is used to perform the sending operation in the above method embodiment. The receiving module is used to perform the receiving operation in the above method embodiment.

[0237] As an example, the message processing device 500 is used to execute the actions executed by the network device in the embodiment shown in FIG. 2 above.

[0238] The transceiver module 501 is configured to obtain a policy set, the policy set including a first identifier and a quality of service (QoS) policy corresponding to the first identifier, the first identifier corresponding to a target application, and the QoS policy corresponding to the first identifier being a policy generated based on packet statistics of the target application;

[0239] A processing module 502 is configured to obtain a second identifier based on the received first service message;

[0240] The processing module 502 is further configured to determine that the second identifier is the same as the first identifier, and process the first service message based on the QoS policy corresponding to the first identifier.

[0241] The processing module 502 in the above embodiment can be implemented by at least one processor or processor-related circuit. The transceiver module 501 can be implemented by a transceiver or transceiver-related circuit. The transceiver module 501 can also be referred to as a communication unit or communication interface. The storage unit can be implemented by at least one memory.

[0242] The present application also provides a network device 600. As shown in FIG6 , the network device 600 includes a processor 601 coupled to a memory 602. The memory 602 is configured to store computer programs, instructions, and / or data. The processor 601 is configured to execute the computer programs, instructions, and / or data stored in the memory 602, thereby executing the method described in the above method embodiment.

[0243] Optionally, the network device 600 includes one or more processors 601.

[0244] Optionally, as shown in FIG6 , the network device 600 may further include a memory 602 .

[0245] Optionally, the network device 600 may include one or more memories 602 .

[0246] Optionally, the memory 602 may be integrated with the processor 601 or provided separately.

[0247] 6 , the network device 600 may further include a transceiver 603, which is configured to receive and / or send messages. For example, the processor 601 is configured to control the transceiver 603 to receive and / or send signals.

[0248] As a solution, the network device 600 is used to implement the operations of the network device in the above method embodiment.

[0249] For example, the processor 601 is used to implement the processing-related operations performed by the network device in the above method embodiment, and the transceiver 603 is used to implement the sending and receiving-related operations performed by the network device in the above method embodiment.

[0250] When the network device 600 is a chip, the chip includes a processor, memory, and a transceiver. The transceiver can be an input / output circuit or a communication interface; the processor can be a processing unit, microprocessor, or integrated circuit integrated on the chip. In the above method embodiment, the network device's sending operation can be the chip's output, and the network device's receiving operation can be the chip's input.

[0251] Next, a cloud device 700 provided in an embodiment of the present application will be introduced. Please refer to Figure 7, which is a structural diagram of the cloud device 700 provided in an embodiment of the present application.

[0252] The cloud device 700 specifically includes:

[0253] Processor 701, memory 702, input and output unit 703, bus 704;

[0254] The processor 701 is connected to the memory 702, the input and output unit 703 and the bus 704;

[0255] The memory 702 stores a program;

[0256] The processor 701 executes the program in the memory 702 , causing the cloud device to execute the method in the aforementioned embodiment.

[0257] As an example, the cloud device 700 is used to execute the actions performed by the cloud device in the embodiment shown in FIG. 2 above.

[0258] For example, the processor 701 is used to implement the processing-related operations performed by the cloud device in the above method embodiment, and the input and output unit 703 is used to implement the sending and receiving-related operations performed by the cloud device in the above method embodiment.

[0259] An embodiment of the present application also provides a computer-readable storage medium on which computer instructions for implementing the method in the above method embodiment are stored.

[0260] For example, when the computer program is executed by a computer, the computer can implement the method performed in the above method embodiment.

[0261] An embodiment of the present application further provides a computer program product comprising instructions, which, when executed by a computer, enables the computer to implement the method performed in the above method embodiment.

[0262] An embodiment of the present application also provides a communication system, which includes the network device and cloud device in the above embodiment.

[0263] An embodiment of the present application further provides a chip device, including a processor, configured to call a computer program or computer instruction stored in the memory so that the processor executes the method of the embodiments shown in FIG. 2 to FIG. 4 .

[0264] In a possible implementation, the input of the chip device corresponds to the receiving operation in the embodiments shown in FIG. 2 to FIG. 4 , and the output of the chip device corresponds to the sending operation in the embodiments shown in FIG. 2 to FIG. 4 .

[0265] Optionally, the processor is coupled to the memory via an interface.

[0266] Optionally, the chip device further includes a memory, in which computer programs or computer instructions are stored.

[0267] The processor mentioned in any of the above may be a general-purpose central processing unit, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the method of the embodiments shown in Figures 2 to 4. The memory mentioned in any of the above may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM), etc.

[0268] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0269] In the several embodiments provided in this application, the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.

[0270] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0271] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0272] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. The part that essentially contributes to the technical solution of the present application or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or access network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory, a random access memory, a magnetic disk or an optical disk.

Claims

1. A message processing method, characterized in that: include: The first network device acquires a policy set, where the policy set includes a first identifier and a quality of service QoS policy corresponding to the first identifier, the first identifier corresponds to a target application, and the QoS policy corresponding to the first identifier is a policy generated based on message statistics information of the target application; The first network device obtains a second identifier based on the received first service message; The first network device determines that the second identifier is the same as the first identifier, and processes the first service message based on the QoS policy corresponding to the first identifier.

2. The method according to claim 1, characterized in that The first network device obtains a strategy set, including: The first network device receives the policy set sent by the second network device; or, The first network device obtains the policy set through static configuration.

3. The method according to claim 1 or 2, characterized in that: The message statistics information of the target application includes information obtained through feature recognition of service messages in interface queues of N network devices, wherein the N network devices include one or more of the first network device and the third network device, and N is an integer greater than or equal to 1.

4. The method according to any one of claims 1 to 3, characterized in that The policy set further includes a priority corresponding to the first identifier, where the priority is used to indicate a priority of service message processing, and the processing of the first service message based on the QoS policy corresponding to the first identifier includes: The first network device obtains a second service message based on the received first service message and the priority corresponding to the first identifier, where the second service message includes the priority corresponding to the first identifier.

5. The method according to any one of claims 1 to 3, characterized in that: The first network device determines that the second identifier is the same as the first identifier, and processes the first service message based on the QoS policy corresponding to the first identifier, including: If the first network device determines that the second identifier is the same as the first identifier, the description information of the first service message is stored in the first queue corresponding to the second identifier, where the first queue is one of multiple application queues, and each queue in the multiple application queues corresponds to an application identifier; the service messages of the first queue are sent before the service messages of the second queue, and the application identifier corresponding to the second queue is not included in the policy set.

6. The method according to any one of claims 1 to 5, characterized in that The policy set also includes a reserved bandwidth corresponding to the first identifier, where the reserved bandwidth is used to indicate a bandwidth reserved for service messages of the target application.

7. The method according to any one of claims 1 to 6, characterized in that The method further comprises: The first network device sends indication information to the terminal device, where the indication information is used to instruct the terminal device to give priority to reporting the service messages of the target application.

8. The method according to claim 2, characterized in that: The second network device is a network cloud engine NCE, an analyzer, or a server for managing the first network device.

9. A message processing method, characterized in that: include: The second network device acquires a statistical information set, where the statistical information set includes message statistical information of the target application; The second network device generates a policy set according to the statistical information set, the policy set including a first identifier and a quality of service QoS policy corresponding to the first identifier, the first identifier corresponding to the target application; The second network device sends the policy set to the first network device.

10. The method according to claim 9, characterized in that The message statistics information of the target application includes information obtained through feature recognition of service messages in interface queues of N network devices, wherein the N network devices include one or more of the first network device and the third network device, and N is an integer greater than or equal to 1.

11. The method according to claim 9 or 10, characterized in that: The second network device generating a policy set according to the statistical information set includes: The second network device determines, based on the statistical information set, a QoS metric parameter corresponding to the target application, where the QoS metric parameter is used to describe a network quality condition of the target application; The second network device generates the policy set based on the QoS metric parameter.

12. The method according to claim 11, characterized in that The statistical information set includes one or more of the number of application packets of the target application at multiple times, the number of queue packets based on the interface queue, the number of queue packet losses, the queue depth and the packet sending rate; The second network device determines, based on the statistical information set, a QoS metric parameter corresponding to the target application, including: The second network device determines one or more of application bandwidth, application packet loss and application delay of the target application based on the statistical information set, wherein the application bandwidth is obtained based on the number of application packets of the target application at multiple time points; The application packet loss is obtained based on the number of queue messages, the number of queue packet losses and the application bandwidth; the application delay is obtained based on the queue depth and the message sending rate.

13. The method according to claim 11 or 12, characterized in that: The second network device generating the policy set based on the QoS metric parameter includes: The second network device evaluates and simulates the target application according to the QoS metric parameter of the target application to obtain a guarantee standard for the target application, where the guarantee standard is one or more of a message priority and a bandwidth required to guarantee the network quality of the target application in a simulation environment; The second network device generates the policy set according to the guarantee standard of the target application.

14. The method according to any one of claims 9 to 13, characterized in that: The policy set also includes a priority corresponding to the first identifier, and the priority is used to indicate a priority of service message processing.

15. The method according to any one of claims 9 to 14, characterized in that: The policy set also includes a reserved bandwidth corresponding to the first identifier, where the reserved bandwidth is used to indicate a bandwidth reserved for service messages of the target application.

16. The method according to any one of claims 9 to 15, characterized in that: The second network device is a network cloud engine NCE, an analyzer, or a server for managing the first network device.

17. A message processing device, the device being arranged in a first network device, characterized in that: include: A transceiver module, configured to obtain a policy set, wherein the policy set includes a first identifier and a quality of service QoS policy corresponding to the first identifier, the first identifier corresponds to a target application, and the QoS policy corresponding to the first identifier is a policy generated based on message statistics information of the target application; A processing module, used for obtaining a second identifier based on the received first service message; The processing module is also used to determine that the second identifier is the same as the first identifier, and process the first service message based on the QoS policy corresponding to the first identifier.

18. The device according to claim 17, characterized in that The transceiver module is specifically used for: receiving the policy set sent by the second network device; or, The policy set is obtained through static configuration.

19. The device according to claim 17 or 18, characterized in that The message statistics information of the target application includes information obtained through feature recognition of service messages in interface queues of N network devices, wherein the N network devices include one or more of the first network device and the third network device, and N is an integer greater than or equal to 1.

20. The device according to any one of claims 17 to 19, characterized in that The policy set further includes a priority corresponding to the first identifier, where the priority is used to indicate a priority of service message processing, and the processing module is specifically used to: Based on the received first service message and the priority corresponding to the first identifier, a second service message is obtained, where the second service message includes the priority corresponding to the first identifier.

21. The device according to any one of claims 17 to 19, characterized in that The processing module is specifically used for: If it is determined that the second identifier is the same as the first identifier, the description information of the first business message is stored in the first queue corresponding to the second identifier, the first queue is one of multiple application queues, and each queue in the multiple application queues corresponds to an application identifier; the business messages of the first queue are sent before the business messages of the second queue, and the application identifier corresponding to the second queue is not included in the policy set.

22. The device according to any one of claims 17 to 21, characterized in that The policy set also includes a reserved bandwidth corresponding to the first identifier, where the reserved bandwidth is used to indicate a bandwidth reserved for service messages of the target application.

23. The device according to any one of claims 17 to 22, characterized in that The transceiver module is also used for: Send indication information to the terminal device, where the indication information is used to instruct the terminal device to give priority to reporting the service message of the target application.

24. The device according to claims 17-23, characterized in that The second network device is a network cloud engine NCE, an analyzer, or a server for managing the first network device.

25. A message processing device, the device being arranged in a second network device, characterized in that: include: A transceiver module, configured to receive a statistical information set, wherein the statistical information set includes message statistical information of a target application; A processing module, configured to generate a policy set according to the statistical information set, wherein the policy set includes a first identifier and a quality of service (QoS) policy corresponding to the first identifier, and the first identifier corresponds to the target application; The transceiver module is further used to send the policy set to the first network device.

26. The device according to claim 25, characterized in that The message statistics information of the target application includes information obtained through feature recognition of service messages in interface queues of N network devices, wherein the N network devices include one or more of the first network device and the third network device, and N is an integer greater than or equal to 1.

27. The device according to claim 25 or 26, characterized in that The processing module is specifically used for: Determine, based on the statistical information set, a QoS metric parameter corresponding to the target application, wherein the QoS metric parameter is used to describe a network quality condition of the target application; The processing module is further configured to generate the policy set based on the QoS metric parameter.

28. The device according to claim 27, characterized in that The statistical information set includes one or more of the number of application packets of the target application at multiple times, the number of queue packets based on the interface queue, the number of queue packet losses, the queue depth and the packet sending rate; The processing module is specifically used for: Determine one or more of application bandwidth, application packet loss, and application delay of the target application based on the statistical information set, wherein the application bandwidth is obtained based on the number of application packets of the target application at multiple time points; The application packet loss is based on the number of messages in the queue, The application delay is obtained based on the queue depth and the message sending rate.

29. The device according to claim 27 or 28, characterized in that The processing module is specifically used for: According to the QoS metric parameters of the target application, the target application is evaluated and simulated to obtain a guarantee standard of the target application, wherein the guarantee standard is one or more of a message priority and a bandwidth required to guarantee the network quality of the target application in a simulation environment; The processing module is further configured to generate the policy set according to the assurance standard of the target application.

30. The device according to any one of claims 25 to 29, characterized in that The policy set also includes a priority corresponding to the first identifier, and the priority is used to indicate a priority of service message processing.

31. The device according to any one of claims 25 to 30, characterized in that The policy set also includes a reserved bandwidth corresponding to the first identifier, where the reserved bandwidth is used to indicate a bandwidth reserved for service messages of the target application.

32. The device according to any one of claims 25 to 31, characterized in that The second network device is a network cloud engine NCE, an analyzer, or a server for managing the first network device.

Citation Information

Patent Citations

  • Method and system for controlling service quality of communication service

    CN105307219A

  • Scheduling method and device in service customization network based on terminal equipment

    CN114143838A

  • Consistent quality of service policy in a software defined enterprise network

    US11246055B1

  • System and method for recognizing application-specific flows and assigning them to queues

    US7225271B1