Business performance control methods and devices

By combining shaped queues and Poisson transponders, the congestion problem caused by sudden traffic bursts in wireless communication systems is solved, enabling fine-grained performance control of different services and ensuring the computability of output traffic and the determinism of SLA.

CN113923168BActive Publication Date: 2025-10-28HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010659251.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-07-09
Publication Date
2025-10-28
Estimated Expiration
2040-07-09

AI Technical Summary

Technical Problem

Existing technologies cannot effectively meet the diverse SLA requirements of different service types for network transmission. Especially in wireless communication systems, when traffic surges, various services compete for resources, leading to congestion, uncontrollable packet loss and latency. Traditional base station expansion cannot provide refined services.

Method used

A service performance control method is adopted, which sets up multiple shaped queues and Poisson repeaters to perform fine-grained control according to the performance requirements (rate, latency, packet loss rate) of different services. The output packet interval meets the exponential distribution, and random tokens are used to control traffic. Combined with the multiplexing queue threshold, packets with high performance requirements are processed first.

Benefits of technology

It enables fine-grained control over different business traffic, mitigates business bursts, ensures the computability of output traffic, meets the performance requirements of various businesses, and provides a defined SLA guarantee.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113923168B_ABST
    Figure CN113923168B_ABST
Patent Text Reader

Abstract

This application discloses a service performance control method and apparatus. The apparatus includes at least two shaping queues. The apparatus receives input packets and determines the corresponding shaping queue based on the input packets. Different shaping queues correspond to different performance requirements, including rate requirements. The output rates of output packets from shaping queues with different rate requirements are different. For any of the at least two shaping queues, the packet interval of the output packets from any given queue follows an exponential distribution. Using the scheme of this application, the output packets that meet the performance requirements of the input packets can be precisely controlled, and the packet interval of the output packets follows an exponential distribution, which is beneficial for subsequent processing of the output packets, thereby achieving effective control of service performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a service performance control method and apparatus. Background Technology

[0002] In wired (e.g., fixed-line) or wireless (e.g., long-term evolution (LTE) mobile communication systems, fifth-generation (5G) th In the fields of mobile communication systems (generation, 5G) and Wi-Fi, applications are experiencing explosive growth. For example, in the wireless field, with the explosive growth of wireless applications and the continuous increase in the number of terminals, the huge traffic puts great pressure on base station transmission. Multiplexing is often used to utilize wireless air interface resources. However, when traffic surges, various services compete for resources, causing congestion and resulting in uncontrollable packet loss. For example, in Voice Over Long-Term Evolution (VoLTE) technology, before the base station (or terminal) sends Internet Protocol (IP) packets through the air interface, due to the capacity of the base station (or terminal) or air interface quality issues, the timer in the base station (or terminal) (e.g., configurable to 100ms) may time out, leading to active packet discarding and increased latency. Packet discarding and increased latency directly affect the actual voice perception of VoLTE users. To minimize the triggering of packet discarding mechanisms and increased latency, traditionally, base station capacity expansion is used to mitigate this. However, wireless resources are expensive, base station expansion is extremely costly, and in the long run, the growth rate of wireless network data traffic far exceeds the growth rate of available spectrum. Relying solely on base station expansion cannot fundamentally solve base station traffic congestion. Furthermore, base station expansion cannot provide a definite service-level agreement (SLA) guarantee; base stations can only provide best-effort service (BE service) and cannot provide finely differentiated services at different SLA levels.

[0003] With the diversification of business needs, different business types have different SLA requirements for network transmission, including varying latency, packet loss rate, and throughput requirements. For example, mobile banking transactions are more tolerant of latency but highly sensitive to packet loss; Voice over Internet Protocol (VoIP) services are sensitive to both latency and packet loss; and some image transmission services are more tolerant of both latency and packet loss. Currently, there is no effective technology that can meet the performance requirements of all these different services. Summary of the Invention

[0004] This application provides a service performance control method and apparatus to perform fine-grained control of service performance and meet the performance requirements of different services.

[0005] In a first aspect, a service performance control method is provided, applied to a first device, the first device including at least two shaping queues, the method including: receiving an input message; and determining the shaping queue corresponding to the input message based on the input message, different shaping queues corresponding to different performance requirements, the performance requirements including rate requirements, the output rate of the output messages of shaping queues with different rate requirements being different, and for any one of the at least two shaping queues, the message interval of the output messages of any one shaping queue satisfies an exponential distribution.

[0006] In this respect, the output messages can be precisely controlled to meet the performance requirements of the input messages, and the message intervals of the output messages meet an exponential distribution, which is beneficial to the subsequent processing of the output messages, thereby achieving effective control of service performance.

[0007] In conjunction with the first aspect, in one possible implementation, the method further includes: determining a time interval distribution function for the random token based on the rate requirement of the input message; generating a random time interval based on the time interval distribution function; issuing the random token based on the random time interval; and forwarding the input message that has obtained the random token, wherein the message interval of the forwarded message corresponds to the random time interval.

[0008] In this implementation, the Poisson repeater randomly generates a time interval based on a preset random token time interval distribution function. The timer starts from the issuance of the previous token, and after this time interval, another token is issued from the token bucket. Using a Poisson repeater to forward packets can mitigate traffic bursts, making the output traffic performance computable; and ensuring that the output traffic remains computable even after multi-stream aggregation.

[0009] In conjunction with the first aspect, in yet another possible implementation, the time interval distribution function of the random tokens differs for different rate requirements.

[0010] In this implementation, different time interval distribution functions are preset for different rate requirements. Thus, after an input message enters the corresponding shaping queue according to the rate requirement, a random time interval can be generated based on the preset time interval distribution function corresponding to that rate requirement, and a random token can be issued based on this random time interval.

[0011] In conjunction with the first aspect, in another possible implementation, the performance requirements also include latency requirements, with different queue lengths for different latency requirements.

[0012] In this implementation, different integer queue lengths can also be set to meet different latency requirements.

[0013] In conjunction with the first aspect, in another possible implementation, the method further includes: updating the current cache length of the integer queue to which the input message belongs to a first target cache length, wherein the first target cache length is the sum of the current cache length of the integer queue and the length of the input message; determining a first packet loss rate corresponding to the first target cache length; and performing cache or packet loss processing on the input message according to the first packet loss rate.

[0014] In this implementation, a variety of first target buffer lengths and a variety of first packet loss rates are pre-stored. The input message can be buffered or processed for packet loss according to the first packet loss rate corresponding to the determined first target buffer length, so as to meet the packet loss rate requirements of the input message.

[0015] In conjunction with the first aspect, in another possible implementation, the performance requirements also include packet loss rate requirements, with different initial packet loss rates for the integer queues with different packet loss rate requirements.

[0016] The correspondence between various first target buffer lengths and various first packet loss rates is pre-stored, and the first packet loss rate of the integer queue is different for different packet loss rate requirements.

[0017] In conjunction with the first aspect, in another possible implementation, the at least two integer queues correspond to a multiplexing queue, and different integer queues correspond to different multiplexing queue threshold values.

[0018] In this implementation, a multiplexing queue can also be used to control the latency and packet loss of the packets output by the above at least two integer queues. Specifically, multiple multiplexing queue thresholds corresponding to various integer queues are preset, and different integer queues correspond to different multiplexing queue thresholds to meet the performance requirements of different services.

[0019] In conjunction with the first aspect, in another possible implementation, the method further includes: updating the current buffer length of the multiplexing queue to a second target buffer length, the second target buffer length being the sum of the current buffer length of the multiplexing queue and the length of the output message of the shaping queue; and if the second target buffer length is less than or equal to the multiplexing queue threshold value corresponding to the shaping queue, controlling the output message to enter the multiplexing queue to wait for transmission.

[0020] In this implementation, when there are packets waiting to enter the multiplexing queue, the current buffer length and the second target buffer length of the multiplexing queue are updated, that is, the current buffer length is incremented by 1. It is then determined whether the second target buffer length is less than or equal to the multiplexing queue threshold value corresponding to the integer queue, thereby controlling whether the output packets of the integer queue can enter the multiplexing queue to wait for transmission, effectively improving the service performance control.

[0021] Secondly, a first device is provided, the first device comprising at least two shaping queues, the first device comprising: a receiving unit for receiving an input message; and a first determining unit for determining the shaping queue corresponding to the input message based on the input message, wherein different shaping queues correspond to different performance requirements, the performance requirements including rate requirements, and the output rate of the output messages of shaping queues with different rate requirements is different, and for any one of the at least two shaping queues, the message interval of the output messages of any one shaping queue satisfies an exponential distribution.

[0022] In conjunction with the second aspect, in one possible implementation, the first device further includes: a second determining unit, configured to determine a time interval distribution function of the random token based on the rate requirement of the input message; a generating unit, configured to generate a random time interval based on the time interval distribution function; a token issuing unit, configured to issue the random token based on the random time interval; and a sending unit, configured to forward the input message that has obtained the random token, wherein the message interval of the forwarded message corresponds to the random time interval.

[0023] In conjunction with the second aspect, in yet another possible implementation, the time interval distribution function of the random tokens differs for different rate requirements.

[0024] In conjunction with the second aspect, in another possible implementation, the performance requirements also include latency requirements, with different queue lengths for different latency requirements.

[0025] In conjunction with the second aspect, in another possible implementation, the first device further includes: a first update unit, configured to update the current cache length of the shaping queue to which the input packet belongs to a first target cache length, wherein the first target cache length is the sum of the current cache length of the shaping queue and the length of the input packet; a third determination unit, configured to determine a first packet loss rate corresponding to the first target cache length; and a processing unit, configured to perform caching or packet loss processing on the input packet according to the first packet loss rate.

[0026] In conjunction with the second aspect, in another possible implementation, the performance requirements also include packet loss rate requirements, with different first packet loss rates for the integer queues with different packet loss rate requirements.

[0027] In conjunction with the second aspect, in another possible implementation, the at least two integer queues correspond to a multiplexing queue, and different integer queues correspond to different multiplexing queue threshold values.

[0028] In conjunction with the second aspect, in another possible implementation, the first device further includes: a second update unit, configured to update the current buffer length of the multiplexing queue to a second target buffer length, wherein the second target buffer length is the sum of the current buffer length of the multiplexing queue and the length of the output message of the shaping queue; and a control unit, configured to control the output message to enter the multiplexing queue to wait for transmission if the second target buffer length is less than or equal to the multiplexing queue threshold value corresponding to the shaping queue.

[0029] Thirdly, a first device is provided, which may be the first device described in the first aspect above, or a module applied in the first device, such as a chip or chip system. The first device includes at least one processor for executing the method described in the first aspect above.

[0030] For example, the first device further includes a memory coupled to the at least one processor for performing the method in the first aspect described above.

[0031] In one possible implementation, the memory is used to store program instructions and data. The memory is coupled to the at least one processor, which can call and execute the program instructions stored in the memory to perform the method described in the first aspect above.

[0032] For example, the first device further includes a communication interface for communicating with other devices. This communication interface can be a transceiver, an input / output interface, or a circuit, etc.

[0033] In one possible design, the first device includes: at least one processor and a communication interface for performing the method in the first aspect described above, specifically including: the at least one processor communicating with an external entity using the communication interface; the at least one processor running a computer program that causes the first device to perform the method in the first aspect described above. It is understood that the external entity can be an object other than the processor, or an object other than the first device.

[0034] In another possible design, the first device is a chip or chip system. The communication interface can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip or chip system. The processor can also be manifested as processing circuitry or logic circuitry.

[0035] Fourthly, a communication system is provided, including a first device as described in the second aspect or any implementation thereof, and a second device.

[0036] Fifthly, a computer-readable storage medium is provided, wherein instructions are stored therein, which, when executed on a computer, cause the computer to perform the method described in the first aspect or any implementation thereof.

[0037] In a sixth aspect, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform the method described in the first aspect or any implementation thereof.

[0038] In a seventh aspect, a chip is provided, the chip being coupled to a memory, which executes the method described in the first aspect of the embodiments of this application or any implementation thereof.

[0039] It should be noted that in the embodiments of this application, "coupling" refers to two components being directly or indirectly combined with each other. Attached Figure Description

[0040] Figure 1 This is a schematic diagram of the structure of a communication system to which this application applies;

[0041] Figure 2a This is a schematic diagram of an uplink transmission scenario in a wireless communication system;

[0042] Figure 2b This is a schematic diagram of a downlink transmission scenario in a wireless communication system;

[0043] Figure 3 This is a flowchart illustrating a service performance control method provided in an embodiment of this application;

[0044] Figure 4 This is a flowchart illustrating another service performance control method provided in the embodiments of this application;

[0045] Figure 5 This is a schematic diagram of the structure of multiple integer queues;

[0046] Figure 6 This is a schematic diagram illustrating the principle of implementing an integer queue n;

[0047] Figure 7 This is a schematic diagram illustrating the principle of a Poisson repeater.

[0048] Figure 8 This is a schematic diagram illustrating the principle of reusable queues;

[0049] Figure 9 This is a schematic diagram illustrating service performance control during the example uplink transmission process;

[0050] Figure 10 This is a schematic diagram illustrating service performance control during downlink transmission;

[0051] Figure 11 This is a schematic diagram of the structure of a first device provided in an embodiment of this application;

[0052] Figure 12 This is a schematic diagram of the structure of another first device provided in the embodiments of this application. Detailed Implementation

[0053] The embodiments of this application are described below with reference to the accompanying drawings.

[0054] like Figure 1 The diagram shown is a structural schematic of a communication system to which this application applies. The communication system 100 includes a first device 200 and a second device 300. The first device 200 is a device that performs the service performance control of this application. The first device 200 outputs a message that has undergone service performance control to the second device 300; or, the first device 200 receives a message input from the second device 300 and performs service performance control on the input message.

[0055] The communication system can be a wireless communication system, such as: Long Term Evolution (LTE) system, LTE Frequency Division Duplex (FDD) system, LTE Time Division Duplex (TDD) system, 5th Generation (5G) system, or New Radio (NR) system, or next-generation communication system, such as 6G. The 5G mobile communication system involved in this application includes non-standalone (NSA) 5G mobile communication systems or standalone (SA) 5G mobile communication systems. The technical solution provided in this application can also be applied to future communication systems, such as 6th Generation mobile communication systems. The communication system can also be a public land mobile network (PLMN) network, a device-to-device (D2D) communication system, a machine-to-machine (M2M) communication system, an Internet of Things (IoT) system, a vehicle-to-everything (V2X) communication system, or other communication systems.

[0056] Specifically, wireless communication includes uplink transmission and downlink transmission. For example... Figure 2aThe diagram shown illustrates an uplink transmission scenario. The first device 200 can be... Figure 2a The access network device shown, the second device 300 may be Figure 2a The user terminal is shown in the diagram. This access network device receives packets transmitted by the user terminal, performs service performance control on the packets according to their performance requirements, and then outputs the packets to the core network. For example... Figure 2b The diagram shown illustrates a downlink transmission scenario. The first device 200 can be... Figure 2b The access network device shown, the second device 300 may be Figure 2b The user terminal shown is an example. This access network device receives packets transmitted from the core network, performs service performance control on the packets according to their performance requirements, and then outputs the packets to the user terminal.

[0057] Optionally, the user terminal in this application embodiment may refer to an access terminal, user unit, user station, mobile station, mobile station, relay station, remote station, remote terminal, mobile device, user equipment (UE), terminal, wireless communication device, user agent, user device, cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication function, computing device or other processing device connected to a wireless modem, vehicle-mounted device, wearable device, terminal in future 5G network, terminal in future evolved PLMN, or terminal in future vehicle network, etc., and this application embodiment does not limit this.

[0058] By way of example and not limitation, in the embodiments of this application, the user terminal may be a mobile phone, tablet computer, computer with wireless transceiver function, virtual reality terminal, augmented reality terminal, wireless terminal in industrial control, wireless terminal in autonomous driving, wireless terminal in remote surgery, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, etc.

[0059] As an example and not a limitation, in this application embodiment, wearable devices can also be called wearable smart devices. This is a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables, such as glasses, gloves, watches, clothing, and shoes. Wearable devices are portable devices that are worn directly on the body or integrated into the user's clothing or accessories. Wearable devices are not merely hardware devices; they achieve powerful functions through software support, data interaction, and cloud interaction. Broadly defined, wearable smart devices include those that are feature-rich, large in size, and can achieve complete or partial functionality without relying on a smartphone, such as smartwatches or smart glasses, as well as those that focus on a specific application function and require use with other devices such as smartphones, such as various smart bracelets and smart jewelry for vital sign monitoring.

[0060] Furthermore, in this embodiment, the user terminal can also be a terminal in an Internet of Things (IoT) system. IoT is an important component of future information technology development, and its main technical feature is connecting objects to networks through communication technologies, thereby realizing an intelligent network of human-machine interconnection and object-to-object interconnection. In this embodiment, IoT technology can achieve massive connectivity, deep coverage, and terminal power saving through technologies such as narrowband (NB).

[0061] In addition, in this embodiment, the user terminal may also include sensors such as smart printers, train detectors, and gas stations. Its main functions include collecting data (for some terminals), receiving control information and downlink data from the access network device, and sending electromagnetic waves to transmit uplink data to the access network device.

[0062] Optionally, the access network device in this application embodiment can be any communication device with wireless transceiver capabilities used for communicating with the terminal. This access network device includes, but is not limited to: evolved node B (eNB), baseband unit (BBU), access point (AP), wireless relay node, wireless backhaul node, transmission point (TP), or transmission reception point (TRP) in a wireless fidelity (WIFI) system. The access network device can also be a 5G base station (gNB) or TRP or TP in a 5G system, or one or a group of antenna panels (including multiple antenna panels) of a base station in a 5G system. Furthermore, the access network device can also be a network node constituting a gNB or TP, such as a BBU, or a distributed unit (DU).

[0063] In some deployments, a gNB may include a centralized unit (CU) and a dedicated unit (DU). Additionally, a gNB may include an active antenna unit (AAU). The CU implements some of the gNB's functions, and the DU implements others. For example, the CU handles non-real-time protocols and services, implementing radio resource control (RRC) and packet data convergence protocol (PDCP) layer functions. The DU handles physical layer protocols and real-time services, implementing radio link control (RLC), media access control (MAC), and physical layer (PHY) layer functions. The AAU implements some physical layer processing functions, radio frequency processing, and active antenna-related functions. Since RRC layer information ultimately becomes PHY layer information, or is derived from PHY layer information, in this architecture, higher-layer signaling, such as RRC layer signaling, can also be considered as being sent by the DU, or by both the DU and AAU. It is understandable that access network equipment can be one or more of the following: CU node, DU node, and AAU node.

[0064] Optionally, the access network device and the user terminal in this application embodiment can communicate via licensed spectrum, unlicensed spectrum, or both simultaneously. The access network device and the user terminal can communicate via spectrum below 6 GHz, spectrum above 6 GHz, or both simultaneously. This application embodiment does not limit the spectrum resources used between the access network device and the user terminal.

[0065] Optionally, the user terminal and access network equipment in the embodiments of this application can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, and artificial satellites. The embodiments of this application do not limit the application scenarios of the user terminal and access network equipment.

[0066] The communication system can also be a fixed-line communication system. In this case, the first device 200 is the transmitting device in the fixed-line communication system, and the second device 300 is the receiving device in the fixed-line communication system; or the first device 200 is the receiving device in the fixed-line communication system, and the second device 300 is the transmitting device in the fixed-line communication system.

[0067] like Figure 3 The diagram shown is a flowchart illustrating a service performance control method provided in an embodiment of this application. This method can be applied to a first device. Exemplarily, the method may include the following steps:

[0068] S101, Receive input messages.

[0069] As mentioned earlier, taking wireless communication as an example, during uplink transmission, the first device can receive messages input by the user terminal; during downlink transmission, the first device can receive messages input by the core network. This first device can be the aforementioned access network device. Of course, this method can also be applied to fixed-line communication systems.

[0070] Each input message has its own performance requirements. Performance requirements represent the basic requirements that a device must meet during the transmission of that message. These performance requirements can be specifically characterized by the SLA mentioned above. The device here can be the first device, or any device transmitting the message. Performance requirements include at least one of the following: rate requirement, packet loss rate requirement, and latency requirement. The rate requirement refers to the minimum or maximum rate that the device must meet when transmitting the message. The packet loss rate requirement refers to the number of messages lost during transmission that should be less than or equal to a set value. The latency requirement refers to the minimum delay time that the device must meet when transmitting the message. Generally, when the transmission rate is constant, the shorter the device's buffer length, the shorter the time the input message is buffered in the device, and the lower the latency; conversely, when the transmission rate is constant, the longer the device's buffer length, the longer the time the input message is buffered in the device, and the higher the latency.

[0071] S102. Based on the input message, determine the shaping queue corresponding to the input message. Different shaping queues correspond to different performance requirements, including rate requirements. The output rate of the output messages of the shaping queues with different rate requirements is different. For any one of the at least two shaping queues, the message interval of the output message of any one shaping queue satisfies an exponential distribution.

[0072] In this embodiment, the first device is equipped with one or more shaping queues. Specifically, the first device pre-acquires one or more performance requirements, wherein the performance requirements mainly include rate requirements, and the first device sets up different shaping queues according to different rate requirements. Different shaping queues correspond to different rate requirements. The shaping queue is used to control the rate of input packets so that the output packet rates of shaping queues with different rate requirements are different.

[0073] After receiving an input message, the first device determines the corresponding shaping queue based on the input message. Specifically, based on the rate requirement of the input message, it controls the input message to enter the corresponding shaping queue. This rate requirement can be carried in the header of the input message, or the first device can determine the rate requirement of the input message based on other parameters of the input message.

[0074] The input messages entering the shaping queue are rate controlled according to the preset rate requirements, so that the messages output by the shaping queue meet the rate requirements, that is, meet the minimum or maximum rate requirements of the messages.

[0075] Furthermore, the output packets of the shaped queue enter the Poisson repeater, and the packet intervals of the packets forwarded by the Poisson repeater satisfy an exponential distribution. The output packets of multiple shaped queues are forwarded by their respective Poisson repeaters, and the packet intervals of the output packets all satisfy an exponential distribution. The output packet flow is a Poisson flow, which facilitates subsequent processing of packets satisfying an exponential distribution. For example, it mitigates traffic bursts, ensures computability of output traffic performance, and maintains computability even after multi-stream aggregation of the traffic flows output from multiple shaped queues.

[0076] According to the embodiments of this application, a service performance control method can finely control the output of messages that meet the performance requirements of the input messages, and the message interval of the output messages meets the exponential distribution, which is beneficial to the subsequent processing of the output messages, thereby achieving effective control of service performance.

[0077] like Figure 4 The diagram shown is a flowchart illustrating another service performance control method provided in this application embodiment. This method can be applied to a first device. Exemplarily, the method may include the following steps:

[0078] S201, Receive input message.

[0079] The first device receives input messages, each with its own performance requirements. Performance requirements represent the basic requirements that the device must meet during message transmission. Performance requirements include at least one of the following: rate requirement, packet loss rate requirement, and latency requirement.

[0080] Specifically, it could be that the base station receives messages input by the user equipment, or that the base station receives messages input by the core network.

[0081] S202. Based on the input message, determine the corresponding shaping queue. Different shaping queues correspond to different performance requirements, including rate requirements. The output rate of the output message of the shaping queue with different rate requirements is different.

[0082] like Figure 5 The diagram shows the structure of multiple shaping queues. The first device is equipped with one or more shaping queues. Figure 5 The example is: shaping queue 1 to shaping queue n). Specifically, the first device pre-acquires one or more rate requirements, and sets up different shaping queues according to different rate requirements. Different shaping queues correspond to different rate requirements. The shaping queue is used to control the rate of the input message so that the output message rate of the shaping queue with different rate requirements is different.

[0083] After receiving an input message, the first device determines the corresponding shaping queue (e.g., entering shaping queue n) based on the input message. Specifically, it controls the input message to enter the corresponding shaping queue according to the rate requirement of the input message. This rate requirement can be carried in the message header of the input message, or the first device can determine the rate requirement of the input message based on other parameters of the input message.

[0084] The input messages entering the shaping queue are rate controlled according to the preset rate requirements, so that the messages output by the shaping queue meet the rate requirements, that is, meet the minimum or maximum rate requirements of the messages.

[0085] The above steps S201 to S202 realize the rate control of the input message. The following steps S203 to S205 realize the packet loss rate control of the input message.

[0086] like Figure 6 The diagram illustrates the principle of the shaping queue n, which includes N maximum transmission units (MTUs). MTU refers to the maximum length of packets that can be buffered. The first device pre-sets a correspondence between multiple first target buffer lengths and multiple first packet loss rates. The first target buffer length refers to the length at which packets entering the shaping queue are dropped at a certain first packet loss rate when the number of buffered packets in the shaping queue reaches a certain amount (or when the input packet reaches a certain buffer length after entering the shaping queue). This first target buffer length can also be called the shaping queue buffer waterline. Table 1 below illustrates the correspondence between the N first target buffer lengths and multiple first packet loss rates:

[0087] Table 1

[0088]

[0089] As shown in Table 1, when the length of the first target buffer is less than n, all packets waiting to enter the shaping queue can enter the shaping queue; when the length of the first target buffer is equal to n, the first device uses P n The probability of discarding a message waiting to enter the shaping queue is 1-P. n The probability of entering the integer queue is P; when the length of the first target cache is equal to n+1, the first device enters the integer queue with a probability of P. n+1 The probability of discarding a message waiting to enter the shaping queue is 1-P. n+1 The probability of entering the integer queue is [a certain percentage]; and so on.

[0090] S203. Update the current buffer length of the integer queue to which the input message belongs to the first target buffer length.

[0091] Before the first device inputs an input packet into the corresponding shaping queue, the shaping queue to which the input packet belongs may already have packets of a certain length buffered. The first device updates the current buffer length of the shaping queue to which the input packet belongs to a first target buffer length. This first target buffer length can be the sum of the current buffer length of the input packet and the current buffer length of the shaping queue to which the input packet belongs, i.e., the current buffer length plus 1. This first target buffer length is the buffer length that the input packet can reach after entering the shaping queue.

[0092] S204. Determine the first packet loss rate corresponding to the first target cache length.

[0093] As mentioned above, the first device pre-sets a correspondence between multiple first target buffer lengths and multiple first packet loss rates. Therefore, based on the first target buffer length determined in step S204, the first packet loss rate corresponding to that first target buffer length can be determined. For example, assuming the first target buffer length is n+1, or in other words, the buffer length that an input packet can reach after entering the shaping queue is n+1, then the first packet loss rate is determined to be P. n+1 .

[0094] S205. Buffer or process the input message for packet loss based on the first packet loss rate.

[0095] For example, suppose the length of the first target cache is n+1, and the first packet loss rate is P. n+1 Then P n+1 The probability of dropping input packets intended to enter the shaping queue is determined by 1-P. n+1 The probability of it entering the integer queue for caching is [a certain percentage].

[0096] Furthermore, the first device can also perform latency control on input messages. Specifically, to meet different latency requirements of input messages, the queue length of the shaping queue varies depending on the latency requirement. The shorter the queue length or buffer length of the shaping queue, the shorter the waiting time for messages entering the buffer, and the lower the latency; conversely, the longer the queue length or buffer length of the shaping queue, the longer the waiting time for messages entering the buffer, and the greater the latency.

[0097] After the input packets undergo rate and packet loss rate control via the shaping queue, they enter the Poisson repeater. Steps S206-S209 describe how to control the packet intervals of the output packets from the shaping queue to conform to an exponential distribution.

[0098] S206. Determine the time interval distribution function of the random token based on the rate requirement of the input message.

[0099] S207. Generate random time intervals based on the time interval distribution function.

[0100] S208. Issue random tokens according to random time intervals.

[0101] S209. Forward the input message that has obtained the random token. The message interval of the forwarded message corresponds to the random time interval.

[0102] like Figure 7 The diagram shown illustrates the principle of a Poisson repeater. A Poisson repeater randomly generates a time interval based on a preset random token time interval distribution function. The timer starts from the last token issued, and after that time interval, another token is issued from the token bucket. Using a Poisson repeater to forward packets can mitigate traffic bursts, making the output traffic performance computable; and ensuring that the output traffic remains computable even after multi-stream aggregation.

[0103] Specifically, the Poisson repeater is first initialized. For example... Figure 7 The process shown in step ① pre-calculates the time interval distribution function F(x) of the random tokens according to the rate requirements of business performance control. That is, one rate requirement corresponds to one distribution function. Each shaped queue is followed by a corresponding Poisson repeater, and both the shaped queue and the Poisson repeater correspond to the same rate requirement. The time interval x of the packets forwarded by the repeater follows an exponential distribution, i.e., x ~ exp(λ), where λ is the exponential distribution parameter. The time interval distribution function F(x) is shown in Equation 1 below:

[0104]

[0105] The parameter λ can be determined in the following way:

[0106] (1) Calculate the ratio of the average message length of the service flow to the expected output rate, and use this ratio as the average message interval duration.

[0107] (2) The expected value of the above exponential distribution function This indicates the average interval between messages in this service flow. Will Substituting the ratio calculated in (1), λ can be determined.

[0108] Then, as Figure 7 In process ② shown, after receiving the message output from the shaping queue, the rate requirement of the message is obtained. The Poisson repeater randomly generates several time intervals according to the preset distribution function, and controls a certain number of tokens to be issued from the token bucket at these time intervals.

[0109] A Poisson repeater can only forward a message output from an integer queue if it acquires a token. One token corresponds to one message, thus controlling the time interval for forwarding messages to follow a specified distribution, such as an exponential distribution. Figure 7 In process ③ shown, if there are enough tokens in the token bucket, the message that acquires the token is forwarded by the Poisson repeater, and the time interval Y between forwarding messages is... i The values ​​between i and i follow an exponential distribution, where i is any non-negative integer. The forwarder forwards packets at a rate equal to the rate at which the token bucket outputs tokens, and the time interval between packet forwarding is equal to the time interval between token outputs from the token bucket. If the token bucket has no tokens issued, the packet remains in the integer queue until a token is acquired before it can be forwarded by the forwarder.

[0110] like Figure 7 As shown in process ④, after forwarding is complete, the used tokens will be returned to the token bucket, thus keeping the token bucket always full.

[0111] The input message undergoes rate and packet loss rate control via a shaping queue, and is then forwarded by a Poisson repeater to obtain the first output message, which basically meets the performance requirements. Furthermore, the first output message can be further controlled to finer-grained control, satisfying the message latency and packet loss rate requirements. Specifically, the first output message is further controlled through the following steps S210-S211.

[0112] The first device pre-configures a multiplexing queue, and the aforementioned multiple shaping queues correspond to this multiplexing queue. That is, packets output from multiple shaping queues can enter this multiplexing queue to await transmission. However, not every packet output from a shaping queue can simultaneously enter this multiplexing queue for transmission. In this embodiment, a multiplexing queue threshold is set. This threshold is used to determine the second target buffer length of the shaping queue that is allowed to simultaneously enter the multiplexing queue with packets output from other shaping queues, based on different performance requirements. Different shaping queues (i.e., different performance requirements) correspond to different multiplexing queue thresholds.

[0113] like Figure 8 The diagram illustrates the principle of the multiplexing queue. Integer queue 1 corresponds to threshold 1. Packets output from integer queue 1 that satisfy threshold 1 can enter this multiplexing queue for transmission. Specifically, if the second target buffer length, determined by the size of the output packet from integer queue 1 and the current buffer length of the multiplexing queue, is less than or equal to threshold 1, then the output packet from integer queue 1 is allowed to enter this multiplexing queue. Integer queue 2 corresponds to threshold 2. Packets output from integer queue 2 that satisfy threshold 2 can enter this multiplexing queue for transmission. Specifically, if the second target buffer length, determined by the size of the output packet from integer queue 2 and the current buffer length of the multiplexing queue, is less than or equal to threshold 2, then the output packet from integer queue 2 is allowed to enter this multiplexing queue; and so on. Figure 8As can be seen, since threshold 1 is greater than threshold 2, the output packets of shaping queue 1 enter the multiplexing queue with priority over the output packets of shaping queue 2. Generally, the first device prioritizes forwarding packets with higher performance requirements. The performance requirements of shaping queue 1 can be higher than those of shaping queue 2.

[0114] The following example illustrates this concept. Suppose that two types of packets (the first packet and the second packet) arrive in the multiplexing queue, each with specific performance requirements. If both packet flows are Poisson flows (i.e., the time intervals between packets follow an exponential distribution), then the multiplexing scheduling process can be mathematically modeled as a Markov chain (assuming both packets have a length of unit 1). Assume that the average arrival rate of the first packet is λ. P The average arrival rate of the second message is λ. B The time intervals of the two types of messages follow an exponential distribution, respectively exp(λ). P ) and exp(λ B The total service rate of the multiplexing queue (depending on the forwarding capacity of the first device) is μ, and the total buffer length of the multiplexing queue is K. max When the buffer size exceeds threshold 1 (the multiplexing queue threshold value corresponding to the first packet) — K B If the buffer size exceeds threshold 2 (the multiplexing queue threshold for the second packet), then the first arriving packet is discarded. max If the message is not allowed to enter the multiplexing queue, then any message that attempts to enter the multiplexing queue will be discarded.

[0115] Based on the above settings, the following parameters can be calculated:

[0116] The actual service rate of this reuse queue is given by the following formula 2:

[0117]

[0118] Where, μ n This refers to the actual service rate of the reuse queue when its buffer size is n. Formula 2 means that when the reuse queue buffer size does not exceed the total capacity K... max At that time, for an incoming message, the actual service rate it can obtain is equal to the total service rate μ of the multiplexing queue; when it exceeds the total capacity K... max At that time, for an incoming message, the actual service rate it receives is equal to 0.

[0119] When the buffer size is n, the actual arrival rate is as follows: Formula 3:

[0120]

[0121] Where, λ nThis refers to the actual arrival rate of the reuse queue when its buffer capacity is n. Formula 3 means that when the buffer capacity of the reuse queue does not exceed a threshold 1—K... B At this time, service packets of both priorities will be accepted upon arrival, and the actual arrival rate is the sum of the two. When the reuse queue buffer size exceeds K... B But not exceeding K max At that time, only first-priority service packets are received, therefore the actual arrival rate is λ. p When the total capacity K is exceeded max At this point, all packets are no longer received, and the actual arrival rate is equivalent to 0.

[0122] The waiting delay distribution for the second message is shown in Formula 4 below:

[0123]

[0124]

[0125] Among them, w P (t) is the waiting delay for the first message, w B (t) is the waiting delay for the second message. It is to calculate w P The intermediate value at time (t), It is to calculate w B The intermediate value at (t).

[0126] The waiting delay distribution for the first message is shown in Formula 5 below:

[0127]

[0128]

[0129] The average packet loss rate for the second message is:

[0130]

[0131] Average packet loss rate of the first message:

[0132]

[0133] Among them, P n This represents the steady-state probability when the reuse queue buffer size is n.

[0134] S210. Update the current cache length of the reuse queue to the second target cache length.

[0135] Before the output packets of the shaping queue enter the multiplexing queue, the multiplexing queue may already contain packets output by the shaping queue or other shaping queues. Therefore, the second target buffer length is determined based on the size of the output packets of the shaping queue and the current buffer length of the multiplexing queue. The current buffer length of the multiplexing queue refers to the number of packets buffered in the multiplexing queue. This second target buffer length can be the sum of the size of the output packets of the shaping queue and the current buffer length of the multiplexing queue.

[0136] S211. If the length of the second target buffer is less than or equal to the threshold value of the multiplexing queue corresponding to the shaping queue, control the output message of the shaping queue to enter the multiplexing queue to wait for transmission.

[0137] Based on this shaped queue, the corresponding multiplexing queue threshold can be determined. If the second target buffer length is less than or equal to the multiplexing queue threshold corresponding to the shaped queue, the output packets of that shaped queue are controlled to enter the multiplexing queue to await transmission. Conversely, if the second target buffer length is greater than the multiplexing queue threshold corresponding to the shaped queue, the output packets of that shaped queue are discarded. Figure 8 As shown, if the threshold value of the multiplexing queue corresponding to the integer queue is threshold 1, and if the length of the second target buffer is less than or equal to threshold 1, then the output message of the integer queue can enter the multiplexing queue to wait for transmission.

[0138] It should be noted that in this embodiment, the three performance requirement control steps of rate, packet loss rate and latency can be performed simultaneously, or one or more of the performance requirement control steps can be performed.

[0139] According to the embodiments of this application, a service performance control method can finely control the output of messages that meet the performance requirements of the input messages, and the message interval of the output messages meets the exponential distribution, which is beneficial to the subsequent processing of the output messages, thereby achieving effective control of service performance.

[0140] In some embodiments, the above performance requirements may correspond to priorities, and input messages may be marked with priorities according to their performance requirements.

[0141] The following uses uplink and downlink transmission in wireless communication as examples to describe the service performance control of messages based on priority:

[0142] like Figure 9 The diagram illustrates service performance control during uplink transmission. The user terminal and base station pre-negotiate, pre-define, or pre-store one or more performance requirements and priority mappings. Before sending (inputting) a message to the base station, the user terminal labels the message with the appropriate priority based on the performance requirements of the message to be sent. For example... Figure 9As shown, different performance requirements for input messages result in different labeling priorities. Priorities can include low, medium, and high priorities, or even more.

[0143] User terminals prioritize packets according to performance requirements and then send packets carrying priority information to the base station. First, the user terminal determines the priority of different packets based on performance requirements, such as latency and packet loss rate requirements. Then, the user terminal can assign priorities using the IP protocol, writing the priority information into the optional fields of the IP packet header. For example, using 3 bits of the optional field to represent priority information allows for the representation of 8 different priorities.

[0144] Table 2 below illustrates the format for assigning priority to user terminals:

[0145] Table 2

[0146]

[0147] In Table 2, for Type A packets, the latency requirement is less than or equal to 20ms, the packet loss rate requirement is less than or equal to 0.1%, and its priority is set to 0. Correspondingly, the priority information carried in the packet's IP header is "000". For Type B packets, the latency requirement is less than or equal to 30ms, the packet loss rate requirement is less than or equal to 0.01%, and its priority is set to 1. Correspondingly, the priority information carried in the packet's IP header is "001". For Type X packets, the latency requirement is less than or equal to 40ms, the packet loss rate requirement is less than or equal to 0.1%, and its priority is set to 7. Correspondingly, the priority information carried in the packet's IP header is "111", and so on.

[0148] The input message is transmitted to the base station via a wireless link. Upon receiving the input message, the base station performs service performance control. Specifically, first, it identifies the priority marked by the user terminal and measures the rate of the input message to obtain the message identification and measurement results. Then, the base station pre-configures shaping queues corresponding to different priorities (i.e., different rate requirements). Therefore, based on the identified priority of the input message, it buffers the input message into the corresponding shaping queue. The base station also pre-stores a first packet loss rate corresponding to different buffer lengths in the shaping queue. This shaping queue is used to determine a first target buffer length based on the size of the input message and the current buffer length of the shaping queue, and to determine the first packet loss rate corresponding to the first target buffer length. The input message is then buffered or processed for packet loss based on this first packet loss rate. This shaping queue is also used for rate control of the input message to meet the message rate requirements. Then, the packets output from the shaping queue enter the Poisson repeater. This repeater issues random tokens based on a preset distribution function corresponding to the priority (rate requirement) of the input packets. The repeater controls the input packets that receive random tokens to output packets according to the token issuance interval information, with the packet intervals following an exponential distribution. Furthermore, the base station also has a multiplexing queue for finer-grained service performance control of the input packets. The aforementioned multiple shaping queues correspond to one multiplexing queue, and different shaping queues correspond to different multiplexing queue threshold values. For example... Figure 9 As shown, three multiplexing queue thresholds are pre-set: threshold 1, threshold 2, and threshold 3. Different thresholds correspond to different priorities (performance requirements). Based on the priority of the identified input packet, the multiplexing queue threshold corresponding to that priority can be determined (for example, the priority of the input packet corresponds to threshold 1). The base station then obtains the size of the output packet of the shaping queue and determines the second target buffer length based on the size of the output packet and the current buffer length of the multiplexing queue. If the second target buffer length is less than or equal to the multiplexing queue threshold corresponding to that priority (for example, threshold 1), the output packet of the shaping queue can enter the multiplexing queue to wait for transmission; otherwise, the output packet of the shaping queue is not allowed to enter the multiplexing queue and is discarded.

[0149] As can be seen from the above, during uplink transmission, the base station can perform fine-grained service performance control on the messages input by the user terminal through the above process.

[0150] like Figure 10The diagram illustrates service performance control during downlink transmission. This embodiment also involves the base station performing fine-grained service performance control on input packets, similar to the process during uplink transmission. The difference lies in the header of the packet received from the core network, which carries the global priority set by the core network. Global priority is relative to local priority; it's a coarse priority classification provided by the core network for all base stations it controls. For example, if the core network prioritizes video-on-demand over best-effort file downloads, then video-on-demand is marked as high priority, while best-effort file downloads are marked as low priority. Upon receiving packets from the core network, the base station can further refine the packet priority based on its forwarding capabilities, creating local priority. Local priority is a more refined priority classification, tailored to different services by the base station itself. For example, in the above example, video-on-demand might be further subdivided into high, medium, and low priority categories.

[0151] Table 3 below shows the format for global and local priority labeling in the example base station:

[0152] Table 3

[0153]

[0154] In Table 3 above, the SLA requirement for Type A packets is (20ms, 0.1%), and its corresponding global priority is priority 0. The core network carries the global priority information "000" in the packet header. The base station parses this packet header to determine that the global priority of Type A packets is priority 0. The SLA requirement for Type B packets is (30ms, 0.01%), and its corresponding global priority is priority 1. The core network carries the global priority information "001" in the packet header. The base station parses this packet header to determine that the global priority of Type B packets is priority 1. The SLA requirement for Type X packets is (40ms, 0.1%), and its corresponding global priority is priority 7. The core network carries the global priority information "111" in the packet header. The base station parses this packet header to determine that the global priority of Type X packets is priority 7. Of course, more priority levels can be defined. The global priority from high to low can be: priority 0, priority 1, priority 7. Of course, this embodiment does not limit this.

[0155] Taking Type A packets as an example, according to their SLA requirements, they can be subdivided into three types: (5ms, 0.1%), (15ms, 0.1%), and (20ms, 0.1%), corresponding to priorities 0, 1, and 2, respectively. The local priorities, from highest to lowest, can be: priority 0, priority 1, priority 2. When a base station receives a Type A packet, it can set local priorities based on its own forwarding capabilities (e.g., the number of shaping queues) on top of the global priority. When there are many shaping queues, local priorities can be increased by adding the labels "00", "01", and "10" to the three sub-types: (5ms, 0.1%), (15ms, 0.1%), and (20ms, 0.1%), respectively. This allows for more precise control over packet shaping queues and finer control over packet rates.

[0156] During downlink transmission, the base station outputs service-performance controlled messages to the user terminal. The user terminal identifies the priority marked by the base station (global priority, or a combination of global and local priorities) and decodes different service information.

[0157] As can be seen from the above, during downlink transmission, the base station can perform fine-grained service performance control on the messages input by the user terminal through the above process.

[0158] It is understood that, in the above embodiments, the methods and / or steps implemented by the first device can also be implemented by components (e.g., chips or circuits) that can be used in the first device.

[0159] The above mainly describes the solutions provided by the embodiments of this application from the perspective of internal operation execution of the first device. Accordingly, the embodiments of this application also provide a first device for implementing the various methods described above. This first device can be the first device in the above method embodiments, or an apparatus containing the first device, or a component that can be used in the first device. It is understood that, in order to achieve the above functions, the first device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0160] This application embodiment can divide the first device into functional modules according to the above method embodiment. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0161] Based on the same concept of the above-mentioned business performance control methods, such as Figure 11 As shown in the figure, this application embodiment also provides a first device 400, which includes: a receiving unit 401 and a first determining unit 402; further, the first device 400 may also include: a first updating unit 403, a third determining unit 404 and a processing unit 405 (shown as dashed lines in the figure); further, the first device 400 may also include: a second determining unit 406, a generating unit 407 and a token issuing unit 408 (shown as dashed lines in the figure); further, the first device 400 may also include: a second updating unit 410 and a control unit 411 (shown as dashed lines in the figure); wherein:

[0162] The receiving unit 401 is used to receive an input message; and the first determining unit 402 is used to determine the shaping queue corresponding to the input message based on the input message. Different shaping queues correspond to different performance requirements, including rate requirements. The output rate of the output messages of the shaping queues with different rate requirements is different. For any one of the at least two shaping queues, the message interval of the output messages of any one shaping queue satisfies an exponential distribution.

[0163] In one possible implementation, the second determining unit 406 is used to determine the time interval distribution function of the random token according to the rate requirement of the input message;

[0164] Generation unit 407 is used to generate random time intervals according to the time interval distribution function;

[0165] The token issuing unit 408 is used to issue the random token according to the random time interval;

[0166] The sending unit 409 is used to forward the input message that has obtained the random token, and the message interval of the forwarded message corresponds to the random time interval.

[0167] In another possible implementation, the time interval distribution function of the random tokens differs for different rate requirements.

[0168] In another possible implementation, the performance requirements also include latency requirements, with different queue lengths for different latency requirements.

[0169] In another possible implementation, the first update unit 403 is used to update the current cache length of the integer queue to which the input message belongs to a first target cache length, wherein the first target cache length is the sum of the current cache length of the integer queue and the length of the input message;

[0170] The third determining unit 404 is used to determine the first packet loss rate corresponding to the first target buffer length;

[0171] The processing unit 405 is used to buffer or process the input message according to the first packet loss rate.

[0172] In another possible implementation, the performance requirements also include packet loss rate requirements, with different initial packet loss rates for the integer queues.

[0173] In another possible implementation, the at least two integer queues correspond to a multiplexed queue, and different integer queues correspond to different multiplexed queue threshold values.

[0174] In another possible implementation, the second update unit 410 is used to update the current cache length of the multiplexing queue to a second target cache length, wherein the second target cache length is the sum of the current cache length of the multiplexing queue and the length of the output message of the shaping queue;

[0175] Control unit 411 is configured to control the output message to enter the multiplexing queue to wait for transmission if the length of the second target buffer is less than or equal to the threshold value of the multiplexing queue corresponding to the shaping queue.

[0176] For details on the implementation of the above units, please refer to [link / reference]. Figure 3 or Figure 4 The following is a description of the first device in the illustrated embodiment.

[0177] According to an embodiment of this application, a first device can finely control the output of messages that meet the performance requirements of the input messages, and the message interval of the output messages meets an exponential distribution, which is beneficial to the subsequent processing of the output messages, thereby achieving effective control of service performance.

[0178] like Figure 12 As shown, a hardware structure diagram of a first device is also provided, which is used to execute the above-described service performance control method. Some or all of the above methods can be implemented in hardware, or in software or firmware.

[0179] Optionally, the first device may be a chip or an integrated circuit in its specific implementation.

[0180] Optionally, when some or all of the service performance control methods in the above embodiments are implemented by software or firmware, it can be achieved through... Figure 10 A first device 500 is provided to achieve this. For example... Figure 10 As shown, the first device 500 may include:

[0181] Memory 503 and processor 504 (processor 504 in the device may be one or more, Figure 10 Taking a processor as an example, it may also include an input device 501 and an output device 502. In this embodiment, the input device 501, output device 502, memory 503, and processor 504 can be connected via a bus or other means. Figure 10 Taking the example of a connection between China and Israel via a bus.

[0182] In one embodiment, the processor 504 is used to invoke a program in the memory 503 to cause the first device to execute. Figure 3 or Figure 4 The methods and steps in the text.

[0183] Optionally, the program for the above-described service performance control method can be stored in memory 503. Memory 503 can be a physically independent unit or integrated with processor 504. Memory 503 can also be used to store data.

[0184] Optionally, when some or all of the service performance control method in the above embodiments is implemented by software, the first device may also include only a processor. A memory for storing programs is located outside the first device, and the processor is connected to the memory via circuitry or wires to read and execute the programs stored in the memory.

[0185] The processor can be a central processing unit (CPU), a network processor (NP), or a WLAN device.

[0186] The processor may further include hardware chips. These hardware chips may be application-specific integrated circuits (ASICs), programmable logic devices (PLDs), or combinations thereof. The PLDs may be complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), generic array logic (GALs), or any combination thereof.

[0187] Memory may include volatile memory, such as random-access memory (RAM); memory may also include non-volatile memory, such as flash memory, hard disk drive (HDD), or solid-state drive (SSD); memory may also include combinations of the above types of memory.

[0188] Those skilled in the art will understand that one or more embodiments of this disclosure can be provided as a method, system, or computer program product. Therefore, one or more embodiments of this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of this disclosure can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0189] This application also provides a chip system, including: at least one processor and a communication interface, wherein the at least one processor is coupled to a memory via the communication interface, and when the at least one processor executes a computer program or instructions in the memory, the method in any of the above method embodiments is executed. Optionally, the chip system may be composed of a chip, or may include chips and other discrete devices; this application does not specifically limit this.

[0190] This application also provides a computer-readable storage medium on which a computer program can be stored, wherein when the program is executed by a processor, it implements the steps of the service performance control method described in any embodiment of this disclosure.

[0191] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps of the business performance control method described in any embodiment of this disclosure.

[0192] This application also provides a communication system, which includes the first device and the second device described above.

[0193] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0194] It should be understood that in the description of this application, unless otherwise stated, " / " indicates that the objects before and after it are in an "or" relationship. For example, A / B can represent A or B; where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Additionally, to facilitate a clear description of the technical solutions of the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" do not necessarily imply difference. In this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being better or more advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.

[0195] In the embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the division of units is merely a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. The coupling, direct coupling, or communication connection shown or discussed between each other may be indirect coupling or communication connection through some interfaces, apparatuses, or units, and may be electrical, mechanical, or other forms.

[0196] The units described as separate components may or may not be physically separate. 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 the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0197] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. This computer program product includes one or more computer instructions. When these computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in or transmitted through a computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media can be read-only memory (ROM), random access memory (RAM), or magnetic media, such as floppy disks, hard disks, magnetic tapes, magnetic disks, or optical media, such as digital versatile discs (DVDs), or semiconductor media, such as solid-state disks (SSDs).

Claims

1. A service performance control method, applied to a first device, the first device comprising at least two shaping queues, characterized in that, The method includes: Receive input messages; Based on the input message, the corresponding integer queue is determined. Different integer queues correspond to different performance requirements, including rate requirements, latency requirements, and packet loss rate requirements. The output rate of the output messages of the integer queues with different rate requirements is different. The queue length of the integer queues with different latency requirements is different. The first packet loss rate of the integer queues with different packet loss rate requirements is different. For any one of the at least two integer queues, the message interval of the output messages of any one integer queue satisfies an exponential distribution.

2. The method according to claim 1, characterized in that, The method further includes: The time interval distribution function of the random token is determined based on the rate requirement of the input message; Random time intervals are generated based on the time interval distribution function; The random token is issued according to the random time interval; The input message that has obtained the random token is forwarded, and the message interval of the forwarded message corresponds to the random time interval.

3. The method according to claim 2, characterized in that, The time interval distribution function of the random tokens differs depending on the rate requirement.

4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: Update the current buffer length of the integer queue to which the input message belongs to the first target buffer length, where the first target buffer length is the sum of the current buffer length of the integer queue and the length of the input message; Determine the first packet loss rate corresponding to the first target cache length; The input message is buffered or processed for packet loss based on the first packet loss rate.

5. The method according to any one of claims 1 to 4, characterized in that, The at least two integer queues correspond to one reuse queue, and different integer queues correspond to different reuse queue threshold values.

6. The method according to claim 5, characterized in that, The method further includes: Update the current buffer length of the multiplexing queue to the second target buffer length, where the second target buffer length is the sum of the current buffer length of the multiplexing queue and the length of the output message of the shaping queue; If the length of the second target buffer is less than or equal to the multiplexing queue threshold value corresponding to the shaping queue, the output message is controlled to enter the multiplexing queue to wait for transmission.

7. A first device, the first device comprising at least two shaping queues, characterized in that, The first device includes: The receiving unit is used to receive input messages; The first determining unit is configured to determine the integer queue corresponding to the input message based on the input message. Different integer queues correspond to different performance requirements, including rate requirements, latency requirements, and packet loss rate requirements. The output rate of the output messages of the integer queues with different rate requirements is different. The queue length of the integer queues with different latency requirements is different. The first packet loss rate of the integer queues with different packet loss rate requirements is different. For any one of the at least two integer queues, the message interval of the output messages of any one integer queue satisfies an exponential distribution.

8. The first device according to claim 7, characterized in that, The first device also includes: The second determining unit is used to determine the time interval distribution function of the random token according to the rate requirement of the input message; The generation unit is used to generate random time intervals according to the time interval distribution function; A token issuing unit is used to issue the random token according to the random time interval; The sending unit is used to forward the input message that has obtained the random token, and the message interval of the forwarded message corresponds to the random time interval.

9. The first device according to claim 8, characterized in that, The time interval distribution function of the random tokens differs depending on the rate requirement.

10. The first device according to any one of claims 7 to 9, characterized in that, The first device also includes: The first update unit is used to update the current cache length of the integer queue to which the input message belongs to the first target cache length, wherein the first target cache length is the sum of the current cache length of the integer queue and the length of the input message; The third determining unit is used to determine the first packet loss rate corresponding to the first target cache length; The processing unit is used to buffer or process the input message according to the first packet loss rate.

11. The first device according to any one of claims 7 to 10, characterized in that, The at least two integer queues correspond to one reuse queue, and different integer queues correspond to different reuse queue threshold values.

12. The first device according to claim 11, characterized in that, The first device also includes: The second update unit is used to update the current buffer length of the multiplexing queue to a second target buffer length, wherein the second target buffer length is the sum of the current buffer length of the multiplexing queue and the length of the output message of the shaping queue; The control unit is configured to control the output message to enter the multiplexing queue to wait for transmission if the length of the second target buffer is less than or equal to the threshold value of the multiplexing queue corresponding to the shaping queue.

13. A first device, characterized in that, include: A processor for executing a program stored in memory, which, when executed, causes the first device to perform the method as described in any one of claims 1 to 6.

14. The first device according to claim 13, wherein the memory is located outside the first device.

15. A first device, characterized in that, The first device includes a processor, a memory, and instructions stored in the memory and executable on the processor, wherein when the instructions are executed, the first device performs the method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Queue scheduling method for sink node of power system terminal communication access network

    CN106656851A

  • Data flow control

    US20040022190A1