Experience evaluation method and related apparatus
By analyzing the statistical information of adjacent periods of audio and video streams, especially indicators such as the maximum number of redundant packets, average packet length, and maximum time interval, and combining them with weak network adversarial behavior, the problem of inaccurate audio and video experience evaluation in existing technologies has been solved, achieving more accurate experience evaluation and user experience assurance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-01-22
- Publication Date
- 2026-07-24
AI Technical Summary
Existing technologies cannot accurately assess audio and video experience, nor can they directly determine whether the audio and video experience has deteriorated based on network performance indicators such as packet loss rate and jitter, leading to inaccurate assessments.
By acquiring statistical information within adjacent periods of the target media stream, analyzing changes in indicators such as the maximum number of redundant packets, average packet length, and maximum time interval, we can determine whether the audio and video experience has deteriorated. We can then utilize weak network countermeasures, such as sending redundant packets and increasing the jitter buffer size, to ensure a better experience.
It improves the accuracy and sensitivity of audio and video experience evaluation, enabling timely detection of experience degradation and triggering fault diagnosis or network optimization, thus ensuring the stability of user experience.
Smart Images

Figure CN122457586A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer networks, and in particular to an experience evaluation method and related apparatus. Background Technology
[0002] The development of internet technology has dramatically changed people's work and lifestyles. Based on internet technology, data from various audio and video applications can be transmitted in real time, making people's work and lives richer, more convenient, and more efficient. For example, the internet has made remote work commonplace, allowing employees of the same company located in different offices to collaborate efficiently as a team through online video conferencing tools. Online voice / video calling tools make it easier for people to stay connected. Live streaming and online games provide a wealth of entertainment options.
[0003] Media streams generated by real-time audio and video applications such as online video conferencing, online voice / video calls, and live streaming need to be transmitted from terminal devices to servers via the network, and then from servers to other terminal devices that are the communication counterparts. This results in long transmission paths for application message streams, and network packet loss or jitter is inevitable, which may cause the audio and video played on terminal devices to stutter and affect the end-user experience.
[0004] Network performance typically impacts the end-user experience of audio and video applications. Network performance metrics such as latency, packet loss rate, and jitter can be used to evaluate audio and video experience. However, the same packet loss rate or jitter can cause audio and video experience degradation in some scenarios but not in others. Therefore, it's not possible to directly determine whether audio and video experience has degraded based solely on whether network metrics like packet loss rate and jitter exceed thresholds. Consequently, related technologies cannot accurately evaluate the audio and video experience during meetings. Summary of the Invention
[0005] This application provides an experience evaluation method and related apparatus to solve the problem of inaccurate evaluation of audio and video experience.
[0006] The first aspect provides an experience evaluation method. The method can be executed by an analyzer or a network device. The method includes: acquiring first and second statistical information of the target media stream; and determining whether the target media stream experiences experience degradation in a second period based on the first and second statistical information. The first statistical information is obtained by statistically analyzing M target indicators of the target media stream in the first period, and the second statistical information is obtained by statistically analyzing M target indicators of the target media stream in the second period. Target indicators are used to identify the strength of weak network adversarial forces against the target media stream. Weak network adversarial forces are behaviors used to ensure the experience of the target media stream when network performance deteriorates. Weak network adversarial behaviors may include sending redundant packets, carrying data from multiple time points in a single packet, increasing the jitter buffer size, etc. The first and second periods are temporally adjacent periods, the target media stream includes target application audio streams or target application video streams, and M is an integer greater than or equal to 1. By comparing and analyzing the statistical information corresponding to the target indicators in adjacent periods, changes in the strength of weak network adversarial forces against the target media stream can be perceived. Based on these changes, it can be determined whether the application packet stream experiences experience degradation, leading to more accurate experience evaluation results.
[0007] In one possible implementation, the M target metrics include at least one of the following: maximum redundant packet count, average packet length, or maximum time interval. The maximum redundant packet count is the number of redundant packets corresponding to the packet with the highest redundancy among the packets of the target media stream forwarded by the network device within a period. The average packet length is the average length of the packets of the target media stream forwarded by the network device within a period. The maximum time interval is the largest time interval between any two adjacent packets of the target media stream within a period. When experience degradation occurs, at least one of the maximum redundant packet count, average packet length, or maximum time interval will change. For example, applications may enhance the weak network resistance, such as by increasing the number of redundant packets, increasing the amount of data contained in a single packet (increasing packet length), or increasing the jitter buffer size. Therefore, based on the maximum redundant packet count, average packet length, or maximum time interval, it can be determined whether the weak network resistance has changed, thereby enabling the determination of whether experience degradation exists based on changes in the weak network resistance.
[0008] In one possible implementation, the first statistical information includes first statistical values corresponding to M target indicators, and the second statistical information includes second statistical values corresponding to the M target indicators. The first period is earlier than the second period. Based on the first and second statistical information, determining whether the target media stream experiences experience degradation in the second period includes: determining that the target media stream experiences experience degradation in the second period in response to the increase value of the second statistical value corresponding to the first indicator being greater than or equal to a first threshold. The first indicator is one of the M target indicators. When the increase value of the statistical value of any target indicator in an adjacent period is greater than or equal to the first threshold, it can be determined that the target media stream experiences experience degradation in the second period. This improves the sensitivity and accuracy of experience assessment.
[0009] In one possible implementation, the first statistical information includes first statistical values corresponding to M target indicators, and the second statistical information includes second statistical values corresponding to M target indicators. The first period is earlier than the second period. Based on the first and second statistical information, it is determined whether the target media stream experiences experience degradation in the second period. This includes determining whether experience degradation exists in the target media stream in the second period if the second statistical value corresponding to the second indicator is greater than the first statistical value corresponding to the second indicator, and the second statistical value corresponding to the second indicator is greater than or equal to a second threshold. A larger statistical value corresponding to the second indicator indicates lower experience quality. The second indicator is one of the M target indicators. Weak network countermeasures can resist a certain degree of network performance degradation. However, when network performance degradation exceeds the tolerance of weak network countermeasures, even increasing the intensity of weak network countermeasures will still result in experience degradation in the target media stream. Therefore, the second statistical value of the first indicator can also be compared with the second threshold corresponding to the first indicator. The second threshold is the dividing line between whether weak network countermeasures can solve the experience degradation problem and not. This allows for a more accurate assessment of whether the experience of the target application stream is degraded.
[0010] In one possible implementation, the experience evaluation method further includes: in response to the fact that the increase in the second statistical value corresponding to each of the M target indicators is less than a first threshold, and the second statistical value corresponding to each target indicator is less than a second threshold, determining that the target media stream does not experience degradation in the second period. If the experience of the target application stream is stable, the application will not increase the intensity of weak network adversarial activity, and the statistical values of the M target indicators will also be relatively stable. Therefore, when the statistical value corresponding to each target indicator is relatively stable, it can be considered that the target application stream has not experienced experience degradation temporarily, and the experience of the target media stream can be evaluated more accurately.
[0011] In one possible implementation, M is greater than or equal to 2. The first statistical information includes first statistical values corresponding to M target indicators, and the second statistical information includes second statistical values corresponding to M target indicators. The first period is earlier than the second period. Based on the first and second statistical information, it is determined whether the target media stream experiences experience degradation in the second period. This includes: obtaining a first comprehensive value based on the first statistical information, where the first comprehensive value is a weighted sum of the first statistical values corresponding to the M target indicators; obtaining a second comprehensive value based on the second statistical information, where the second comprehensive value is a weighted sum of the second statistical values corresponding to the M target indicators; determining that the target media stream experiences experience degradation in the second period if the increase between the second and first comprehensive values is greater than or equal to a third threshold, where a larger comprehensive value indicates lower experience quality; and determining that the target media stream does not experience experience degradation in the second period if the increase between the second and first comprehensive values is less than the third threshold. Since the M target indicators are all statistical values that indicate experience degradation, when the M target indicators are greater than or equal to 2 target indicators, the statistical values of multiple target indicators can be combined for experience evaluation, which can improve the accuracy of experience evaluation.
[0012] In one possible implementation, the experience evaluation method further includes: in response to experience degradation in the target media stream during the second cycle, sending an alarm message indicating that experience degradation exists in the target media stream during the second cycle. This alarm message can then automatically or manually trigger fault diagnosis and repair or network optimization processes, thereby ensuring user experience.
[0013] In one possible implementation, the experience evaluation method is applied to the analyzer to obtain first and second statistics of the target media stream, including receiving first and second statistics from a network device deployed in the forwarding path of the target media stream.
[0014] In one possible implementation, the experience evaluation method is applied to a network device deployed in the forwarding path of the target media stream. Obtaining the first and second statistical information of the target media stream includes: statistically analyzing M target indicators of packets in the target media stream forwarded by the network device in a first period to obtain the first statistical information; and statistically analyzing M target indicators of packets in the target media stream forwarded by the network device in a second period to obtain the second statistical information.
[0015] The second aspect provides an experience evaluation method. This experience evaluation method is applied to network devices. The method includes: acquiring first and second statistical information of a target media stream. The first statistical information is obtained by statistically analyzing M target indicators of the target media stream within a first period, and the second statistical information is obtained by statistically analyzing M target indicators of the target media stream within a second period. Target indicators are used to identify the strength of weak network adversarial forces against the target media stream. Weak network adversarial forces refer to actions taken to ensure the experience of the target media stream when network performance deteriorates. The first and second periods are temporally adjacent periods. The target media stream includes target application audio streams or target application video streams, and M is an integer greater than or equal to 1. The method also involves sending the first and second statistical information. The network device periodically acquires statistical information of the M target indicators that can indicate the strength of weak network adversarial forces and sends the statistical information for each period to an analyzer. This allows the analyzer to determine whether the experience of the target application stream has deteriorated based on the changes in statistical information between adjacent periods. Based on the statistical information of the M target indicators for each period, the analyzer can more accurately evaluate the experience of the target application stream.
[0016] In one possible implementation, the M target metrics include at least one of the following: maximum redundant packet count, average packet length, and maximum time interval; the maximum redundant packet count is the number of redundant packets corresponding to the packet with the most redundancy among the packets of the target media stream forwarded by the network device in a period; the average packet length is the average length of the packets of the target media stream forwarded by the network device in a period; and the maximum time interval is the largest time interval between any two adjacent packets of the target media stream in a period.
[0017] In one possible implementation, sending the first and second statistical information includes sending the first and second statistical information via a network telemetry protocol or a simple network management protocol.
[0018] The third aspect provides an experience evaluation device. This device includes a processing module for acquiring first and second statistical information of a target media stream. The processing module is further configured to determine, based on the first and second statistical information, whether the target media stream experiences experience degradation in a second period. The first statistical information is obtained by statistically analyzing M target indicators of the target media stream within the first period, and the second statistical information is obtained by statistically analyzing M target indicators of the target media stream within the second period. Target indicators are used to identify the strength of weak network adversarial measures against the target media stream; weak network adversarial measures refer to actions taken to ensure the experience of the target media stream when network performance deteriorates. Weak network adversarial measures may include sending redundant packets, carrying data from multiple time points in a single packet, increasing the jitter buffer size, etc. The first and second periods are temporally adjacent periods, the target media stream includes a target application audio stream or a target application video stream, and M is an integer greater than or equal to 1.
[0019] In one possible implementation, the M target metrics include at least one of the following: maximum redundant packet count, average packet length, or maximum time interval. Specifically, the maximum redundant packet count is the number of redundant packets corresponding to the packet with the highest redundancy among the packets of the target media stream forwarded by the network device within a period. The average packet length is the average length of the packets of the target media stream forwarded by the network device within a period. The maximum time interval is the largest time interval between any two adjacent packets of the target media stream within a period.
[0020] In one possible implementation, the first statistical information includes first statistical values corresponding to M target indicators, and the second statistical information includes second statistical values corresponding to M target indicators. The first period is earlier than the second period. Based on the first and second statistical information, a processing module is used to determine that the target media stream has experience degradation in the second period when the increase value of the second statistical value corresponding to the first indicator is greater than or equal to a first threshold. The first indicator is one of the M target indicators.
[0021] In one possible implementation, the first statistical information includes first statistical values corresponding to M target indicators, and the second statistical information includes second statistical values corresponding to the M target indicators. The first period is earlier than the second period. Based on the first and second statistical information, a processing module is used to determine that the target media stream experiences experience degradation in the second period if the second statistical value corresponding to the second indicator is greater than the first statistical value corresponding to the second indicator, and the second statistical value corresponding to the second indicator is greater than or equal to a second threshold. The larger the statistical value corresponding to the second indicator, the lower the experience quality. The second indicator is one of the M target indicators.
[0022] In one possible implementation, the processing module is configured to determine that the target media stream does not experience degradation in the second period in response to the fact that the increase of the second statistical value corresponding to each of the M target indicators and the first statistical value is less than a first threshold, and the second statistical value corresponding to each target indicator is less than a second threshold.
[0023] In one possible implementation, M is greater than or equal to 2. The first statistical information includes first statistical values corresponding to M target indicators, and the second statistical information includes second statistical values corresponding to M target indicators. The first period is earlier than the second period. A processing module is used to obtain a first comprehensive value based on the first statistical information, which is a weighted sum of the first statistical values corresponding to the M target indicators. Another processing module is used to obtain a second comprehensive value based on the second statistical information, which is a weighted sum of the second statistical values corresponding to the M target indicators. A third processing module is used to determine that the target media stream experiences experience degradation in the second period if the increase in the second comprehensive value and the first comprehensive value is greater than or equal to a third threshold; a larger comprehensive value indicates lower experience quality. Finally, a third processing module is used to determine that the target media stream does not experience experience degradation in the second period if the increase in the second comprehensive value and the first comprehensive value is less than the third threshold.
[0024] In one possible implementation, the experience evaluation device further includes a transceiver module. The transceiver module is used to send an alarm message in response to experience degradation in the target media stream during the second cycle, the alarm message indicating that experience degradation exists in the target media stream during the second cycle.
[0025] In one possible implementation, the experience evaluation device is applied to the analyzer. The experience evaluation device also includes a transceiver module. This transceiver module receives first and second statistical information from network devices deployed in the forwarding path of the target media stream.
[0026] In one possible implementation, the experience evaluation device is applied to a network device. The network device is deployed in the forwarding path of the target media stream. A processing module is used to perform statistical analysis on M target indicators of packets in the target media stream forwarded by the network device in a first period to obtain first statistical information; and to perform statistical analysis on the M target indicators of packets in the target media stream forwarded by the network device in a second period to obtain second statistical information.
[0027] The fourth aspect provides an experience evaluation device. This experience evaluation device is applied to network equipment. The device includes: a processing module that acquires first and second statistical information of a target media stream. The first statistical information is obtained by statistically analyzing M target indicators of the target media stream within a first period, and the second statistical information is obtained by statistically analyzing M target indicators of the target media stream within a second period. The target indicators are used to identify the strength of weak network adversarial forces against the target media stream. Weak network adversarial forces refer to actions taken to ensure the experience of the target media stream when network performance deteriorates. The first and second periods are temporally adjacent periods. The target media stream includes target application audio streams or target application video streams, and M is an integer greater than or equal to 1. A transceiver module is used to send the first and second statistical information. The network equipment periodically acquires statistical information of M target indicators that can indicate the strength of weak network adversarial forces and sends the statistical information of each period to an analyzer. This allows the analyzer to determine whether the experience of the target application stream has deteriorated based on the changes in statistical information between adjacent periods. Based on the statistical information of the M target indicators in each period, the analyzer can more accurately evaluate the experience of the target application stream.
[0028] In one possible implementation, the M target metrics include at least one of the following: maximum redundant packet count, average packet length, and maximum time interval; the maximum redundant packet count is the number of redundant packets corresponding to the packet with the most redundancy among the packets of the target media stream forwarded by the network device in a period; the average packet length is the average length of the packets of the target media stream forwarded by the network device in a period; and the maximum time interval is the largest time interval between any two adjacent packets of the target media stream in a period.
[0029] In one possible implementation, the transceiver module is used to send first and second statistical information via a network telemetry protocol or a simple network management protocol.
[0030] Fifthly, an experience evaluation device is provided, including a processor and an interface circuit. The interface circuit is used to receive signals from other devices outside the experience evaluation device and transmit them to the processor, or to send signals from the processor to other devices outside the experience evaluation device. The processor is used to implement the methods in the first aspect and any possible implementations of the first aspect through logic circuits or execution code instructions. The experience evaluation device can be a copy unit, a memory controller, or a memory module.
[0031] In a sixth aspect, a computer-readable storage medium is provided, which stores a computer program or instructions that, when executed by a processor, implement the methods of the first aspect and any possible implementation thereof.
[0032] In a seventh aspect, a computer program product storing instructions is provided, which, when executed by a processor, implements the methods described in the first aspect and any possible implementation thereof.
[0033] Eighthly, a chip is provided, comprising a processor and potentially a memory, for implementing the methods of the first aspect and any possible implementation thereof. The chip system may be composed of a chip or may include chips and other discrete devices. Attached Figure Description
[0034] Figure 1 A schematic diagram of the fixed header structure for the Real-Time Transmission Protocol;
[0035] Figure 2a A schematic diagram of an experience evaluation system provided in this application;
[0036] Figure 2b A schematic diagram of another experience evaluation system provided for this application;
[0037] Figure 3a This is a schematic diagram of media stream transmission based on a selective forwarding unit architecture;
[0038] Figure 3b This is a schematic diagram of media streaming based on a mesh architecture.
[0039] Figure 4 A flowchart illustrating an experience evaluation method provided in this application;
[0040] Figure 5a A diagram illustrating the correlation between changes and changes in the maximum redundant message count;
[0041] Figure 5b A diagram illustrating the correlation between changes in average message length and the changes in average message length.
[0042] Figure 5c A diagram illustrating the correlation between changes and changes in the maximum time interval;
[0043] Figure 6 This is a diagram illustrating how to determine whether a target media stream experiences degradation based on the first and second statistical values of the maximum number of redundant packets.
[0044] Figure 7 This is a diagram illustrating how to determine whether a target media stream experiences degradation based on the first and second statistical values of the average message length.
[0045] Figure 8 This is a diagram illustrating how to determine whether a target media stream experiences degradation based on the first and second statistical values of the maximum time interval.
[0046] Figure 9 A flowchart illustrating another experience evaluation method provided in this application;
[0047] Figure 10 A schematic diagram of the structure of an experience evaluation device provided in this application;
[0048] Figure 11 A schematic diagram of another experience evaluation device provided in this application. Detailed Implementation
[0049] The embodiments of this application are described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. As those skilled in the art will understand, with the development of technology and the emergence of new scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.
[0050] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. "A plurality of" means two or more.
[0051] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments.
[0052] The following is an explanation of the relevant terms used in this application.
[0053] 1. Weak network confrontation
[0054] For real-time audio and video calls, network complexity, heterogeneity, protocol non-standardization, network anomalies, network errors, and other characteristics that disrupt the network environment are all referred to as weak networks. Weak network environments cannot provide high-quality network transmission; for the receiving end, this means the inability to receive continuous packets, causing audio and video stuttering and other issues that directly impact the user experience, leading to product quality problems or customer complaints.
[0055] Weak network countermeasures typically refer to a series of actions (also known as strategies or measures) taken to ensure the continuity, stability, and reliability of network communication and services when network connectivity is unstable, bandwidth is limited, or other network quality issues exist. Examples include: sending redundant packets, carrying data from multiple points in a single packet, increasing the jitter buffer size, data compression, adaptive bit rate, and multipath transmission.
[0056] 2. Jitter buffer
[0057] Jitter buffers are a measure used to address inconsistent message arrival times in network communication, especially in real-time audio and video transmission. Due to the complexity and unpredictability of networks, messages may experience varying delays during transmission, leading to disordered message order or uneven time intervals at the receiving end. This phenomenon is called "jitter." Jitter can severely impact audio and video quality, causing intermittent sound or stuttering video.
[0058] A jitter buffer is essentially a buffer used to temporarily store received messages. It's set up at the receiver to smooth the data stream. To combat jitter, the jitter buffer applies a delay to each message before playback, ensuring all messages are processed within a relatively stable time interval. This guarantees that even if some messages arrive slightly later, they can still be decoded and played in the correct order.
[0059] 3. Degraded user experience
[0060] In this embodiment, experience degradation refers to a decline in user experience caused by stuttering or other issues during audio and video playback. This document may sometimes use descriptions such as "experience degradation exists in the target media stream," which refers to non-ideal phenomena such as stuttering occurring during audio and video playback based on the target media stream, leading to a degraded user experience.
[0061] 4. Real-Time Transport Protocol (RTP)
[0062] RTP is an application layer protocol based on the User Datagram Protocol (UDP) for transmitting real-time audio and video data over Internet Protocol (IP) networks. It is characterized by low reliability, low latency, and minimal delay, allowing real-time data to be transmitted to the receiving end with minimal delay. The RTP protocol supports both unicast (one-to-one / point-to-point) and multicast (one-to-many) communication modes.
[0063] RTP messages include a fixed header, optional payload header extensions, and a payload. For example... Figure 1 As shown, the RTP fixed header (12 bytes) includes:
[0064] Version (V): 2 bits, representing the version number of the RTP protocol.
[0065] Padding (P): 1 bit. If set to 1, it indicates that there are extra padding bytes at the end of the message, used to align or hide the message length.
[0066] Extension (X): 1 bit. If set to 1, it indicates that this message contains an extended header, which follows immediately after the standard header.
[0067] Contribution Source Count (CSRC Count, CC): 4 bits, specifies the number of Contribution Source Identifiers (CSRCs), which are located after a fixed header and are used to identify multiple sources that participate in the mix of tracks or other combined content.
[0068] Tag (M): 1 bit. The meaning of the tag bit depends on the specific application. For example, in a video stream, it can represent a keyframe.
[0069] Payload Type (PT): 7 bits, defines the format of the payload, i.e., the type of media encoding it carries, such as G.711 audio, H.264 video, etc. Different payload types have different interpretation rules.
[0070] Sequence Number (SN): 16 bits, incremented each time a new RTP message is sent. The main function of the sequence number is to identify the order of messages so that the receiving end can reassemble and decode different messages in the correct order.
[0071] Timestamp: 32 bits, reflecting the time point of the first byte of payload data, typically based on the sampling clock frequency. For audio, this might be the number of samples per second; for video, it might be the frame rate.
[0072] Synchronization source identifier (SSRC): 32 bits, uniquely identifies a synchronization source in a session. Each synchronization source in a session has a unique SSRC value.
[0073] Contributing Source Identifier (CSRC): 0 to 15 32-bit fields. When there is mixing or merging of multiple input sources, the CSRC identifiers of all contributors are listed here.
[0074] Real-time audio and video communication places high demands on network performance. Packet loss or jitter in the network can cause stuttering during audio and video playback. Therefore, the network needs to support the ability to evaluate the audio and video experience online. By proactively determining whether the audio and video experience has deteriorated, and automatically triggering fault diagnosis and repair or network optimization processes when the experience deteriorates, the user experience can be guaranteed.
[0075] Currently, the approach to evaluating audio and video experience involves assessing multiple network performance metrics of the media stream. Specifically, network devices measure the quality of media stream transmission over the network, such as packet loss rate, latency, and jitter, and periodically report these metrics to the network management system. Based on the measurement results of packet loss rate, latency, and jitter for each period, the network management system calculates a meeting experience score for each period using mathematical formulas. For example, the experience score formula is: Audio / Video Experience Score = Packet Loss Rate Weight * Packet Loss Rate + Latency Weight * Latency + Jitter Weight * Jitter, thereby evaluating the quality of the audio and video experience based on this score.
[0076] However, the same packet loss rate or jitter can cause stuttering in some scenarios but not in others. Therefore, it's impossible to directly determine audio stuttering based solely on whether network performance metrics such as packet loss, latency, and jitter exceed thresholds. For example, the packet loss rate for each statistical period is not the total packet loss rate, failing to reflect the distribution of packet loss—that is, whether it's random or continuous. Random and continuous packet loss have significantly different impacts on audio and video experience; continuous packet loss has a greater impact than random packet loss. Therefore, relying solely on metrics like packet loss rate cannot accurately assess audio experience.
[0077] Furthermore, the weak network protection mechanisms implemented in audio and video applications can also affect the accuracy of experience assessments. For example, before these mechanisms are activated, a 20% random packet loss significantly degrades the voice experience, but after activation, a 50% random packet loss rate does not noticeably worsen the experience. Therefore, assessing audio and video experience based on network performance metrics such as packet loss, latency, and jitter has relatively low accuracy.
[0078] To address the aforementioned technical problems, this application provides the following embodiments.
[0079] The following section provides a detailed introduction to this technical solution from multiple perspectives, including application scenarios, hardware devices, software devices, and methodologies.
[0080] The following are examples illustrating the application scenarios of embodiments of this application.
[0081] like Figure 2a and Figure 2b As shown, Figure 2a A schematic diagram of a network architecture for a communication system provided in this application; Figure 2b This application provides a schematic diagram of the network architecture of another communication system. The communication system includes at least two terminal devices and at least one network device. Optionally, the communication system also includes an analyzer.
[0082] In one possible implementation, the communication system also includes an application server. For example, such as... Figure 2aAs shown, the communication system includes an application server, at least two terminal devices, and at least two network devices. Each terminal device accesses the network wirelessly or via a wired connection and connects to the application server through at least one network device. For example, the terminal device may be associated with a wireless access point (AP) and further connected to the application server through network forwarding devices such as access switches, aggregation switches, and routers. Alternatively, the terminal device may be connected to a base station and further connected to the application server through network forwarding devices such as core network equipment and routers. Yet another example is that the terminal device may be connected to an access switch via a network cable and further connected to the application server through network forwarding devices such as aggregation switches and routers; or, the terminal device may only be connected to the application server through an access switch. The analyzer is connected to at least one network device.
[0083] In another possible implementation, the communication system does not include an application server. For example... Figure 2b As shown, the communication system includes at least two terminal devices and at least one network device. Figure 2b The communication system shown is deployed within the same local area network (LAN), allowing media streams between terminal devices to bypass the application server. In one possible scenario, multiple terminal devices are connected to the same access switch. In another possible scenario, multiple terminal devices are connected to different network devices, in which case the terminal devices are connected through at least two network devices. The analyzer is connected to at least one network device.
[0084] Figure 2a and Figure 2bIn the communication system shown, the terminal device is used to collect audio and video data, and / or, the terminal device is used to play audio and video based on the received audio and video data. Specifically, the terminal device has an audio and video application client installed, which is used to realize real-time audio and video communication between multiple terminal devices. Audio and video applications include network video conferencing applications, network video call applications, or network live streaming applications, such as Tencent Video and Zoom video communication. Audio and video applications can be standalone software or tools (functional modules) embedded in software. The terminal device sending the media stream is equipped with a camera, so that the audio and video application installed on the terminal device can call the camera to collect video data. Optionally, the terminal device sending the media stream is equipped with a microphone, so that the audio and video application installed on the terminal device can call the microphone to collect audio data. Optionally, the terminal device and microphone and / or camera are integrated. Optionally, the terminal device and microphone and / or camera are separate, with the microphone and / or camera connected to the terminal device via wired or wireless means. The terminal device receiving the media stream is equipped with a display screen, through which an audio / video application client installed on the terminal device plays the video image obtained from parsing the video data. Optionally, the terminal device receiving the media stream is equipped with a speaker, through which the audio / video application client installed on the terminal device plays the audio obtained from parsing the audio data. Optionally, the terminal device, display screen, and / or speaker are integrated into one unit. Optionally, the terminal device, display screen, and / or speaker are separate units, with the display screen and / or speaker connected to the terminal device via wired or wireless means.
[0085] In terms of product form, terminal devices can include handheld devices with communication functions, in-vehicle devices, wearable devices, or computing devices. For example, terminal devices can be mobile phones, tablets, computers with wireless communication functions, virtual reality (VR) terminal devices, augmented reality (AR) terminal devices, smartwatches, smart bracelets, smart glasses, terminal devices in Internet of Things (IoT) systems, or desktop computers, etc., without limitation.
[0086] The terminal devices differ depending on the scenario. For example, when users use audio / video applications outdoors, the terminal device might be a mobile phone, tablet, laptop, or smart wearable device with audio and / or video capture capabilities. Conversely, when users use real-time audio / video applications indoors, such as in an office, the terminal device could be a laptop or desktop computer with audio and / or video capture capabilities. Furthermore, different terminal devices participating in an audio / video session can be of the same type or different types; there are no restrictions here. Terminal devices can use different network connection methods to connect to network devices in different scenarios, including wired and wireless connections.
[0087] Figure 2a and Figure 2b In the communication system shown, network devices are used to forward media streams from terminal devices. Network devices include, but are not limited to, routers, switches, firewalls, base stations, access points (APs), or access controllers (ACs).
[0088] In this embodiment, the network devices of the communication system include at least one target network device. The target network device is further configured to statistically analyze M target indicators of the forwarded target media stream in each cycle, obtaining statistical information of the target media stream in each cycle. That is, the statistical information in each cycle includes statistical values corresponding to the M target indicators. The variation range of the statistical values of each target indicator in different cycles can be used to determine the change in the weak network adversarial strength of the target media stream. The target media stream is either an audio stream or a video stream.
[0089] Optionally, the network device is also used to determine whether the target media stream has experienced performance degradation based on statistical information from adjacent periods.
[0090] Optionally, the network device is also used to send statistical information for each period of the target media stream to the analyzer. In this case, the analyzer is used to determine whether the target media stream has experienced performance degradation based on the statistical information of adjacent periods. The analyzer is a device with computing power, such as a computer, server, or server cluster.
[0091] Figure 2aIn the communication system shown, the application server maintains session connections between different terminal devices based on the media streams of audio and video applications from the terminal devices. The application server transmits audio, video, and multimedia files via the network in a streaming manner. It forwards media streams from any terminal device to other terminal devices within the same session, thus enabling audio and video communication between different terminal devices within the same session. The application server can be deployed in a public cloud or in a data center built by a video conferencing vendor. The application server receives media streams uploaded by terminal devices and is responsible for switching and directly forwarding the streaming media, or for decoding, merging, transcoding, and then forwarding the media streams. This application does not limit the type of application server; for example, the application server may be a Complex Instruction Set Computer (CISC) server, a Reduced Instruction Set Computing (RISC) server, or a Very Long Instruction Word (VLIM) server.
[0092] Figure 2a The communication system shown is suitable for a selective forwarding unit (SFU) architecture. The SFU architecture is used for real-time audio and video communication. In the SFU architecture, the application server acts as a media stream router, receiving media streams from terminal devices and forwarding them to other terminal devices as needed.
[0093] For example, with Figure 2a Taking the communication system shown as an example, if terminal device 1, terminal device 2, and terminal device 3 are all participants in audio and video communication, they will all share one stream sent to the application server. The application server can then forward each stream to the two terminal devices other than the one sharing the stream. Figure 3a As shown, terminal device 1 sends a media stream to the application server. After receiving the media stream, the application server sends it to terminal devices 2 and 3. Similarly, terminal device 2 sends a media stream to the application server, which then sends it to terminal devices 1 and 3. Terminal device 3 sends a media stream to the application server, which then sends it to terminal devices 1 and 2.
[0094] It is understood that media stream transmission is directional. Generally, the media stream sent from the terminal device to the application server is called the uplink media stream, and the media stream sent from the application server to the terminal device is called the downlink media stream. Furthermore, the media stream described in this application includes audio streams and / or video streams; that is, the media stream may only include audio streams, or only include video streams, or include both audio and video streams. This is a consistent explanation and will not be elaborated further below.
[0095] Figure 2b The communication system shown is suitable for a mesh architecture. In a mesh architecture, terminal devices establish session connections with each other. In a multi-party communication scenario, any two terminal devices establish a session connection, forming a mesh structure. For example, as... Figure 3b As shown, three terminal devices, terminal device 1, terminal device 2, and terminal device 3, engage in many-to-many communication. When terminal device 1 shares a media stream, it needs to send the media stream to both terminal device 2 and terminal device 3. Similarly, when terminal device 2 shares a media stream, it needs to send data to both terminal device 1 and terminal device 3, and so on.
[0096] It should be noted that, Figure 2a , Figure 2b , Figure 3a and Figure 3b The communication system illustrated is for illustrative purposes only and is not intended to limit the technical solutions of this application. Those skilled in the art should understand that in specific implementations, the communication system may also include other devices, and the number of network devices, application servers, and terminal devices can be determined according to specific needs; this application does not impose any limitations in this regard.
[0097] The following method embodiments describe in detail how network devices / analyzers obtain statistical information of target media streams over multiple periods, and how network devices / analyzers determine whether the target media stream has experience degradation based on the statistical information of multiple periods.
[0098] like Figure 4 As shown, Figure 4 This is a flowchart illustrating an experience evaluation method provided in this application. The execution entity of this embodiment is... Figure 2a or Figure 2b The network device in this context refers to any network device in the forwarding path of the target media stream. This embodiment includes steps 401 and 402.
[0099] S401, Obtain the first and second statistical information of the target media stream. The first statistical information is obtained by statistically analyzing M target indicators of the target media stream within the first period. The second statistical information is obtained by statistically analyzing M target indicators of the target media stream within the second period. The target indicators are indicators used to identify the weak network resistance strength of the target media stream. Weak network resistance refers to the behavior used to ensure the experience of the target media stream when network performance deteriorates. The first period and the second period are adjacent periods in the time domain.
[0100] In this embodiment, the network device identifies the target media stream and performs statistical analysis on M target metrics of the target media stream in each cycle, thereby obtaining statistical information of the target media stream corresponding to each cycle. That is, the statistical information for each cycle includes the statistical values corresponding to the M target metrics of the target media stream. This embodiment uses the acquisition of first statistical information of the target media stream in the first cycle and second statistical information in the second cycle as examples for illustration. The first statistical information is obtained by statistical analysis of the M target metrics of the target media stream in the first cycle, and the second statistical information is obtained by statistical analysis of the M target metrics of the target media stream in the second cycle.
[0101] Any two adjacent periods are continuous in the time domain, and all periods have the same length, thus enabling the acquisition of more accurate statistical information. For example, the first and second periods are adjacent in the time domain, and both periods have the same length. The length of each period can be 100 milliseconds (ms), 200 ms, 500 ms, 1 second (s), 2 s, 5 s, 8 s, or 10 s, etc. Of course, the length of the period can be longer or shorter, and this application does not impose any restrictions on this.
[0102] In this embodiment, the target media stream is an independent video or audio stream. That is, the target media stream is used only to transmit video data captured by the camera of a single terminal device, or the target media stream is used only to transmit audio data captured by the microphone of a single terminal device. Alternatively, the target media stream is a sub-stream within the target session message stream corresponding to the target audio / video application. The target session message stream is a message stream corresponding to a session established based on the target video application. Optionally, in Figure 2a In the scenario shown, the target session message stream is the downlink message stream forwarded by the application server to the terminal device. Optionally, in Figure 2b In the scenario shown, the target session message stream is a message stream sent from one terminal device to another terminal device.
[0103] The target session message stream includes at least two sub-streams. Data transmitted in one sub-stream originates from the same signal source (camera or microphone), while data transmitted in different sub-streams originates from different signal sources. Optionally, the at least two sub-streams include at least one video sub-stream and at least one audio sub-stream. For example, in a one-to-one video communication scenario, the target session message stream includes one video sub-stream and one audio sub-stream. As another example, in a multi-party voice communication scenario, the target session message stream includes at least two audio sub-streams. Yet another example, in a multi-party video communication scenario, the at least two sub-streams include at least two video sub-streams (e.g., the source terminal devices of at least two video sub-streams have their microphones muted / are muted), or the at least two sub-streams include at least two video sub-streams and at least one audio sub-stream. The target media stream is either one of these at least two sub-streams (video sub-stream or audio sub-stream).
[0104] For example, in Figure 2a In the scenario shown, taking a video conferencing application as the target video application, assume that terminal device 1, terminal device 2, and terminal device 3 participate in the same video conference through their respective installed video conferencing application clients. The application server corresponding to each video conferencing application client has established session connections with terminal device 1, terminal device 2, and terminal device 3, respectively. After receiving media stream 1 (assuming it includes audio stream 1 and video stream 1) from terminal device 1, the application server sends media stream 1 to terminal device 2 through its session connection with terminal device 2, and also sends media stream 1 to terminal device 3 through its session connection with terminal device 3. After receiving media stream 2 (assuming it includes audio stream 2 and video stream 2) from terminal device 2, the application server sends media stream 2 to terminal device 1 through its session connection with terminal device 1, and also sends media stream 2 to terminal device 3 through its session connection with terminal device 3. The message stream transmitted based on the session between the application server and terminal device 3 is the target session message stream corresponding to terminal device 3, which includes video stream 1, audio stream 1, video stream 2, and audio stream 2. In this diagram, video stream 1 is a video sub-stream, audio stream 1 is an audio sub-stream, video stream 2 is a video sub-stream, and audio stream 2 is an audio sub-stream. The target media stream is one of the following: video stream 1, audio stream 1, video stream 2, or audio stream 2. This is a simplified explanation of the transmission process of media streams related to video conferencing. In specific implementation scenarios, the application server may make certain adjustments and modifications to media streams from different terminal devices when forwarding them.
[0105] Since the target media stream is a sub-stream within the target session packet stream, network devices need to identify not only the target session packet stream but also the target media stream within it. The following explains how network devices identify the target session packet stream and how they identify the target media stream within it.
[0106] Packets within the same flow share the same flow identifier, allowing network devices to identify the flow to which a packet belongs. The following example, using a packet forwarded by a network device (hereinafter referred to as packet A), illustrates how the network device identifies whether packet A belongs to the target session's packet flow. The network device uses the same method to identify other packets. Specifically, after receiving packet A, the network device retrieves the flow identifier from packet A. If the flow identifier of packet A is the same as that of the target session's packet flow, then packet A belongs to the target session's packet flow; that is, packet A is a packet within the target session's packet flow. If the flow identifier of packet A is different from that of the target session's packet flow, then packet A does not belong to the target session's packet flow. The flow identifier can be a triple (source IP, destination IP, protocol number), a quadruple (source IP, destination IP, source port, destination port), or a quintuple (source IP, destination IP, source port, destination port, protocol number), etc.
[0107] In real-time audio and video communication, the RTP protocol is often used to transmit audio and video data. In this embodiment, messages using the message format defined in the RTP protocol are referred to as RTP messages. For example... Figure 1 As shown, the header of an RTP message includes an SSRC field. The synchronization source information (SSRC identifier) in the SSRC field is used to identify a signal source. For example, a camera in a terminal device is a signal source, and a microphone in a terminal device is a signal source. Different signal sources in the same session correspond to different SSRC identifiers, meaning that the SSRC identifier can uniquely identify a sub-stream in the target session's message flow.
[0108] Therefore, when the packets in the target session packet stream are RTP packets, in scenarios where the same session includes multiple sub-streams (multiple signal sources), the network device further identifies whether the packet belongs to the target media stream based on the synchronization source information in the packet. The following describes the method used by the network device to identify whether packet B belongs to the target media stream, using a packet from the target session packet stream (hereinafter referred to as packet B). The same method is used for other packets. Specifically, after determining that packet B belongs to the target session packet stream, the network device further obtains the synchronization source information in packet B. If the synchronization source information of packet B is the same as the synchronization source information of the target media stream, then packet B can be determined to belong to the target media stream. If the flow identifier of packet B is different from the flow identifier of the target media stream, then packet B cannot be confirmed to belong to the target media stream. Thus, the network device can obtain the statistical information of the target media stream in each period based on the packets in the target media stream.
[0109] Network devices need to know the stream identifier and synchronization source information of a target media stream before they can identify it. The stream identifier and synchronization source information of the target media stream are either pre-configured on the network device or generated by the network device. The following describes several possible implementation methods for network devices to obtain the stream identifier and synchronization source information of a target media stream.
[0110] In one possible implementation, the network management system (controller) sends a configuration message to the network device. The configuration message includes the stream identifier and synchronization source information of the target media stream. The network device stores the stream identifier and synchronization source information of the target media stream, so that it can subsequently identify packets belonging to the target media stream based on the stream identifier and synchronization source information of the target media stream.
[0111] In another possible implementation, the network device is configured to statistically monitor M metrics of the video or audio sub-stream of the target application / target application type. In this case, the network device generates the stream identifier and synchronization source information of the target media stream. The target application is a specific application, such as Huawei Cloud Meeting or Tencent Meeting. The application type is used to classify applications; one application type includes multiple applications with the same or similar functions. The target application type is one of several application types. Examples of target application types include video conferencing, voice communication, or live streaming. In this case, the target session packet stream is a session packet stream corresponding to the target application / target application type forwarded by the network device.
[0112] The following example, using a single session packet flow f forwarded over a network, illustrates how a network device obtains flow identifiers and synchronization source information. The network device processes other forwarded session packet flows using the same method. For instance, the network device uses application identification technology to identify the application / application type of one or more packets in session packet flow f. Examples of application identification technologies include deep packet inspection, deep flow inspection, artificial intelligence, or Smart Application Control (SAC). If the application / application type corresponding to session packet flow f is the target application / target application type, the network device obtains the flow identifier of session packet flow f from the packets of session packet flow f and obtains the synchronization source information from the packets of flow f. If session packet flow f includes at least two sub-flows, the network device obtains the synchronization source information corresponding to at least two sub-flows of session packet flow f from different packets of session packet flow f. For example, a session message flow f includes sub-flows f1 and f2. The network device obtains the synchronization source information SSRC1 of sub-flow f1 from packet C of session message flow f, and obtains the synchronization source information SSRC2 of sub-flow f2 from packet D of session message flow f. The network device stores the flow identifier of session message flow f and the synchronization source information SSRC1 of sub-flow f1. Subsequently, the network device can identify the packets in sub-flow f1 of session message flow f based on the flow identifier of session message flow f and the synchronization source information SSRC1 of sub-flow f1, and then perform statistical analysis and evaluation on the M target indicators of sub-flow f1 of session message flow f. The network device stores the flow identifier of session packet flow f and the synchronization source information SSRC2 of sub-flow f2. Subsequently, the network device can identify the packets in sub-flow f2 of session packet flow f based on the flow identifier of session packet flow f and the synchronization source information SSRC2 of sub-flow f2 of packet flow f. Then, it can perform statistics on M target indicators of sub-flow f2 of session packet flow f and evaluate the experience of sub-flow f2.
[0113] It is understandable that, since the target session packet stream is a session packet stream corresponding to the target application / target application type forwarded by the network device, and the target media stream is a sub-stream in the session packet stream, the method by which the network device obtains the stream identifier and synchronization source information of the target media stream is the same as the method by which the network device obtains the stream identifier and synchronization source information of the sub-stream f1 / sub-stream f2 of the session packet stream f, and will not be repeated here.
[0114] After identifying packets in the target media stream, the network device performs statistical analysis on M target metrics of the target media stream within the corresponding period. The meaning of the M target metrics will be explained first, followed by an explanation of how the network device performs statistical analysis on each target metric.
[0115] In this embodiment, the change in the statistical value of each of the M target indicators over adjacent periods reflects the change in the weak network confrontation intensity of the target media stream. Weak network confrontation refers to the measures (behaviors / methods) taken by the application server or terminal device to ensure the video stream experience when the video stream experiences deteriorate. The target indicator is an indicator whose statistical value changes accordingly with the change in the weak network confrontation intensity. Alternatively, a change in the statistical value of an indicator will cause a change in the weak network confrontation intensity. Therefore, based on the change in the statistical value of the target indicator over adjacent periods, the change in the weak network confrontation intensity can be determined, thereby determining whether the target media stream experiences deterioration.
[0116] Different network vulnerability countermeasures affect different metrics. Since there are many network vulnerability countermeasures, the metrics affected are also numerous, and it's impossible to list them all here. Network vulnerability countermeasures include, but are not limited to, redundant packets, packets carrying data from multiple time points, and increasing the jitter buffer size. The following sections will explain three network vulnerability countermeasures—sending redundant packets, packets carrying data from multiple time points, and increasing the jitter buffer size—and the target metrics affected by each of these three countermeasures. The strength change patterns of each network vulnerability countermeasure and the statistical value change patterns of the corresponding target metrics will also be explained when the user experience deteriorates. Furthermore, the statistical methods for each target metric will be explained.
[0117] Weak network countermeasure 1: Send redundant packets
[0118] In real-time audio and video communication, the packets in each audio / video stream are generated by sampling audio / video data at a fixed sampling period, followed by encoding and packet encapsulation. When the experience remains undegraded, the number of packets in the target media stream per unit time is stable. Furthermore, when the experience remains undegraded, the sender of the audio / video stream (e.g., terminal device or application server) will not send redundant packets. Redundant packets are packets identical to those already sent. For example... Figure 5a In scenarios two, three, and four, the second occurrence of message P501 in period n+1 is a redundant message of the first occurrence of message P501, and the second occurrence of message P502 is a redundant message of the first occurrence of message P502. When the experience deteriorates, the sender of the audio / video stream can take this weak network countermeasure by sending redundant messages.
[0119] Because audio and video have high latency requirements, packet loss retransmission is typically not chosen when experience degradation occurs. Instead, the terminal device / application server actively sends redundant messages to the audio / video communication peer. This means the same message is sent at least twice, and identical messages appear at least twice. Furthermore, the time intervals between identical messages are relatively short, potentially occurring within the same period. This measure increases the number of redundant messages in each period. Therefore, optionally, the M target metrics include the maximum number of redundant messages, which is the number of redundant messages corresponding to the message with the highest redundancy among the target media stream messages forwarded by the network device within a period.
[0120] For example, such as Figure 5a In scenario one, when the experience of the audio / video stream in period n is not degraded, each packet in period n has only one copy, meaning there are no redundant packets in period n, and the maximum number of redundant packets in period n is 0. Similarly, when the experience of the audio / video stream in the adjacent period n+1 is also not degraded, each packet in period n+1 has only one copy, meaning there are no redundant packets in period n+1, and the maximum number of redundant packets in period n+1 is 0.
[0121] like Figure 5a In scenario two, when the experience of the audio / video stream in period n is not degraded, each message in period n has only one copy, meaning there are no redundant messages in period n, and the maximum number of redundant messages in period n is 0. When the experience of the audio / video stream in period n+1 degrades, the sender of the audio / video stream combats the degradation by sending a redundant message. As a result, some messages in period n+1 have redundant messages (such as P501, P502, P503, etc.), with a maximum of 2 identical messages. Messages P501, P502, P503, etc., each have a corresponding redundant message, and the message redundancy of messages P501, P502, and P503 is 1. The maximum number of redundant messages in period n+1 is 1.
[0122] If the current network vulnerability protection level is sufficient to ensure a good audio and video playback experience, there is no need to increase the network vulnerability protection level, such as by not sending more redundant packets. The statistical value corresponding to the maximum number of redundant packets in adjacent cycles will then remain relatively stable. However, if the experience deteriorates further and the current network vulnerability protection level is insufficient to guarantee audio and video playback, the sender of the audio / video stream will continue to increase the network vulnerability protection level to ensure a good playback experience. This could be achieved by increasing the number of redundant packets per packet, and the statistical value corresponding to the maximum number of redundant packets will increase accordingly.
[0123] For example, such as Figure 5aIn scenario three, after implementing the weak network countermeasure of sending one redundant packet for each packet, the audio / video stream experience remains stable, and the number of redundant packets for each packet is not further increased. Within period n, packets P1, P2, P3, etc., each have a corresponding redundant packet, and the packet redundancy count for packets P1, P2, and P3 is 1. The maximum number of redundant packets in period n is 1. Within period n+1, packets P501, P502, P503, etc., each have a corresponding redundant packet, and the packet redundancy count for packets P501, P502, and P503 is 1. The maximum number of redundant packets in period n+1 is the same as the maximum number of redundant packets in period n.
[0124] like Figure 5a In scenario four, after implementing the weak network countermeasure of sending one redundant packet for each packet, within period n, packets P1, P2, P3, etc., each have a corresponding redundant packet, with a packet redundancy count of 1 for each packet, and the maximum number of redundant packets in period n is 1. Subsequently, if the audio / video stream experience deteriorates further, the sender of the audio / video stream further increases the number of redundant packets, sending two redundant packets for each packet to combat the degradation. Within period n+1, packets such as P501 have two corresponding redundant packets, with a packet redundancy count of 2 for each packet, and the maximum redundancy count in period n+1 becomes 2, showing an increase relative to the maximum redundancy count in period n.
[0125] If network performance improves and reducing the intensity of weak network attacks (such as reducing the number of redundant packets) can still guarantee the audio and video playback experience of terminal devices, then the statistical value corresponding to the maximum number of redundant packets will decrease accordingly.
[0126] It can be seen that if the audio / video stream experiences a degradation in user experience, it will resist this degradation by increasing redundant packets, resulting in an increase in the maximum redundant packet count in a given period compared to the previous period. A larger maximum redundant packet count indicates stronger network resilience. Therefore, changes in the statistical values of the target indicators can reflect whether the audio / video stream has experienced a degradation in user experience. For example, an increase in the maximum redundant packet count in adjacent periods confirms that the audio / video stream has experienced a degradation in user experience. Conversely, a stable maximum redundant packet count in adjacent periods confirms that the audio / video stream has not experienced a degradation in user experience.
[0127] It should be noted that, Figure 5a The number of packets in each cycle and the number of redundant packets added during experience degradation are for illustrative purposes only and should not be construed as limitations on this application. The number of redundant packets added during experience degradation can be even greater, and no limit is set here.
[0128] The following explanation uses the example of a network device obtaining the statistical value of the maximum packet redundancy of a target media stream in period i. The method by which a network device obtains the statistical value of the maximum packet redundancy of a target media stream in other periods is the same as the method used to obtain the statistical value of the maximum packet redundancy of a target media stream in period i.
[0129] The network device counts the number of redundant packets for each packet in the target media stream forwarded within period i, thus obtaining the total number of redundant packets across multiple packets in the target media stream within period i. Assume the network device obtains the number of redundant packets for s packets in the target media stream within period i. The network device determines the maximum value among these s redundant packet counts as the statistical value corresponding to the maximum packet redundancy of the target application packet stream in period i. Figure 1 As shown, an RTP message includes a Sequence Number (SN) field, where the value is the message's sequence number. Since the sequence number of a redundant message is the same as that of a previously sent identical message, the network device can determine the number of redundant messages based on the sequence number. For example, it can determine the number of redundant messages corresponding to a given sequence number by counting the number of times that message with the same sequence number appears within a period. Taking a message (e.g., message E) forwarded by the network device within period i as an example, the redundancy count of message E obtained by the network device is explained. Within period i, when the network device recognizes that message E belongs to the target media stream, it retrieves the sequence number (SN) from the message E's sequence number field. If message E appears for the first time within period i, the network device records the sequence number of message E and the corresponding redundancy count of 0. If message E appears in period i at the r-th time (r is an integer greater than or equal to 2), the network device has already recorded the sequence number of message E and the number of redundant messages r-2 corresponding to message E in period i. The network device updates the number of redundant messages corresponding to message E to r-1. Thus, the network device can obtain the number of redundant messages corresponding to each message in the target media stream within period i, and further obtain the statistical value corresponding to the maximum number of redundant messages in the target media stream within period i.
[0130] The second countermeasure against weak networks is to carry multiple time data in the message.
[0131] In real-time audio and video communication, the messages in each audio / video stream are generated by sampling audio / video data at a fixed sampling period, then encoding and encapsulating the audio / video data. When the experience is not degraded, the message length typically fluctuates within a range. For example, the message length in an audio stream is between 150 and 250 bytes. When the experience is not degraded, the audio / video stream usually carries data collected at one moment. However, when the experience degrades, the sender of the audio / video stream will adopt weak network countermeasures, carrying data from more moments in each message to ensure that the audio / video data at each moment is received by the receiver, thereby guaranteeing audio / video continuity and ensuring a good audio / video experience. Carrying data from more moments in the same message results in a longer message length. Therefore, optionally, the M target metrics include the average message length.
[0132] For example, such as Figure 5b As shown, Figure 5b The example given is the change in statistical values of an audio stream. Figure 5b In scenario one, when the audio stream experience is not degraded, there is no need to implement weak network resistance measures that require packets to carry more time-based data. Within period n and the adjacent period n+1, packets in the audio / video stream carry data for one time moment (one voice message). Therefore, the average packet length in period n and the adjacent period n+1 remains basically consistent.
[0133] exist Figure 5b In scenario two, when the audio / video stream experience is not degraded, packets within period n do not need to carry more time-stamp data to combat the degradation. For example, packets in the audio / video stream within period n each carry data from one time-stamp. However, when the audio / video stream experience degrades, packets within period n+1 need to carry more time-stamp data to resist the degradation. For example, some packets in the audio / video stream within period n+1 carry data from two time-stamps (two sets of voice information). Taking the audio stream as an example, the average packet length in period n+1 may increase to around 350 bytes, a significant increase compared to the average packet length in period n.
[0134] If the current network vulnerability protection level is sufficient to ensure a good audio and video playback experience, there's no need to increase the network vulnerability protection level. For example, there's no need to include more data from different time periods in the packets, and the statistical value corresponding to the average packet length between adjacent periods will remain relatively stable. However, if the experience deteriorates further, and the current network vulnerability protection level can no longer guarantee the audio and video playback experience, the sender of the audio / video stream will continue to increase the network vulnerability protection level to ensure the audio and video playback experience. For example, by including more data from different time periods in the packets, the statistical value corresponding to the average packet length will increase accordingly.
[0135] For example, such as Figure 5bIn scenario three, after implementing weak network countermeasures such as carrying data from two time points for each packet, the audio / video stream experience is stable, and the amount of data carried in each packet is no longer increased. The average packet length of period n+1 and period n is relatively stable.
[0136] like Figure 5b In scenario four, after implementing weak network countermeasures that carry data from two moments in each packet, the audio / video stream experience deteriorates further. The sender of the audio / video stream then carries more data from more moments in the packets, such as carrying data from three moments in each packet, to combat the deterioration. The statistical value of the average packet length in period n+1 increases relative to period n.
[0137] If network performance improves and the intensity of weak network attacks is reduced (e.g., carrying less data in the packets), the audio and video playback experience of terminal devices can still be guaranteed, and the statistical value corresponding to the average packet length will decrease accordingly.
[0138] It can be seen that if the audio / video stream experiences degradation, it resists this degradation by carrying more time-specific data in the packets, leading to an increase in the average packet length of a given period compared to the preceding period. A larger average packet length indicates stronger network resilience. Therefore, changes in the statistical values of the target indicators can reflect whether the audio / video stream has experienced degradation. For example, an increase in the average packet length between adjacent periods confirms that the audio / video stream has experienced degradation. Conversely, a stable average packet length between adjacent periods indicates that the audio / video stream has not experienced degradation.
[0139] It should be noted that, Figure 5b The example of adding one moment's data to each instance of experience degradation reporting is merely illustrative and should not be construed as a limitation of this application. More moments' data can be added to each instance of experience degradation reporting; no limit is set here.
[0140] The following explanation uses the statistical value of the average packet length of the target media stream in period i as an example. The method by which the network device obtains the statistical value of the average packet length of the target media stream in other periods is the same as the method for obtaining the statistical value of the average packet length of the target media stream in period i.
[0141] The network device obtains the packet length of each packet in the target media stream forwarded within period i, and counts the number q of packets in the target media stream forwarded within period i. The network device then divides the sum of the packet lengths of the q packets in the target media stream forwarded within period i by the number q to obtain the statistical value corresponding to the average packet length of the target media stream in period i.
[0142] The third countermeasure against weak networks is to increase the size of the jitter buffer.
[0143] In real-time audio and video communication, each audio / video stream's packets are generated by sampling audio / video data at a fixed sampling period, then encoding and encapsulating the audio / video data. When there is no jitter in the network, the interval between adjacent packets in the audio / video stream is relatively fixed. Since network jitter is unavoidable, a jitter buffer is set at the receiving end of the data / audio stream.
[0144] Because audio and video are highly sensitive to latency, the time intervals between adjacent packets in the same audio / video stream are small when network jitter is low, resulting in a relatively small jitter buffer. For example, under normal conditions, the jitter buffer size can withstand network jitter of 50ms. However, when network jitter increases, the time intervals between adjacent packets in the same audio / video stream become larger, potentially exceeding the jitter buffer's tolerance range, leading to significant audio / video stuttering. Therefore, increasing the size of the jitter buffer on the receiving terminal device can improve audio / video playback quality and enhance the user experience.
[0145] When weak network countermeasures include increasing the jitter buffer size, the M target indicators include the maximum time interval. The maximum time interval is the largest time interval between any two adjacent packets of the target media stream within a period. The larger the maximum time interval, the greater the impact on the user experience of playing audio and video on the terminal device, and the terminal device will correspondingly increase the strength of weak network countermeasures, i.e., increase the size of the jitter buffer; the smaller the maximum time interval, the smaller the impact on the user experience of playing audio and video on the terminal device, and the terminal device will correspondingly decrease the strength of weak network countermeasures, i.e., decrease or maintain the size of the jitter buffer.
[0146] For example, such as Figure 5c As shown. In Figure 5c In scenario one, assuming the jitter buffer can withstand 50ms of network jitter, the maximum time interval of period n is 30ms, and the maximum time interval of adjacent period n+1 is 40ms. The maximum time interval between period n and period n+1 varies little and is within the jitter range that the jitter buffer can withstand, so it will not cause a degradation in the user experience and there is no need to increase the jitter buffer.
[0147] exist Figure 5c In scenario two, assuming the jitter buffer can withstand 50ms of network jitter, the maximum time interval of period n is 30ms, and the maximum time interval of period n+1 is 250ms, which exceeds the jitter range that the jitter buffer can tolerate, leading to playback stuttering and a degraded user experience. The terminal device receiving the audio / video stream should increase the size of its jitter buffer, for example, increasing it to withstand 250ms of network jitter.
[0148] exist Figure 5c In scenario three, assuming the jitter buffer has been adjusted to withstand network jitter of 250ms, the maximum time interval of period n is 240ms, and the maximum time interval of the adjacent period n+1 is 245ms. The maximum time interval between period n and period n+1 is small and within the jitter range that the jitter buffer can withstand, it will not cause experience degradation, and there is no need to further increase the jitter buffer.
[0149] exist Figure 5c In scenario four, assuming the jitter buffer has been adjusted to withstand network jitter of 250ms, the maximum time interval of period n is 240ms, and the maximum time interval of the adjacent period n+1 is 350ms. The maximum time interval of period n and period n+1 varies greatly, and the maximum time interval of period n+1 exceeds the jitter range that the jitter buffer can withstand, which will cause a degraded user experience.
[0150] It should be noted that, Figure 5b The example of adding one moment's data to each instance of experience degradation reporting is merely illustrative and should not be construed as a limitation of this application. More moments' data can be added to each instance of experience degradation reporting; no limit is set here.
[0151] The following explanation uses the example of a network device obtaining the statistical value of the maximum time interval of a target media stream in period i. The method by which a network device obtains the statistical value of the maximum time interval of a target media stream in other periods is the same as the method for obtaining the statistical value of the maximum time interval of a target media stream in period i.
[0152] The network device identifies a packet (e.g., packet G) in the target media stream during period i and obtains the first forwarding time of packet G (the reception time of packet G received by the network device or the transmission time of packet G sent by the network device). The network device then identifies the next packet in the target media stream (e.g., packet H) in period i and obtains the second forwarding time of packet H (the reception time of packet H received by the network device or the transmission time of packet H sent by the network device). The network device subtracts the first forwarding time from the second forwarding time to obtain the time interval between packet H and packet G. It can be understood that both packet G and packet H are either transmission times or both reception times. Similar to how the network device obtains the time interval between packet H and packet G, the network device obtains the time interval between any two adjacent packets in the target media stream forwarded within period i. Assuming the network device forwards x (x is an integer greater than or equal to 2) packets of the target media stream within period i, the network device can obtain x-1 time intervals corresponding to period i. The network device determines the maximum value among x-1 time intervals as the statistical value corresponding to the maximum time interval of period i.
[0153] Sending redundant packets, carrying data from multiple time points in packets, and increasing the jitter buffer size are three weak network countermeasures that can be applied simultaneously to the target media stream. Alternatively, one or any two of these three weak network countermeasures can be applied to the target media stream. Therefore, the M target metrics include at least one of the following: maximum number of redundant packets, average packet length, and maximum time interval.
[0154] The first statistical information includes the first statistical values of the target media stream corresponding to the M target indicators in the first period. The second statistical information includes the second statistical values of the target media stream corresponding to the M target indicators in the second period.
[0155] S402, based on the first statistical information and the second statistical information, determine whether there is experience degradation in the target media stream during the second cycle.
[0156] Since changes in the statistical values of the target indicator can reflect changes in the strength of weak network attacks, and changes in the strength of weak network attacks can reflect whether the target media stream has deteriorated, it is possible to determine whether the statistical values of the target indicator have changed in the second period relative to the first period based on the first and second statistical information of adjacent periods. Furthermore, based on the changes in the statistical values of the target indicator in the second period relative to the first period, it can be determined whether the target application stream has experienced experience degradation in the second period.
[0157] In one possible implementation, the statistical changes of M target indicators can be analyzed separately. When the increase in the statistical value of any of the M target indicators in the second period relative to the statistical value in the first period exceeds the threshold corresponding to that target indicator, the target media stream can be considered to have experienced experience degradation. Specifically, the first statistical value corresponding to the first indicator in the first statistical information and the second statistical value corresponding to the first indicator in the second statistical information are obtained, and the increase in the second statistical value relative to the first statistical value is calculated. If the increase in the second statistical value relative to the first statistical value is greater than or equal to the first threshold corresponding to the first indicator, it indicates that the maximum redundant packet count / average packet length / maximum time interval has increased significantly, and it can be determined that the target media stream has experienced experience degradation in the second period.
[0158] The following describes the methods for determining whether the target media stream experiences experience degradation in the second cycle based on the first and second statistical values of the maximum redundant message count, average message length, and maximum time interval.
[0159] I. Maximum number of redundant messages
[0160] The network device obtains a first statistical value corresponding to the maximum number of redundant packets from the first statistical information, and a second statistical value corresponding to the maximum number of redundant packets from the second statistical information. Based on the first and second statistical values corresponding to the maximum number of redundant packets, it determines whether the target media stream experiences experience degradation in the second cycle. Specifically, such as... Figure 6 As shown, Figure 6 A flowchart illustrating a method for network devices to determine whether a target media stream is degraded based on a second statistical value corresponding to the maximum number of redundant packets and a first statistical value corresponding to the maximum number of redundant packets.
[0161] S601, obtain the growth value between the second statistical value corresponding to the maximum number of redundant messages and the first statistical value corresponding to the maximum number of redundant messages.
[0162] The growth value between the second statistical value corresponding to the maximum redundant message count and the first statistical value corresponding to the maximum redundant message count can indicate the change range of the maximum redundant message count in adjacent periods. The magnitude of the change range of the maximum redundant message count in adjacent periods can indicate whether there is a change in the weak network confrontation strength of the target media stream. Whether there is a change in the weak network confrontation strength can indicate whether there is (has occurred) experience degradation in the target media stream.
[0163] In one possible implementation, the increase between the second statistical value corresponding to the maximum number of redundant packets and the first statistical value corresponding to the maximum number of redundant packets is the difference between the second statistical value corresponding to the maximum number of redundant packets and the first statistical value corresponding to the maximum number of redundant packets.
[0164] In another possible implementation, the increase in the second statistical value corresponding to the maximum number of redundant packets and the first statistical value corresponding to the maximum number of redundant packets is the growth rate of the second statistical value corresponding to the maximum number of redundant packets compared to the first statistical value corresponding to the maximum number of redundant packets. That is, subtracting the first statistical value corresponding to the maximum number of redundant packets from the second statistical value gives the first difference, and then dividing the first difference by the first statistical value corresponding to the maximum number of redundant packets gives the growth rate of the second statistical value corresponding to the maximum number of redundant packets compared to the first statistical value corresponding to the maximum number of redundant packets.
[0165] S602, compare whether the growth value between the second statistical value corresponding to the maximum number of redundant messages and the first statistical value corresponding to the maximum number of redundant messages is greater than the first threshold corresponding to the maximum number of redundant messages.
[0166] When the increase value between the second statistical value corresponding to the maximum number of redundant messages and the first statistical value corresponding to the maximum number of redundant messages is the difference between the second statistical value corresponding to the maximum number of redundant messages and the first statistical value corresponding to the maximum number of redundant messages, the first threshold corresponding to the maximum number of redundant messages is, for example, 1 or 2.
[0167] The growth rate of the second statistical value corresponding to the maximum number of redundant packets and the first statistical value corresponding to the maximum number of redundant packets is the growth rate of the second statistical value corresponding to the maximum number of redundant packets compared to the first statistical value corresponding to the maximum number of redundant packets. For example, the first threshold could be 10%, 20%, 25%, 30%, 40%, 50%, etc. The first threshold can also be larger or smaller; there is no restriction here.
[0168] The growth value between the second statistical value corresponding to the maximum number of redundant packets and the first statistical value corresponding to the maximum number of redundant packets is compared with the first threshold corresponding to the maximum number of redundant packets in order to determine whether the sender of the target media stream has adopted the weak network countermeasure of sending redundant packets, or whether the sender of the target media stream has increased the strength of the weak network countermeasure.
[0169] If the increase between the second statistical value corresponding to the maximum number of redundant packets and the first statistical value corresponding to the maximum number of redundant packets is less than the first threshold corresponding to the maximum number of redundant packets, it indicates that the target media stream did not adopt the weak network countermeasure of sending redundant packets in the second period, or did not increase the number of redundant packets sent, i.e., did not increase the strength of the weak network countermeasure, then execute S603; if the increase between the second statistical value corresponding to the maximum number of redundant packets and the first statistical value corresponding to the maximum number of redundant packets is greater than or equal to the first threshold corresponding to the maximum number of redundant packets, it indicates that the sender of the target media stream adopted the weak network countermeasure of sending redundant packets, or the sender of the target media stream increased the number of redundant packets, i.e., increased the strength of the weak network countermeasure, indicating that the experience has deteriorated, then execute S604.
[0170] S603, compare whether the second statistical value corresponding to the maximum number of redundant packets is greater than the first statistical value corresponding to the maximum number of redundant packets.
[0171] In one possible implementation, the growth value between the second statistical value corresponding to the maximum number of redundant packets and the first statistical value corresponding to the maximum number of redundant packets is less than the first threshold corresponding to the maximum number of redundant packets. This means that the second statistical value corresponding to the maximum number of redundant packets is positively increasing compared to the first statistical value corresponding to the maximum number of redundant packets, and the growth value is less than the first threshold.
[0172] In another possible implementation, the growth value between the second statistical value corresponding to the maximum number of redundant packets and the first statistical value corresponding to the maximum number of redundant packets is less than the first threshold corresponding to the maximum number of redundant packets. This means that the second statistical value corresponding to the maximum number of redundant packets has a negative growth compared to the first statistical value corresponding to the maximum number of redundant packets, that is, fewer redundant packets are sent, which means the weak network resistance is reduced.
[0173] In another possible implementation, the increase between the second statistical value corresponding to the maximum number of redundant packets and the first statistical value corresponding to the maximum number of redundant packets is less than the first threshold corresponding to the maximum number of redundant packets. This means that the second statistical value corresponding to the maximum number of redundant packets increases compared to the first statistical value corresponding to the maximum number of redundant packets, which is 0. In other words, the number of redundant packets for each packet remains unchanged, thus maintaining the strength of the weak network confrontation.
[0174] In one possible implementation, the second statistical value corresponding to the maximum number of redundant packets is directly compared with the first statistical value corresponding to the maximum number of redundant packets to determine whether the second statistical value is greater than the first statistical value. In another possible implementation, the second statistical value is determined to be greater than the first statistical value based on the growth value between the second and first statistical values corresponding to the maximum number of redundant packets. For example, if the growth value is positive, the second statistical value is greater than the first statistical value; if the growth value is 0, the first statistical value is equal to the second statistical value; if the growth value is negative, the second statistical value is less than the first statistical value.
[0175] If the second statistical value corresponding to the maximum redundant packet count is greater than the first statistical value corresponding to the maximum redundant packet count, it indicates that the statistical value corresponding to the maximum redundant packet count in the second period shows a positive growth compared to the first period, and further verification is needed to determine if there is experience degradation. Execute S604. If the second statistical value corresponding to the maximum redundant packet count is less than or equal to the first statistical value corresponding to the maximum redundant packet count, it indicates that the statistical value corresponding to the maximum redundant packet count in the second period shows a negative growth or zero growth compared to the first period. Execute S605.
[0176] S604. Compare whether the second statistical value corresponding to the maximum number of redundant packets is greater than or equal to the second threshold corresponding to the maximum number of redundant packets.
[0177] Since weak network mitigation measures can resist a certain degree of network performance degradation, when the network performance degradation exceeds the tolerance range of the weak network mitigation measures, even if the intensity of the weak network mitigation measures is increased, the target media stream will still experience a degradation in user experience. Therefore, the second statistical value of the maximum redundant packet count can be compared with the second threshold corresponding to the maximum redundant packet count. The second threshold is the dividing line between whether the weak network mitigation measures can solve the user experience degradation problem and whether they can solve it. The second threshold corresponding to the maximum redundant packet count is, for example, 3, 4, or 5.
[0178] When the second statistical value corresponding to the maximum number of redundant packets is greater than or equal to the second threshold corresponding to the maximum number of redundant packets, it indicates that the weak network countermeasure capability has been exceeded, and the target application packets will still experience degradation, so execute S605. When the second statistical value corresponding to the maximum number of redundant packets is less than the second threshold corresponding to the maximum number of redundant packets, no experience degradation occurs, so execute S606.
[0179] S605, the target media stream experienced a degraded user experience in the second cycle.
[0180] S606, the target media stream does not experience any degradation in experience during the second cycle.
[0181] It should be noted that S603 and S604 are optional steps. In one possible implementation, after S602 determines that the increase between the second statistical value corresponding to the maximum number of redundant packets and the first statistical value corresponding to the maximum number of redundant packets is less than the first threshold corresponding to the maximum number of redundant packets, S606 can be executed directly.
[0182] The embodiments of this application do not limit the order of S602, S603, and S604. For example, S603 can be executed first, followed by S604, and then S602. Alternatively, S602, S603, and S604 can be executed in parallel, and the evaluation results output by S602, S603, and S604 can be combined to determine whether there is experience degradation in the target media stream in the second cycle.
[0183] II. Average Message Length
[0184] The network device obtains a first statistical value corresponding to the average packet length from the first statistical information, and a second statistical value corresponding to the average packet length from the second statistical information. For example... Figure 7 As shown, Figure 7 A flowchart illustrating a method for network devices to determine whether a target media stream is degraded based on a second statistical value corresponding to the average packet length and a first statistical value corresponding to the average packet length.
[0185] S701, obtain the growth value between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length.
[0186] In one possible implementation, the increase in the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is the difference between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length.
[0187] In another possible implementation, the increase in the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is the growth rate of the second statistical value corresponding to the average message length compared to the first statistical value corresponding to the average message length. That is, subtracting the first statistical value corresponding to the average message length from the second statistical value corresponding to the average message length yields a first difference, which is then divided by the first statistical value corresponding to the average message length. This represents the growth rate of the second statistical value corresponding to the number of large redundant messages compared to the first statistical value corresponding to the average message length.
[0188] S702, compare whether the increase between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is greater than the first threshold corresponding to the average message length.
[0189] When the increase between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is the difference between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length, the first threshold corresponding to the average message length can be, for example, 100 bytes, 150 bytes, 200 bytes, or 250 bytes.
[0190] The growth rate of the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is the growth rate of the second statistical value corresponding to the average message length compared to the first statistical value corresponding to the average message length. The first threshold is, for example, 10%, 20%, 25%, 30%, 40%, 50%, etc. The first threshold can also be larger or smaller, which is not limited here.
[0191] The increase between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is compared with the first threshold corresponding to the average message length in order to determine whether the sender of the target media stream has adopted a weak network countermeasure such as carrying more data in the message, or whether the sender of the target media stream has increased the strength of the weak network countermeasure.
[0192] If the increase between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is greater than the first threshold corresponding to the average message length, it indicates that the sender of the target media stream carries more data from different times in the message, and it can be inferred that the target media stream has experienced experience degradation in the second period, then execute S704; if the increase between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is less than the first threshold corresponding to the average message length, it indicates that the second statistical value corresponding to the average message length in the second period is relatively stable compared to the first period, then execute S703.
[0193] S703, compare whether the second statistical value corresponding to the average message length is greater than the first statistical value corresponding to the average message length.
[0194] In one possible implementation, the growth value between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is less than the first threshold corresponding to the average message length. This means that the second statistical value corresponding to the average message length is positively increasing compared to the first statistical value corresponding to the average message length, and the growth value is less than the first threshold.
[0195] In another possible implementation, the growth value between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is less than the first threshold corresponding to the average message length. This means that the second statistical value corresponding to the average message length has a negative growth compared to the first statistical value corresponding to the average message length, that is, the message carries less data at a time, which means the weak network confrontation strength is reduced.
[0196] In another possible implementation, the growth value between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is less than the first threshold corresponding to the average message length. This means that the second statistical value corresponding to the average message length increases by 0 compared to the first statistical value corresponding to the average message length. In other words, the same amount of data at the same time is carried in the message, which is the maintenance of the weak network confrontation strength.
[0197] If the second statistical value corresponding to the average message length is greater than the first statistical value corresponding to the average message length, it indicates that the statistical value corresponding to the average message length in the second period shows a positive increase compared to the first period, and further verification is needed to determine whether there is experience degradation. Execute S704. If the second statistical value corresponding to the average message length is less than or equal to the first statistical value corresponding to the average message length, it indicates that the statistical value corresponding to the average message length in the second period shows a negative increase or zero increase compared to the first period. Execute S705.
[0198] S704, compare whether the second statistical value corresponding to the average message length is greater than or equal to the second threshold corresponding to the average message length.
[0199] Because weak network mitigation measures can resist a certain degree of network performance degradation, when the network performance degradation exceeds the tolerance range of the weak network mitigation measures, even if the intensity of the weak network mitigation measures is increased, the target media stream will still experience a degradation in user experience. Therefore, a second statistical value of the average packet length can be compared with a second threshold corresponding to the average packet length. The second threshold is the dividing line between whether weak network mitigation measures can solve the problem of user experience degradation or not. The second threshold corresponding to the average packet length can be, for example, 300 bytes, 350 bytes, 400 bytes, or 450 bytes, etc.
[0200] When the second statistical value corresponding to the average packet length is greater than the second threshold corresponding to the average packet length, it indicates that the weak network's countermeasure capability has been exceeded, and the target application packets will still experience degradation, so execute S705. When the second statistical value corresponding to the average packet length is greater than the second threshold corresponding to the average packet length, no experience degradation occurs, so execute S706.
[0201] S705, the target media stream experienced a degraded user experience in the second cycle.
[0202] S706, the target media stream does not experience degradation in the second cycle.
[0203] It should be noted that S703 and S704 are optional steps. In one possible implementation, after S702 determines that the growth value between the second statistical value corresponding to the average message length and the first statistical value corresponding to the average message length is less than the first threshold corresponding to the average message length, S706 can be executed directly.
[0204] The embodiments of this application do not limit the order in which S702, S703, and S704 are executed. For example, S703 can be executed first, followed by S704, and then S702. Alternatively, S702, S703, and S704 can be executed in parallel, and the evaluation results output by S702, S703, and S704 can be combined to determine whether there is experience degradation in the target media stream in the second cycle.
[0205] III. Maximum Time Interval
[0206] The network device obtains a first statistical value corresponding to the maximum time interval from the first statistical information, and a second statistical value corresponding to the maximum time interval from the second statistical information. For example... Figure 8 As shown, Figure 8 A flowchart illustrating a method for network devices to determine whether a target media stream is degraded based on a second statistical value corresponding to the maximum time interval and a first statistical value corresponding to the maximum time interval.
[0207] S801, obtain the growth value between the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval.
[0208] In one possible implementation, the increase in the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is the difference between the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval.
[0209] In another possible implementation, the growth value of the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is the growth rate of the second statistical value corresponding to the maximum time interval compared to the first statistical value corresponding to the maximum time interval. That is, subtracting the first statistical value corresponding to the maximum time interval from the second statistical value corresponding to the maximum time interval yields the first difference, and then dividing the first difference by the first statistical value corresponding to the maximum time interval gives the growth rate of the second statistical value corresponding to the large redundant message count compared to the first statistical value corresponding to the maximum time interval.
[0210] S802, compare whether the growth value between the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is greater than the first threshold corresponding to the maximum time interval.
[0211] When the increase value of the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is the difference obtained by subtracting the first statistical value corresponding to the maximum time interval from the second statistical value corresponding to the maximum time interval, the first threshold corresponding to the maximum time interval is, for example, 10ms, 20ms, 30ms, 40ms or 50ms.
[0212] The growth value of the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is the growth rate of the second statistical value corresponding to the maximum time interval compared to the first statistical value corresponding to the maximum time interval. The first threshold is, for example, 10%, 20%, 25%, 30%, 40%, 50%, etc. The first threshold can also be larger or smaller, which is not limited here.
[0213] The growth value between the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is compared with the first threshold corresponding to the maximum time interval in order to determine whether the jitter of the target media stream exceeds the jitter buffer's tolerance range, and thus determine whether there is experience degradation.
[0214] If the increase between the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is greater than the first threshold corresponding to the maximum time interval, it indicates that the jitter of the target media stream has exceeded the jitter buffer's anti-jitter range. It can be inferred that the target media stream has experienced experience degradation in the second cycle, and S805 is executed. If the increase between the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is less than the first threshold corresponding to the maximum time interval, it indicates that the second statistical value corresponding to the maximum time interval in the second cycle is relatively stable compared to the first cycle, and S803 is executed.
[0215] S803, compare whether the second statistic corresponding to the maximum time interval is greater than the first statistic corresponding to the maximum time interval.
[0216] In one possible implementation, the growth value between the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is less than the first threshold corresponding to the maximum time interval, which means that the second statistical value corresponding to the maximum time interval is positively increasing compared to the first statistical value corresponding to the maximum time interval, and the growth value is less than the first threshold.
[0217] In another possible implementation, the growth value between the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is less than the first threshold corresponding to the maximum time interval. This means that the second statistical value corresponding to the maximum time interval has a negative growth compared to the first statistical value corresponding to the maximum time interval, i.e., the maximum time interval between adjacent messages is reduced.
[0218] In another possible implementation, the increase between the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is less than the first threshold corresponding to the maximum time interval. This means that the second statistical value corresponding to the maximum time interval increases compared to the first statistical value corresponding to the maximum time interval (0), i.e., the maximum time interval between adjacent messages remains unchanged.
[0219] If the second statistical value corresponding to the maximum time interval is greater than the first statistical value corresponding to the maximum time interval, it indicates that the statistical value corresponding to the maximum time interval in the second period shows a positive growth compared to the first period, and further verification is needed to determine whether there is experience degradation. Execute S704. If the second statistical value corresponding to the maximum time interval is less than or equal to the first statistical value corresponding to the maximum time interval, it indicates that the statistical value corresponding to the maximum time interval in the second period shows a negative growth or zero growth compared to the first period. Execute S705.
[0220] S804, compare whether the second statistical value corresponding to the maximum time interval is greater than or equal to the second threshold corresponding to the maximum time interval.
[0221] Because weak network adversarial measures can resist a certain degree of network performance degradation, when the network performance degradation exceeds the tolerance range of the weak network adversarial measures, even if the intensity of the weak network adversarial measures is increased, the target media stream will still experience a degradation in user experience. Therefore, the second statistical value of the maximum time interval can be compared with the second threshold corresponding to the maximum time interval. The second threshold is the dividing line between when the weak network adversarial measures can solve the problem of user experience degradation and when they cannot. The second threshold corresponding to the maximum time interval is, for example, 100ms, 105ms, 110ms, 120ms, or 130ms, etc.
[0222] When the second statistical value corresponding to the maximum time interval is greater than the second threshold corresponding to the maximum time interval, it indicates that the jitter buffer's anti-jitter capability has been exceeded, and the target application packets will still experience degradation, so S805 is executed. When the second statistical value corresponding to the maximum time interval is less than or equal to the second threshold corresponding to the maximum time interval, no experience degradation occurs, so S806 is executed.
[0223] S805, the target media stream experienced a degraded user experience in the second cycle.
[0224] S806, the target media stream does not experience any degradation in experience during the second cycle.
[0225] It should be noted that S803 and S804 are optional steps. In one possible implementation, after S802 determines that the growth value between the second statistical value corresponding to the maximum time interval and the first statistical value corresponding to the maximum time interval is less than the first threshold corresponding to the maximum time interval, S806 can be executed directly.
[0226] The embodiments of this application do not limit the order of S802, S803, and S804. For example, S803 can be executed first, followed by S804, and then S802. Alternatively, S802, S803, and S804 can be executed in parallel, and the evaluation results output by S802, S803, and S804 can be combined to determine whether there is experience degradation in the target media stream in the second cycle.
[0227] In this embodiment of the invention, appropriate target metrics can be selected based on the required accuracy of the experience assessment, the performance of the network device or analysis device, etc. For example, one target metric (e.g., maximum redundant packets, average packet length, or maximum time interval) or multiple target metrics can be selected. When only a single target metric is selected (i.e., M is 1), this embodiment of the application determines whether there is experience degradation in the target media stream based on the statistical values of the single target metric in adjacent periods (as shown in the appendix above). Figure 6 Appendix Figure 7 Or attached Figure 8 (as shown); when multiple target indicators are selected (i.e., when M is greater than or equal to 2), the evaluation results corresponding to multiple target indicators can be combined to determine whether there is experience degradation in the target media stream.
[0228] Optionally, when M is greater than or equal to 2, the network device confirms that the target media stream has experienced experience degradation in the second period if the first and second statistical values corresponding to any one of the M target indicators can be used to determine that the target media stream has experienced experience degradation in the second period. That is, as long as there is an evaluation result for any one target indicator that indicates that the target media stream has experienced experience degradation in the second period, it can be confirmed that the target media stream has experienced experience degradation in the second period. Only when the evaluation results for all M target indicators are that the target media stream does not have experienced experience degradation in the second period is it confirmed that the target media stream does not have experienced experience degradation in the second period.
[0229] Optionally, when M is greater than or equal to 2, the network device confirms that the target media stream has experience degradation in the second period only if the number of target indicators that, according to the evaluation results, indicates experience degradation in the second period is greater than or equal to Z. If the number of target indicators that, according to the evaluation results, indicates experience degradation in the second period is less than Z, the target media stream is confirmed not to have experience degradation in the second period. Z is a set of integers greater than 1 and less than M.
[0230] Optionally, when M is greater than or equal to 2, if the evaluation result corresponding to all target indicators in the M target indicators is that the target media stream has experience degradation in the second period, the network device confirms that the target media stream has experience degradation in the second period; otherwise, the network device confirms that the target media stream does not have experience degradation in the second period.
[0231] Alternatively, in another possible implementation, when M is greater than or equal to 2, meaning that the statistical information for each period includes statistical values of at least two target indicators, the statistical values of at least two target indicators for each period can be combined to obtain a comprehensive value for each period. The change in the comprehensive value between adjacent periods is then used to determine whether the target application stream has deteriorated. Specifically, based on the importance of the M target indicators, a corresponding weight value can be assigned to each target indicator. The weight values for the M target indicators can be the same or different. Based on the weight values of the M target indicators, the statistical values corresponding to the M target indicators in the first statistical information can be weighted and summed (specifically, because the units of the statistical values of different target indicators are different, the statistical values of different target indicators in the statistical information can be normalized first before weighted summation) to obtain a first comprehensive value. Based on the weight values of the M target indicators, the statistical values corresponding to the M target indicators in the second statistical information can be weighted and summed to obtain a second comprehensive value. If the increase in the second comprehensive value compared to the first comprehensive value is greater than a third threshold, it can be determined that the target media stream has experienced experience degradation in the second period; the larger the comprehensive value, the lower the experience quality. If the increase in the second composite value compared to the first composite value is less than a third threshold, it is determined that the target media stream does not experience degradation in the second period. The increase in the second composite value relative to the first composite value can be the increase in the second composite value relative to the first composite value. The third threshold can be obtained based on the weight values corresponding to the M target indicators and the first threshold corresponding to the M target indicators. The increase in the second composite value relative to the first composite value can also be the growth rate of the second composite value relative to the first composite value. In this case, the third threshold can be 5%, 8%, 10%, 15%, or 20%, etc.
[0232] It's understandable that, due to factors such as the terminal device detecting a degraded experience in the target media stream, adjusting the terminal device's weak network defense capabilities, and the latency in the target media stream's propagation, the existence of a degraded experience in the target media stream during the second cycle doesn't necessarily mean that the target application stream degraded during that specific time period. Rather, it's because the second statistical information from the second cycle allows for the detection of a degraded target application stream. A degraded experience in the target media stream can refer to stuttering or buffering in the audio or video playback, leading to a worsened user experience.
[0233] Optionally, after determining that the target media stream experiences experience degradation in the second cycle, the network device can also issue an alarm indicating that the target media stream experiences experience degradation in the second cycle. Optionally, an alarm indicating that the target media stream experiences experience degradation in the second cycle is issued only when the second statistical value is greater than the first statistical value, and the second statistical value is greater than or equal to the second threshold, i.e., when increasing the weak network confrontation strength cannot resolve the experience degradation, in order to remind staff to take measures to resolve the network performance degradation problem.
[0234] In this embodiment, statistical information for each period is obtained by statistically analyzing M target indicators of the target media stream through network devices. The statistical information of the M target indicators can determine the weak network confrontation strength. Therefore, based on the statistical information of adjacent periods, the change of the weak network confrontation strength of the target media stream can be determined. Since the change of weak network confrontation strength is related to whether the experience of the target media stream is degraded, the change of weak network confrontation strength can more accurately determine whether the experience of the target media stream is degraded.
[0235] Optionally, the present invention includes Figure 4 The experience evaluation method described in the illustrated embodiments is performed by a single network device. Optionally, the present invention includes... Figure 4 The experience evaluation method described in the illustrated embodiments is performed jointly by network devices and an analyzer. Figure 9 A schematic diagram is provided showing how the experience evaluation method described in the embodiments of the present invention is jointly performed by network devices and analyzers.
[0236] like Figure 9 As shown, Figure 9 This is a flowchart illustrating another experience evaluation method provided in this application. This embodiment is... Figure 2a or Figure 2b The network devices and analyzers in the process execute this. This embodiment includes steps S901-S903.
[0237] S901, the network device performs statistics on M target indicators of the target media stream in the first period to obtain first statistical information, and performs statistics on M target indicators of the target media stream in the second period to obtain second statistical information.
[0238] A method for network devices to obtain corresponding statistical information by statistically analyzing M target metrics of the target media stream in each cycle has been developed. Figure 4 The corresponding embodiment S401 has been described in detail, so it will not be repeated here.
[0239] S902, the network device sends the first statistical information and the second statistical information to the analyzer.
[0240] Accordingly, the analyzer receives first and second statistical information from the network device. That is, the analyzer acquires first and second statistical information.
[0241] In one possible implementation, the first and second statistical information are sent separately by the network device to the analyzer, for example, the first and second statistical information are carried in different messages. In another possible implementation, the first and second statistical information are sent simultaneously by the network device to the analyzer, for example, the first and second statistical information are carried in the same message.
[0242] Network devices can collect and send periodic statistics to an analyzer via the Telemetry protocol. In Telemetry, network devices can push these statistics to the analyzer, enabling more efficient data transmission. Alternatively, network devices can collect and send periodic statistics to the analyzer via the Simple Network Management Protocol (SNMP). In SNMP, the analyzer can send a request message to the network device requesting statistics for at least one period, and the network device responds by sending the corresponding analysis data to the analyzer. Of course, network devices can also send statistics to the analyzer based on other network management protocols, such as NetFlow, sFlow, NetStream, and Packet Capturing.
[0243] S903, the analyzer determines whether there is experience degradation in the target media stream during the second cycle based on the first and second statistical information.
[0244] In this embodiment, the analyzer analyzes the first and second statistical information to determine whether the target media stream experiences experience degradation in the second cycle.
[0245] The analyzer uses the first and second statistical information to determine the specific implementation of whether the target media stream experiences experience degradation in the second cycle. (See also...) Figure 4The relevant operations performed by the network device in S402 of the corresponding embodiment will not be described in detail here.
[0246] Optionally, after determining that the target media stream experiences experience degradation in the second cycle, the analyzer can also issue an alarm indicating that the target media stream experiences experience degradation in the second cycle. Optionally, an alarm indicating that the target media stream experiences experience degradation in the second cycle is issued only when the second statistical value is greater than the first statistical value, and the second statistical value is greater than or equal to the second threshold, i.e., when increasing the weak network resistance strength cannot resolve the experience degradation, in order to remind staff to take measures to resolve the network performance degradation problem.
[0247] In this embodiment, the network device statistically analyzes M target indicators of the target media stream to obtain statistical information for each period, and sends this information to the analyzer. Based on the statistical information of the M target indicators in adjacent periods, the analyzer can determine the changes in the weak network attack strength of the target media stream, thereby determining whether the target media stream experiences experience degradation. Since changes in weak network attack strength are affected by the experience degradation of the target media stream, determining whether the target media stream experiences experience degradation is more accurate based on changes in weak network attack strength.
[0248] Based on the same inventive concept, this application also provides... Figure 4 The network device in the corresponding embodiment, or Figure 9 The analyzer in the corresponding embodiment corresponds to the device embodiment. For example... Figure 10 As shown, Figure 10 This is a schematic diagram of the structure of an experience evaluation device provided in this application. The experience evaluation device 1000 can be applied to... Figure 2a or Figure 2b The analyzer in the context, the experience evaluation device 1000 can be an analyzer, or a software module or hardware module (such as a chip) within the analyzer. Alternatively, the experience evaluation device 1000 can be applied to... Figure 2a or Figure 2b The network device in question, the experience evaluation device 1000 can be a network device, or a software module or hardware module (such as a chip) in the network device.
[0249] The experience evaluation device 1000 includes a processing module 1001, used to acquire first and second statistical information of the target media stream. The processing module 1001 is further used to determine, based on the first and second statistical information, whether the target media stream experiences experience degradation in the second period. The first statistical information is obtained by statistically analyzing M target indicators of the target media stream within the first period, and the second statistical information is obtained by statistically analyzing M target indicators of the target media stream within the second period. Target indicators are used to identify the strength of weak network adversarial measures against the target media stream. Weak network adversarial measures refer to actions taken to ensure the experience of the target media stream when network performance degrades. Weak network adversarial measures may include sending redundant packets, carrying data from multiple time points in a single packet, increasing the jitter buffer size, etc. The first and second periods are temporally adjacent periods, the target media stream includes a target application audio stream or a target application video stream, and M is an integer greater than or equal to 1.
[0250] In one possible implementation, the M target metrics include at least one of the following: maximum redundant packet count, average packet length, or maximum time interval. Specifically, the maximum redundant packet count is the number of redundant packets corresponding to the packet with the highest redundancy among the packets of the target media stream forwarded by the network device within a period. The average packet length is the average length of the packets of the target media stream forwarded by the network device within a period. The maximum time interval is the largest time interval between any two adjacent packets of the target media stream within a period.
[0251] In one possible implementation, the first statistical information includes first statistical values corresponding to M target indicators, and the second statistical information includes second statistical values corresponding to M target indicators. The first period is earlier than the second period. Based on the first and second statistical information, the processing module 1001 is used to determine that the target media stream has experience degradation in the second period in response to the second statistical value corresponding to the first indicator and the growth value of the first statistical value corresponding to the first indicator being greater than or equal to a first threshold. The first indicator is one of the M target indicators.
[0252] In one possible implementation, the first statistical information includes first statistical values corresponding to M target indicators, and the second statistical information includes second statistical values corresponding to M target indicators. The first period is earlier than the second period. Based on the first and second statistical information, the processing module 1001 is used to determine that the target media stream has experience degradation in the second period if the second statistical value corresponding to the second indicator is greater than the first statistical value corresponding to the second indicator, and the second statistical value corresponding to the second indicator is greater than or equal to a second threshold. The larger the statistical value corresponding to the second indicator, the lower the experience quality. The second indicator is one of the M target indicators.
[0253] In one possible implementation, the processing module 1001 is configured to determine that the target media stream does not experience degradation in the second period in response to the fact that the increase of the second statistical value corresponding to each of the M target indicators and the first statistical value is less than a first threshold, and the second statistical value corresponding to each target indicator is less than a second threshold.
[0254] In one possible implementation, M is greater than or equal to 2. The first statistical information includes first statistical values corresponding to M target indicators, and the second statistical information includes second statistical values corresponding to M target indicators. The first period is earlier than the second period. Processing module 1001 is used to obtain a first comprehensive value based on the first statistical information, where the first comprehensive value is obtained by weighted summation of the first statistical values corresponding to the M target indicators; processing module 1001 is used to obtain a second comprehensive value based on the second statistical information, where the second comprehensive value is obtained by weighted summation of the second statistical values corresponding to the M target indicators; processing module 1001 is used to determine that the target media stream has experience degradation in the second period in response to the increase value of the second comprehensive value and the first comprehensive value being greater than or equal to a third threshold, where a larger comprehensive value indicates lower experience quality; processing module 1001 is used to determine that the target media stream does not have experience degradation in the second period in response to the increase value of the second comprehensive value and the first comprehensive value being less than the third threshold.
[0255] In one possible implementation, the experience evaluation device 1000 further includes a transceiver module 1002. The transceiver module 1002 is used to send an alarm message in response to experience degradation in the target media stream during the second cycle, the alarm message indicating that experience degradation exists in the target media stream during the second cycle.
[0256] In one possible implementation, when the experience evaluation device 1000 is applied to the analyzer, the transceiver module 1002 is used to receive first and second statistical information from a network device deployed in the forwarding path of the target media stream.
[0257] In one possible implementation, when the experience evaluation device 1000 is applied to a network device, the processing module 1001 is used to perform statistical analysis on M target indicators of packets in the target media stream forwarded by the network device in a first period to obtain first statistical information; and to perform statistical analysis on the M target indicators of packets in the target media stream forwarded by the network device in a second period to obtain second statistical information. The network device is deployed in the forwarding path of the target media stream.
[0258] In one possible implementation, when the experience evaluation device 1000 is applied to a network device, the processing module 1001 is used to acquire first and second statistical information of the target media stream. The first statistical information is obtained by statistically analyzing M target indicators of the target media stream within a first period, and the second statistical information is obtained by statistically analyzing M target indicators of the target media stream within a second period. The target indicators are used to identify the weak network resistance strength of the target media stream. Weak network resistance refers to the behavior used to protect the experience of the target media stream when network performance deteriorates. The first and second periods are adjacent in the time domain. The target media stream includes target application audio streams or target application video streams, and M is an integer greater than or equal to 1. The transceiver module 1002 is used to send the first and second statistical information. The network device periodically acquires statistical information of M target indicators that can indicate the weak network resistance strength and sends the statistical information of each period to the analyzer, so that the analyzer can determine whether the experience of the target application stream has deteriorated based on the changes in the statistical information of adjacent periods. Based on the statistical information of M target indicators in each period, the analyzer can more accurately evaluate the experience of the target application stream.
[0259] In one possible implementation, the transceiver module 1002 is used to send first and second statistical information via a network telemetry protocol or a simple network management protocol.
[0260] like Figure 11 As shown, Figure 11 This is a schematic diagram of another experience evaluation device provided in this application. In this embodiment, the experience evaluation device 1100 may be... Figure 2a or Figure 2b Network devices within. Alternatively, the experience evaluation device 1100 can be used for... Figure 2a or Figure 2b The analyzer in the program.
[0261] The experience evaluation device 1100 includes a bus 1101, a processor 1102, a communication interface 1103, and a memory 1104. The processor 1102, the memory 1104, and the communication interface 1103 communicate with each other via the bus 1101.
[0262] Bus 1101 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 11 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0263] The processor 1102 can be any one or more of the following processors: central processing unit (CPU), graphics processing unit (GPU), microprocessor (MP), or digital signal processor (DSP).
[0264] Memory 1104 may include volatile memory, such as random access memory (RAM). Memory 1104 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0265] The memory 1104 can be used to store software code related to the experience evaluation method, and the processor 1102 can execute the steps of the experience evaluation method and can also schedule other units to achieve the corresponding functions.
[0266] It should be understood that the experience evaluation device 1100 can be a centralized or distributed device, and the processor 1102 in the experience evaluation device 1100 can be a hardware circuit (such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a general-purpose processor, a digital signal processor (DSP), a microprocessor or a microcontroller, etc.) or a combination of these hardware circuits. For example, the processor can be a hardware system with instruction execution capabilities, such as a CPU or a DSP, or a hardware system without instruction execution capabilities, such as an ASIC or an FPGA, or a combination of the aforementioned hardware systems without instruction execution capabilities and hardware systems with instruction execution capabilities.
[0267] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a computer, implements the experience evaluation method flow of the above-described method embodiments.
[0268] Those skilled in the art will clearly 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.
[0269] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a computer, implements the experience evaluation method flow of the above-described method embodiments.
[0270] Those skilled in the art will clearly 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.
[0271] In the several 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 apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between devices or units, and may be electrical or other forms.
[0272] The units described as discrete 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.
[0273] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0274] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the technical solution of this application can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. An experience evaluation method, characterized in that, The method includes: First and second statistical information of the target media stream are obtained. The first statistical information is obtained by statistically analyzing M target indicators of the target media stream within a first period. The second statistical information is obtained by statistically analyzing the M target indicators of the target media stream within a second period. The target indicators are indicators used to identify the weak network resistance strength of the target media stream. The weak network resistance is the behavior used to ensure the experience of the target media stream when network performance deteriorates. The first period and the second period are adjacent periods in the time domain. The target media stream includes target application audio stream or target application video stream. M is an integer greater than or equal to 1. Based on the first statistical information and the second statistical information, determine whether the target media stream experiences experience degradation during the second period.
2. The method according to claim 1, characterized in that, The M target indicators include at least one of the following: maximum number of redundant messages, average message length, or maximum time interval. The maximum number of redundant packets is the number of redundant packets corresponding to the packet with the most redundancy among the packets of the target media stream forwarded by the network device within a period. The average message length is the average length of the messages of the target media stream forwarded by the network device within one period; The maximum time interval is the largest time interval between any two adjacent messages of the target media stream within a period.
3. The method according to claim 1 or 2, characterized in that, The first statistical information includes first statistical values corresponding to the M target indicators, and the second statistical information includes second statistical values corresponding to the M target indicators. The first period is earlier than the second period. Determining whether the target media stream experiences experience degradation in the second period based on the first and second statistical information includes: In response to the fact that the growth value of the second statistical value corresponding to the first indicator and the first statistical value corresponding to the first indicator is greater than or equal to the first threshold, it is determined that the target media stream has a degraded experience in the second period, where the first indicator is one of the M target indicators.
4. The method according to any one of claims 1 to 3, characterized in that, The first statistical information includes first statistical values corresponding to the M target indicators, and the second statistical information includes second statistical values corresponding to the M target indicators. The first period is earlier than the second period. Determining whether the target media stream experiences experience degradation in the second period based on the first and second statistical information includes: In response to the second statistical value corresponding to the second indicator being greater than the first statistical value corresponding to the second indicator, and the second statistical value corresponding to the second indicator being greater than or equal to the second threshold, it is determined that the target media stream has experience degradation in the second period, wherein the larger the statistical value corresponding to the second indicator, the lower the experience quality, and the second indicator is one of the M target indicators.
5. The method according to claim 3 or 4, characterized in that, The method further includes: In response to the fact that the increase of the second statistical value and the first statistical value corresponding to each of the M target indicators is less than a first threshold, and the second statistical value corresponding to each target indicator is less than a second threshold, it is determined that the target media stream does not have experience degradation in the second period.
6. The method according to claim 1 or 2, characterized in that, M is greater than or equal to 2, the first statistical information includes the first statistical values corresponding to the M target indicators, the second statistical information includes the second statistical values corresponding to the M target indicators, the first period is earlier than the second period, and determining whether the target media stream experiences experience degradation in the second period based on the first statistical information and the second statistical information includes: A first comprehensive value is obtained based on the first statistical information. The first comprehensive value is obtained by weighted summation of the first statistical values corresponding to the M target indicators. The second comprehensive value is obtained based on the second statistical information. The second comprehensive value is obtained by weighted summation of the second statistical values corresponding to the M target indicators. In response to the fact that the increase in the second comprehensive value and the first comprehensive value is greater than or equal to a third threshold, it is determined that the target media stream has a degraded experience in the second period, and the larger the comprehensive value, the lower the experience quality. In response to the fact that the increase in the second composite value and the first composite value is less than a third threshold, it is determined that the target media stream does not experience degradation in the second period.
7. The method according to any one of claims 3-6, characterized in that, The method further includes: In response to a degraded experience in the target media stream during the second period, an alarm message is sent, indicating that the target media stream has a degraded experience during the second period.
8. The method according to any one of claims 1 to 7, characterized in that, The method is applied to an analyzer, and the acquisition of the first and second statistical information of the target media stream includes: The system receives the first and second statistical information from a network device deployed in the forwarding path of the target media stream.
9. The method according to any one of claims 1 to 7, characterized in that, The method is applied to a network device deployed in the forwarding path of the target media stream. The acquisition of the first and second statistical information of the target media stream includes: The first statistical information is obtained by statistically analyzing M target indicators of packets in the target media stream forwarded by the network device within the first period; The second statistical information is obtained by statistically analyzing M target indicators of packets in the target media stream forwarded by the network device during the second period.
10. An experience evaluation method, characterized in that, Applied to network devices, the method includes: First and second statistical information of the target media stream are obtained. The first statistical information is obtained by statistically analyzing M target indicators of the target media stream within a first period. The second statistical information is obtained by statistically analyzing the M target indicators of the target media stream within a second period. The target indicators are indicators used to identify the weak network resistance strength of the target media stream. The weak network resistance is the behavior used to ensure the experience of the target media stream when network performance deteriorates. The first period and the second period are adjacent periods in the time domain. The target media stream includes target application audio stream or target application video stream. M is an integer greater than or equal to 1. Send the first statistical information and the second statistical information.
11. The method according to claim 10, characterized in that, The M target indicators include at least one of the following: maximum number of redundant messages, average message length, and maximum time interval; The maximum number of redundant packets is the number of redundant packets corresponding to the packet with the most redundancy among the packets of the target media stream forwarded by the network device within a period. The average message length is the average length of the messages of the target media stream forwarded by the network device within one period; The maximum time interval is the largest time interval between any two adjacent messages of the target media stream within a period.
12. The method according to claim 10 or 11, characterized in that, Sending the first statistical information and the second statistical information includes: The first and second statistical information are sent via the Telemetry protocol or the Simple Network Management Protocol.
13. An experience assessment device, characterized in that, The device includes a module for implementing any one of claims 1 to 12.
14. An experience assessment device, characterized in that, Including processor and memory: The processor is configured to execute a computer program or instructions stored in the memory, wherein when the processor executes the computer program or instructions, the method described in any one of claims 1 to 12 is performed.
15. A chip, characterized in that, The method includes a processor coupled to a memory for executing a computer program or instructions stored in the memory, wherein when the processor executes the computer program or instructions, the method described in any one of claims 1 to 12 is performed.
16. A computer-readable storage medium, characterized in that, The computer stores instructions that, when executed on the computer, cause the computer to perform the method as described in any one of claims 1 to 12.
17. A computer program product, characterized in that, The device stores computer-readable instructions that, when read and executed by the experience evaluation device, cause the experience evaluation device to perform the method as described in any one of claims 1 to 12.