Service quality optimization method and electronic equipment
By adjusting the bit rate and resolution of non-file transmission services, limiting the bandwidth of file transmission services, and optimizing the bandwidth allocation of multi-device systems, the problem of unreasonable bandwidth allocation in multiple devices and multi-service scenarios is solved, and the service quality and experience quality of delay-sensitive services are improved.
Patent Information
- Application Number
- CN202311867161.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-29
- Publication Date
- 2025-07-08
AI Technical Summary
In multi-device and multi-service scenarios, how to reasonably allocate resources under limited network bandwidth to ensure that delay-sensitive services obtain sufficient bandwidth, avoid waiting in line, and improve the quality of business experience.
By adjusting the code rate, frame rate and resolution of non-file transmission services, and combining the bandwidth limitations of file transmission services, bandwidth allocation in multi-device systems is optimized to ensure the service quality and experience quality that is sensitive to delay.
It effectively solves the lag and delay problems caused by unreasonable bandwidth allocation, ensures the service quality and experience quality of non-file transmission services, and improves the overall performance of the system.
Smart Images

Figure CN120282156A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technologies, and in particular, to a method for optimizing quality of service and an electronic device. Background Art
[0002] In the scenario of near-field communication, multiple devices, such as one or more mobile phones, tablet computers, personal computers, large-screen devices (such as televisions), etc., need to concurrently transmit various service data under limited network bandwidth. Exemplarily, at the same moment, some devices are performing large file transfers, and some devices are doing high-definition video transmissions. At this time, it is necessary to reasonably allocate broadband resources through a Quality of Service (QoS) mechanism to ensure the orderly progress of data communication.
[0003] In order to ensure that latency-sensitive services can obtain sufficient bandwidth for transmission in a multi-device and multi-service scenario and avoid queuing waiting for such services, a bandwidth adjustment and optimization mechanism is required to improve the experience of such services. Summary of the Invention
[0004] The present application provides a method for optimizing quality of service and an electronic device. When the QoE parameter of a non-file transfer service deteriorates and the available bandwidth of the file transfer service is insufficient, the bit rate, etc. of the non-file transfer service are adjusted to ensure the QoS and QoE of latency-sensitive services in a multiple-device system.
[0005] In a first aspect, an embodiment of the present application provides an optimization method for quality of service QoS, which is applied to a first electronic device. The method includes:
[0006] Obtain first service information and link information of a first link. The first link carries a first service with the first electronic device as the sending end. The first service information includes the service type of the first service, and the service type of the first service is a non-file transfer service. The link information of the first link includes the identifier of the first channel;
[0007] Receive second service information and link information of a second link sent by a second electronic device. The second link carries a second service with the second electronic device as the sending end. The second service information includes the service type of the second service, and the link information of the second link includes the identifier of the second channel; The first channel and the second channel are the same channel, or the first channel and the second channel are two channels in the same frequency band;
[0008] When it is detected that the quality of experience QoE of the first service satisfies a first condition, the service type of the second service is a file transfer service, and the available bandwidth of the file transfer service is less than or equal to a first threshold, at least one of the bit rate, frame rate, and resolution of the first service is adjusted downward.
[0009] Among them, the first highest effective rate is the highest effective rate of the first link. The second highest effective rate is the highest effective rate of the second link.
[0010] By performing the above method, by collecting the link information of the links in multiple electronic devices and the service information of the services, to determine the available bandwidth of the file transfer service by combining the link information of the links in multiple electronic devices and the service information of the services. When the QOE parameter of the first service deteriorates, if the available bandwidth is insufficient and there is no optimization space, at least one of the bit rate, frame rate, and resolution of the first service is adjusted to achieve the combination of restricting the bandwidth of the file transfer service in the multi-device system and adjusting the bit rate, resolution, or frame rate of the service, thereby ensuring the QOS and QOE of the services sensitive to delay in the system of multiple devices.
[0011] In this application, the above multi-device system is also referred to as a QOS system.
[0012] Combined with the first aspect, in a possible implementation, the method further includes: when it is detected that the QOE parameter of the first service meets the first condition and the service type of the second service is a non-file transfer service, at least one of the bit rate, frame rate, and resolution of the first service is adjusted.
[0013] For the above method, when the QOE parameter of the first service deteriorates and the QOS system does not include a file transfer service, there is no optimization space for QOS. At this time, the bit rate, etc. of the first service are adjusted to ensure the QOE of the first service.
[0014] Combined with the first aspect, in a possible implementation, the first service information further includes the required bandwidth of the first service, the link information of the first link further includes the first highest effective rate, the link information of the second link further includes the second highest effective rate, and the method further includes:
[0015] When it is detected that the quality of experience QOE parameter of the first service meets the first condition, the service type of the second service is a file transfer service, and the available bandwidth of the file transfer service is greater than the first threshold, a first speed limit value of the second service is determined based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate. The first speed limit value is used to determine the first bandwidth value of the service data of the second service, and the first bandwidth value is less than or equal to the first speed limit value.
[0016] For the above method, when the QOE parameter of the first service deteriorates and the available bandwidth of the file transfer service is greater than the first threshold (that is, the multi-device system has optimization space), the file transfer service is speed-limited to ensure the bandwidth requirements of the non-file transfer services sensitive to delay, thereby reducing or eliminating stuttering or delay.
[0017] Optionally, an implementation of determining the first rate limit value of the second service based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate by the first electronic device may be: determining the total time ratio of non-file transfer services based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate; determining the total time ratio of file transfer services based on the total time ratio of non-file transfer services; determining the time ratio of each file transfer service based on the total time ratio of file transfer services and the number of file transfer services; determining the first rate limit value based on the time ratio of each file transfer service and the second highest effective rate.
[0018] In the above method, by rate-limiting file transfer services, the bandwidth requirements of non-file transfer services are preferentially guaranteed to ensure the QOS of non-file transfer services.
[0019] Optionally, the total time ratio of file transfer services may also be determined based on the total time ratio of non-file transfer services, and the total time ratio of non-file transfer services may be determined based on the optimization coefficient. This way of determining file transfer services can reduce the occurrence of stuttering or latency of non-file transfer services based on the redundant bandwidth set for non-file transfer services.
[0020] Optionally, a third service with the first electronic device as the sender is also carried on the first link, and the first service information further includes the service type of the third service. The service type of the third service is a file transfer service. The method may further include:
[0021] Determining the second rate limit value of the third service based on the time ratio of each file transfer service and the first highest effective rate;
[0022] Transmitting the service data of the third service through the first link at a second bandwidth value, where the second bandwidth value is less than or equal to the second rate limit value.
[0023] Optionally, a fourth service with the second electronic device as the sender is also carried on the second link, and the second service information further includes the service type and the required bandwidth of the fourth service. The service type of the fourth service is a non-file transfer service;
[0024] An implementation of the first electronic device determining the total time ratio of non-file transfer services based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate may specifically include: determining the total time ratio of non-file transfer services based on the first highest effective rate, the required bandwidth of the first service, the second highest effective rate, and the required bandwidth of the fourth service.
[0025] Combined with the first aspect, in a possible implementation, before the first electronic device obtains the first service information and the link information of the first link, the method further includes:
[0026] It is detected that the QOE parameter of the first service meets the first condition;
[0027] When it is detected that the QOE parameter of the first service meets the first condition and the service type of the second service is a file transfer service, determine the available bandwidth based on the current required bandwidth of the first service, the current maximum effective rate of the first link, the current maximum effective rate of the first link, and the current maximum effective rate of the second link, or determine the available bandwidth based on the current speed limit value of the second service, the current maximum effective rate of the first link, and the current maximum effective rate of the second link;
[0028] Obtaining the first service information and the link information of the first link includes: when the available bandwidth is greater than the first threshold, obtaining the first service information and the link information of the first link.
[0029] In the above method, when the first electronic device detects that the QOE parameter of the first service meets the first condition, it first determines whether the available bandwidth is greater than the first threshold, and when it is greater than the first threshold, it updates the service information and link information of multiple devices to reduce the communication overhead occupied by information update.
[0030] Optionally, the available bandwidth is determined based on the current total time ratio of the file transfer service and the current maximum effective rate of the first link; or, the available bandwidth is determined based on the current total time ratio of the file transfer service, the minimum total time ratio of the file transfer service, and the current maximum effective rate of the first link;
[0031] Among them, the current total time ratio of the file transfer service is determined based on the current speed limit value of the second service, the current maximum effective rate of the second link, and the optimization coefficient; or the current total time ratio of the file transfer service is determined based on the current required bandwidth of the first service, the current maximum effective rate of the first link, the current maximum effective rate of the second link, and the optimization coefficient;
[0032] The first threshold is determined based on the minimum speed limit value of the second service and the current maximum effective rate of the second link; or, the first threshold is determined based on the number of file transfer services and the minimum time ratio of the file transfer service.
[0033] The above method provides a method for estimating the available bandwidth, which can determine the available bandwidth of the file transfer service based on the service information, link information or file speed limit value of the most recent system.
[0034] Combined with the first aspect, in a possible implementation, before the first electronic device obtains the first service information and the link information of the first link, it may also: detect that the QOE parameter of the first service meets the first condition;
[0035] One implementation of the first electronic device obtaining the first service information and the link information of the first link may include: when detecting that the QOE parameter of the first service meets the first condition, obtaining the first service information and the link information of the first link;
[0036] After the first electronic device obtains the first service information and the link information of the first link, and receives the second service information and the link information of the second link sent by the second electronic device, it may further: determine the available bandwidth based on the total time ratio of the file transfer service.
[0037] In the above method, when the first electronic device detects that the QOE parameter of the first service meets the first condition, it first judges the update information, and then judges whether the available bandwidth determined based on the updated information is greater than the first threshold. This judgment can better represent the state of the current system and is more accurate.
[0038] Optionally, the available bandwidth is determined based on the total time ratio of the file transfer service and the first highest effective rate; or, the available bandwidth is determined based on the total time ratio of the file transfer service, the minimum total time ratio of the file transfer service, and the first highest effective rate;
[0039] The first threshold is determined based on the minimum speed limit value of the second service, the second highest effective rate, and the optimization coefficient; or, the first threshold is determined based on the number of file transfer services, the minimum time ratio of the file transfer service, and the optimization coefficient.
[0040] The above method provides a method for estimating the available bandwidth, which can update the service information, link information or file speed limit value of the system in a timely manner to obtain a more accurate available bandwidth for the file transfer service.
[0041] Optionally, the QOE parameter is the duration of stuttering or the stuttering level. The greater the stuttering duration of the first service or the stuttering duration corresponding to the stuttering level of the first service, the greater the optimization coefficient; or,
[0042] The QOE parameter is the duration of delay or the delay level. The greater the delay duration of the first service or the stuttering duration corresponding to the delay level of the first service, the greater the optimization coefficient.
[0043] It should be understood that when the optimization coefficient is too small, the bandwidth that can be released by the optimization is limited, and one QoS optimization may not be sufficient to eliminate the stuttering or delay of the first service. In the above method, different optimization coefficients are set based on the severity of stuttering and delay. The more severe the stuttering and delay are, the greater the optimization coefficient is, so that the number of QoS optimizations can be reduced and the efficiency of QoS optimization can be improved.
[0044] Combined with the first aspect, in a possible implementation, the method further includes:
[0045] Send the first service information, the link information of the first link, and a notification to the second electronic device, where the notification is used to indicate that the QOE parameter of the first service meets the first condition.
[0046] The above method provides a distributed QoS optimization method, enabling the second electronic device to also collect the link information of the links and the service information of the services in multiple electronic devices, so as to reasonably allocate bandwidth by combining the link information of the links and the service information of the services in multiple electronic devices.
[0047] In combination with the first aspect, in a possible implementation, the method further includes:
[0048] Send an update instruction to the second electronic device, where the update instruction is used to obtain the second service information and the link information of the second link;
[0049] Send a first speed limit value to the second electronic device.
[0050] The above method provides a centralized optimization method. The first electronic device uniformly calculates the speed limit values of the file transfer services in multiple electronic devices, eliminating the need for each electronic device to calculate the speed limit values, which not only reduces communication overhead but also improves the QoS optimization efficiency.
[0051] In combination with the first aspect, in a possible implementation, the first link is the link between the first electronic device and the second electronic device, and the second link is the link between the second electronic device and the third electronic device.
[0052] In combination with the first aspect, in a possible implementation, the first link is the link between the first electronic device and the third electronic device, and the second link is the link between the second electronic device and the third electronic device.
[0053] In combination with the first aspect, in a possible implementation, the first link is the link between the first electronic device and the third electronic device, and the second link is the link between the first electronic device and the second electronic device.
[0054] In combination with the first aspect, in a possible implementation, the first link is the link between the first electronic device and the third electronic device, and the second link is the link between the second electronic device and the fourth electronic device.
[0055] In a second aspect, an embodiment of the present application further provides a quality of service optimization method, which is applied to a second electronic device. The method includes:
[0056] Obtain the second service information and the link information of the second link. The second service is carried on the second link with the second electronic device as the sender. The second service information includes the service type of the second service, and the link information of the second link includes the second highest effective rate and the identifier of the second channel;
[0057] Send the second service information and the link information of the second link to the first electronic device; the first electronic device is used to obtain the first service information and the link information of the first link. The first service is carried on the first link with the first electronic device as the sending end. The first service information includes the service type and the required bandwidth of the first service. The service type of the first service is a non-file transfer service. The link information of the first link includes the first highest effective rate and the identifier of the first channel; the first channel and the second channel are the same channel, or the first channel and the second channel are two channels in the same frequency band; the required bandwidth of the first service, the first highest effective rate, and the second highest effective rate are used to calculate the first rate limit value of the second service when the quality of experience QOE of the first service meets the first condition, the second service is a file transfer service, and the available bandwidth of the file transfer service is greater than the first threshold;
[0058] Transmit the service data of the second service through the second link at the first bandwidth value, and the first bandwidth value is less than or equal to the first rate limit value.
[0059] Combined with the second aspect, in a possible implementation, the method further includes:
[0060] Receive the first service information and the link information of the first link from the first electronic device;
[0061] When the quality of experience QOE of the first service meets the first condition, the service type of the second service is a file transfer service, and the available bandwidth of the file transfer service is greater than the first threshold, determine the first rate limit value of the second service based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate.
[0062] Combined with the second aspect, in a possible implementation, a possible implementation of the second electronic device determining the first rate limit value of the second service based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate can be:
[0063] Determine the total time proportion of the non-file transfer service based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate; determine the total time proportion of the file transfer service based on the total time proportion of the non-file transfer service; determine the time proportion of each file transfer service based on the total time proportion of the file transfer service and the number of file transfer services; determine the first rate limit value based on the time proportion of each file transfer service and the second highest effective rate.
[0064] In a possible implementation, a third service with the first electronic device as the sender is also carried on the first link. The first service information further includes the service type of the third service, and the service type of the third service is a file transfer service. A fourth service with the second electronic device as the sender is also carried on the second link. The second service information further includes the service type and the required bandwidth of the fourth service, and the service type of the fourth service is a non-file transfer service;
[0065] Determine the total time ratio of the non-file transfer service based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate, specifically including: determine the total time ratio of the non-file transfer service based on the first highest effective rate, the required bandwidth of the first service, the required bandwidth of the fourth service, and the second highest effective rate;
[0066] The method further includes: determine the second speed limit value of the third service based on the time ratio of each file transfer service and the first highest effective rate;
[0067] Transmit the service data of the third service through the first link at a second bandwidth value, and the second bandwidth value is less than or equal to the second speed limit value.
[0068] Combined with the second aspect, in a possible implementation, before the second electronic device obtains the second service information and the link information of the second link, the method further includes:
[0069] Receive a notification from the first electronic device, and the notification includes information for indicating that the QOE parameter of the first service meets the first condition;
[0070] When the notification is used to indicate that the QOE parameter of the first service meets the first condition, and the service type of the second service is a file transfer service, determine the available bandwidth based on the current required bandwidth of the first service, the current highest effective rate of the first link, and the current highest effective rate of the second link, or determine the available bandwidth based on the current speed limit value of the second service and the current highest effective rate of the second link;
[0071] Obtaining the second service information and the link information of the second link includes: when the available bandwidth is greater than the first threshold, obtain the second service information and the link information of the second link.
[0072] Optionally, the available bandwidth is determined based on the current total time ratio of the file transfer service and the current highest effective rate of the first link; or, the available bandwidth is determined based on the current total time ratio of the file transfer service, the minimum total time ratio of the file transfer service, and the current highest effective rate of the first link;
[0073] Among them, the current total time proportion of the file transfer service is determined based on the current speed limit value of the second service, the current maximum effective rate of the second link, and the optimization coefficient; or the current total time proportion of the file transfer service is determined based on the current required bandwidth of the first service, the current maximum effective rate of the first link, the current maximum effective rate of the second link, and the optimization coefficient;
[0074] The first threshold is determined based on the minimum speed limit value of the second service and the current maximum effective rate of the second link; or, the first threshold is determined based on the number of file transfer services and the minimum time proportion of the file transfer service.
[0075] Combined with the second aspect, in a possible implementation, before the second electronic device acquires the second service information and the link information of the second link, the method further includes:
[0076] Receiving first information from the first electronic device, where the first information is used to indicate that the QOE parameter of the first service satisfies the first condition;
[0077] Acquiring the second service information and the link information of the second link, specifically including: when the first information indicates that the QOE parameter of the first service satisfies the first condition, acquiring the second service information and the link information of the second link;
[0078] After sending the second service information and the link information of the second link to the first electronic device, the method further includes: determining the available bandwidth based on the required bandwidth of the first service, the first maximum effective rate, and the second maximum effective rate.
[0079] Optionally, a possible implementation for the second electronic device to determine the available bandwidth based on the required bandwidth of the first service, the first maximum effective rate, and the second maximum effective rate may be:
[0080] Determining the total time proportion of non-file transfer services based on the required bandwidth of the first service, the first maximum effective rate, and the second maximum effective rate;
[0081] Determining the total time proportion of file transfer services based on the total time proportion of non-file transfer services;
[0082] Determining the available bandwidth based on the total time proportion of file transfer services.
[0083] Optionally, the available bandwidth is determined based on the total time proportion of file transfer services and the first maximum effective rate; or, the available bandwidth is determined based on the total time proportion of file transfer services, the minimum total time proportion of the file transfer service, and the first maximum effective rate;
[0084] The first threshold is determined based on the minimum speed limit value of the second service, the second highest effective rate, and an optimization coefficient; or, the first threshold is determined based on the number of file transfer services, the minimum time occupancy ratio of the file transfer services, and an optimization coefficient.
[0085] Optionally, the QOE parameter is the duration of stuttering or the stuttering level. The greater the stuttering duration of the first service or the stuttering duration corresponding to the stuttering level of the first service, the greater the optimization coefficient; or,
[0086] The QOE parameter is the latency duration or the latency level. The greater the latency duration of the first service or the stuttering duration corresponding to the latency level of the first service, the greater the optimization coefficient.
[0087] Combined with the second aspect, in a possible implementation, the method further includes:
[0088] Receiving an update instruction from a first electronic device; the update instruction is used to obtain second service information and link information of a second link;
[0089] Receiving a first speed limit value from the first electronic device.
[0090] Combined with the second aspect, in a possible implementation, the first link is a link between a first electronic device and a second electronic device, and the second link is a link between the second electronic device and a third electronic device.
[0091] Combined with the second aspect, in a possible implementation, the first link is a link between a first electronic device and a third electronic device, and the second link is a link between a second electronic device and a third electronic device.
[0092] Combined with the second aspect, in a possible implementation, the first link is a link between a first electronic device and a third electronic device, and the second link is a link between the first electronic device and a second electronic device.
[0093] Combined with the second aspect, in a possible implementation, the first link is a link between a first electronic device and a third electronic device, and the second link is a link between a second electronic device and a fourth electronic device.
[0094] It should be understood that for the beneficial effects of the method in the above second aspect or any possible implementation of the second aspect, reference can be made to the beneficial effects of the above first aspect or any possible implementation of the first aspect, which will not be elaborated here.
[0095] In a third aspect, an embodiment of the present application provides an electronic device, including: a memory, and one or more processors; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to cause the electronic device to execute the method performed by the first electronic device in the first aspect or any one of the implementation manners of the first aspect.
[0096] In a fourth aspect, an embodiment of the present application provides an electronic device, including: a memory, and one or more processors; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to cause the electronic device to execute the method performed by the second electronic device in the second aspect or any one of the implementation manners of the second aspect.
[0097] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, including instructions, when the instructions run on an electronic device, causing the electronic device to execute the method performed by the first electronic device in the first aspect or any one of the implementation manners of the first aspect.
[0098] In a sixth aspect, an embodiment of the present application provides a computer program product, when the computer program product runs on a computer, causing the computer to execute the method performed by the second electronic device in the first aspect or any one of the implementation manners of the first aspect.
[0099] In a seventh aspect, an embodiment of the present application provides a chip system, the chip system includes at least one processor, and is used to implement the method performed by the first electronic device in the first aspect or any one of the implementation manners of the first aspect.
[0100] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, including instructions, when the instructions run on an electronic device, causing the electronic device to execute the method performed by the second electronic device in the second aspect or any one of the implementation manners of the second aspect.
[0101] In a ninth aspect, an embodiment of the present application provides a computer program product, when the computer program product runs on a computer, causing the computer to execute the method performed by the second electronic device in the second aspect or any one of the implementation manners of the second aspect.
[0102] In a tenth aspect, an embodiment of the present application provides a chip system, the chip system includes at least one processor, and is used to implement the method performed by the second electronic device in the second aspect or any one of the implementation manners of the second aspect.
[0103] It should be understood that for the beneficial effects of the methods in the above third aspect to the tenth aspect or any possible implementation thereof, reference can be made to the beneficial effects of the above first aspect or any possible implementation of the first aspect, which will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0104] Figure 1A FIG. is a schematic structural diagram of a communication system provided by an embodiment of the present application;
[0105] Figure 1B FIG. is a schematic structural diagram of another communication system provided by an embodiment of the present application;
[0106] Figure 2 A centralized QOS optimization solution provided by the present application is schematically described;
[0107] Figure 3 FIG. is a schematic hardware structure diagram of an electronic device provided by an embodiment of the present application;
[0108] Figure 4 FIG. is a software and hardware architecture of an electronic device provided by an embodiment of the present application;
[0109] Figure 5 FIG. is an application scenario of a QOS system provided by an embodiment of the present application;
[0110] Figure 6A FIG. is a schematic flowchart of a QOS optimization method involved when creating a screen mirroring service from device A to device B provided by an embodiment of the present application;
[0111] Figure 6B FIG. is a schematic flowchart of a QOS optimization method involved when creating a voice call service between device A and device B provided by an embodiment of the present application;
[0112] Figure 6C FIG. is a schematic flowchart of a QOS optimization method involved when creating a file sharing service on device A provided by an embodiment of the present application;
[0113] Figures 7A - 7D FIG. is a schematic diagram of some user interfaces involved in creating a screen mirroring service provided by an embodiment of the present application;
[0114] Figures 7E - 7F FIG. is a schematic diagram of some user interfaces involved in creating a voice call service provided by an embodiment of the present application;
[0115] Figures 7G - 7H FIG. is a schematic diagram of some user interfaces involved in creating a file sharing service provided by an embodiment of the present application;
[0116] Figure 8Schematic flow diagram of a QoS optimization method caused by changes in WiFi transmission rate provided by an embodiment of the present application;
[0117] Figure 9 Schematic flow diagram of a QoS optimization process caused by closing a service provided by an embodiment of the present application;
[0118] Figure 10 Schematic flow diagram of a QoS optimization method caused by lag provided by an embodiment of the present application;
[0119] Figure 11 Schematic flow diagram of a QoS optimization method caused by latency provided by an embodiment of the present application;
[0120] Figure 12 Schematic flow diagram of another QoS optimization method caused by deterioration of QoE parameters provided by an embodiment of the present application;
[0121] Figure 13 Schematic flow diagram of a QoS optimization method caused by improvement of QoE parameters provided by an embodiment of the present application;
[0122] Figure 14 Schematic flow diagram of a centralized QoS optimization method provided by an embodiment of the present application;
[0123] Figure 15 Schematic flow diagram of another centralized QoS optimization method provided by an embodiment of the present application;
[0124] Figure 16 Schematic flow diagram of a method for calculating remaining bandwidth and determining whether the remaining bandwidth meets service requirements provided by an embodiment of the present application;
[0125] Figure 17 Schematic flow diagram of a process for calculating the speed limit value of a file transfer service provided by an embodiment of the present application. Detailed implementation manners
[0126] Next, the technical solutions in the embodiments of the present application will be clearly and elaborately described with reference to the accompanying drawings. Among them, in the description of the embodiments of the present application, unless otherwise specified, " / " means "or". For example, A / B may represent A or B; "and / or" in the text is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of the present application, "a plurality" means two or more than two.
[0127] Hereinafter, the terms "first" and "second" are only used for descriptive purposes and should not be construed as implying or suggesting relative importance or implicitly indicating the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the embodiments of the present application, unless otherwise specified, the meaning of "a plurality" is two or more.
[0128] In the present application, "electronic device" is also abbreviated as "device".
[0129] The method provided by the embodiments of the present application can be applied to scenarios that are sensitive to or have high requirements for time delay, such as scenarios of multiple devices connected via WiFi. In such scenarios, there are file transfer services such as file sharing among multiple devices, and also include one or more of time-delay-sensitive or high-requirement services such as call sharing, notification sharing, keyboard and mouse sharing, PC collaboration, PAD collaboration, screen mirroring, large screen collaboration, screen mirroring / extension, video on demand / live broadcast, etc.
[0130] Figure 1A As shown, it is a schematic structural diagram of a communication system provided by the embodiments of the present application. The communication system may include multiple QOS systems, and each QOS system may include one or more electronic devices. Exemplarily, Figure 1A it includes a first QOS system and a second QOS system. The first QOS system includes a first mobile phone, a second mobile phone, and a notebook. The second QOS system includes a third mobile phone, a fourth mobile phone, a large screen device, and a notebook. Different QOS systems may include the same electronic device, that is, an electronic device may belong to different multiple QOS systems at the same time. Exemplarily, the notebook belongs to the first QOS system and the second QOS system at the same time.
[0131] Electronic devices belonging to the same QOS system can establish at least one link. A link is a data transmission channel from a first device to a second device for transmitting service data. Links in the same QOS system operate on the same channel or the same frequency band.
[0132] Among them, the same frequency band means the same 2.4 GHz, 5 GHz or other frequency bands. A frequency band can include multiple channels. Exemplarily, the available channels of an indoor access point (AP) in the 5 GHz frequency band can be divided into 13 channels such as 36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165. The same channel in this application can be any channel provided by the above 2.4 GHz or 5.0 GHz or other frequency bands. Taking the short-range communication method as wireless fidelity (WiFi) as an example, the links in a QoS system working on the same channel can mean that the links established between multiple electronic devices in a QoS system can work under the same local area network, that is, belong to the same basic service set (BSS), or belong to the same extended service set (ESS). Or, some links in a QoS system belong to the same BSS or ESS, some links belong to the WiFi direct connection network, and other links belong to other networks with the same frequency band or the same channel. The links in a QoS system working on the same frequency band can mean that the channels on which the links in the QoS system work belong to the same frequency band, such as belonging to one of the 2.4 GHz, 5 GHz or other frequency bands.
[0133] As Figure 1B shown in the architecture diagram of the communication system, this communication system is illustrated by taking a QoS system as an example.
[0134] Exemplarily, this communication system can include a QoS system composed of multiple electronic devices. The multiple electronic devices can communicate with each other through a short-range communication method and can establish at least one link, and these links work on the same frequency band or the same channel. As Figure 1B shown, the multiple electronic devices can include terminals such as mobile phones (11, 12, and 13), a notebook 15, and a large-screen device 16.
[0135] Taking the example of the first device sending service data (such as data for screen mirroring service) to the second device, the first device can also be called the sending end of the service, and the second device can also be called the receiving end of the service. In one implementation, both the sending end and the receiving end of the service are two devices in the QoS system. In another implementation, the sending end of the service is a device in the above QoS system, and the receiving end of the service can be another device in the above QoS system or a router in the communication system.
[0136] Services are carried on links. The link in the middle can include switching nodes. For example, the link 41 between mobile phone 11 and mobile phone 12 can include a switching node, such as a router; the link in the middle can also not include a switching node, such as for WiFi direct connection, such as the link 42 between mobile phone 13 and laptop 15, the link 44 between mobile phone 14 and large screen device 16, and the link 43 between mobile phone 13 and large screen device 16.
[0137] The services running in the application layer can be divided into three service types, including real-time services, delay-sensitive services, and file transfer services. In some other embodiments, it can also be divided into 2 service types, such as file transfer services and non-file transfer services. Among them, non-file transfer services include real-time services and delay-sensitive services. The following briefly introduces these 3 service types:
[0138] (1) Real-time services: Generate data to be transmitted at a fixed period. For example, the screen mirroring service usually generates a video frame every 16 milliseconds. To ensure the real-time transmission of the service, this service usually requires a relatively small average transmission delay.
[0139] (2) Delay-sensitive services: This type of service randomly generates data to be transmitted and has requirements for the average transmission delay of the data.
[0140] (3) File transfer services: When the service is initiated, the content and size of the data to be transmitted can be clearly defined, and there can also be requirements for the data transmission completion time (i.e., the average transmission rate).
[0141] It can be understood that the application layer can identify the service types of each service based on the characteristics of each service above.
[0142] Among them, real-time services can include screen mirroring services, etc., delay-sensitive services can include voice call services, video call services, video on demand services, etc., and file transfer services can include video file transfer services, text file transfer services, image file transfer services, web page transfer services, etc.
[0143] Exemplarily, Figure 1B In, mobile phone 11 and mobile phone 12 make a voice call, and link 41 carries the voice call service V1 sent from mobile phone 11 to mobile phone 12; link 41 also carries the voice call service V2 sent from mobile phone 12 to mobile phone 11. Mobile phone 13 sends a video file to laptop 15 and an image to large screen device 16. Then link 42 carries the file transfer service D1 sent from mobile phone 13 to laptop 15, and link 43 carries the file transfer service D2 sent from mobile phone 13 to large screen device 16; mobile phone 14 mirrors the screen to large screen device 16, and link 44 carries the screen mirroring service P1.
[0144] Above, the services carried by each link are exemplarily shown. It should be understood that one link can carry one or more services.
[0145] In the following embodiments of the present application, the short-range communication is taken as an example of WiFi communication for illustration. It should be understood that in some other embodiments, the above short-range communication method can also be Bluetooth, near field communication (NFC), etc. The above short-range communication method can also include multiple types. Exemplarily, the above links 41, 42, and 43 are established through WiFi and all operate in the 2.4 GHz band, and links 44 and 45 are established through Bluetooth and operate in the 2.4 GHz band.
[0146] It should be understood that the above Figure 1B devices, services, links, etc. are only for exemplary illustration. In some other embodiments, the QOS system may also include more or fewer electronic devices, the types of electronic devices can also be replaced with other devices, and the services between electronic devices can also be other services.
[0147] The above electronic devices can be intelligent terminal devices and can be of various types. The specific types are not limited in the embodiments of the present application. For example, it can be a mobile phone, and can also include a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, a smart screen, a wearable device, an augmented reality (AR) device, a virtual reality (VR) device, an artificial intelligence (AI) device, a car machine, a smart headset, a game console, and can also be an Internet of Things (IOT) device or a smart home device such as a smart TV, etc. Without limitation, it can also be a non-portable terminal device such as a laptop with a touch-sensitive surface or a touch panel, a desktop computer with a touch-sensitive surface or a touch panel, etc.
[0148] Multiple electronic devices operating in the same frequency band or on the same channel share the bandwidth. The bandwidth resources of the same channel are limited, and it is necessary to reasonably allocate the link bandwidth between multiple electronic devices operating on the same channel. In one implementation, an electronic device can sense its own service and allocate bandwidth based on its own service, and cannot sense the services of other devices. It is possible that this electronic device allocates a large amount of bandwidth for its own service. As a result, the service bandwidth of other devices is insufficient and the service transmission cannot be completed. Exemplarily, in combination with the above Figure 1B, there are two file transfer services D1, D2 and a screen mirroring service P3 on the mobile phone 13. If the mobile phone 13 allocates bandwidth only based on its own services, the mobile phone 13 may increase the bandwidth of the file transfer services D1 and D2. Therefore, the optimization strategy of increasing the bandwidth of the file transfer services on the mobile phone 13 will inevitably lead to insufficient bandwidth for the screen mirroring service P1 of the mobile phone 14, the screen mirroring service P2 of the laptop 15, and the voice call services V1, V2 between the mobile phones 11 and 12, resulting in problems such as stuttering and increased latency of the screen mirroring service and the voice call services. It can be seen that this bandwidth allocation method will result in unreasonable bandwidth allocation and cannot guarantee the bandwidth of high-priority services of other devices in the QOS system.
[0149] Therefore, in order to guarantee the service quality of services in the QOS system, the present application provides a QOS optimization method, which collects the link information of the links and the service information of the services in the QOS system to reasonably allocate bandwidth by combining the link information of all links and the service information of the services in the QOS system.
[0150] In the present application, considering that the real-time requirement of the file transfer service is not high and the non-file transfer services (i.e., real-time services or latency-sensitive services) are sensitive to latency, when there are non-file transfer services such as real-time services or latency-sensitive services, the bandwidth requirements of the real-time services or latency-sensitive services are preferentially satisfied to guarantee the QOS of the non-file transfer services.
[0151] However, when the quality of experience (QOE) parameters of the non-file transfer services are poor or change, for example, when there are changes such as stuttering and average latency of the non-file transfer services, QOS optimization may not necessarily solve problems such as stuttering and latency of the services. Among them, the QOE parameter is a parameter that can reflect the subjective feeling of the user about the service performance of the WiFi network, that is, a parameter that can reflect the user experience or user perception, and can be parameters such as stuttering and average latency of the service. Exemplarily, in the QOS system shown above Figure 1B , if the screen mirroring service P2 stutters and the file transfer services D1, D2 are throttled, even if throttled to the minimum throttling value, the stuttering problem of the screen mirroring service P2 may still not be solved.
[0152] Therefore, in order to ensure the quality of service (QoS) and quality of experience (QoE) of non-file services in the QoS system, the present application provides a QoS optimization method, which jointly optimizes QoS through file rate limiting and QoS bitrate adjustment. Specifically, the link information of the link and the service information of the service in the QoS system are collected. When the QoE parameter of the non-file transfer service meets the first condition (also known as decreasing or deteriorating), it is determined whether the QoS system has an optimization space. Specifically, it is first determined whether the file transfer service is included in the QoS system. If so, it is further determined whether the available bandwidth of the file transfer service is greater than the first threshold. If the QoS system includes the file transfer service and the available bandwidth is greater than the first threshold, the QoS system has an optimization space, and the sender of the file transfer service limits the rate of the file transfer service to reallocate bandwidth for the service. If the file transfer service is not included in the QoS system, or the QoS system includes the file transfer service and the available bandwidth is less than or greater than the first threshold, the QoS system does not have an optimization space. At this time, the sender of the non-file transfer service with deteriorated QoE parameter reduces the bitrate of the service with deteriorated QoE parameter to improve the QoE of the service.
[0153] The present application provides two QoS optimization schemes for multiple devices, namely, a distributed scheme and a centralized scheme, which are described as follows.
[0154] First, the QoS optimization scheme for multiple distributed devices provided by the embodiments of the present application is described.
[0155] Distributed:
[0156] When a device (also referred to as the first electronic device) in the QoS system detects that the QoE parameters of its own non-file transfer service (such as the first service) deteriorate, the first electronic device first determines whether the current QoS system includes a file transfer service. When the file transfer service is included and the available bandwidth of the file transfer service is greater than the first threshold, all devices acting as senders in the QoS system collect their own device link information and device service information and send them to other devices. Among them, the device service information of a device includes the service information of the service with the device as the sender, and the device link information of a device includes the link information of the link carrying the service with the device as the sender. Alternatively, each device in the QoS system collects its own device link information and device service information and sends them to other devices. When a device has no service, the information it sends is empty. Thus, the devices in the QoS system can collect the link information of all links in the QoS system and the service information of each service carried by each link, and calculate the speed limit value of the file transfer service based on this, and perform bandwidth allocation for the service it wants to send. Specifically, the devices in the QoS system can calculate the speed limit value of each file transfer service in the QoS system based on the received service information and link information, and then transmit the service data to be transmitted by its own file transfer service at a bandwidth value not greater than the speed limit value to limit the transmission rate of the file transfer service. When the current QoS system does not include a file transfer service, or when the current QoS system includes a file transfer service and the available bandwidth of the file transfer service is less than or equal to the first threshold, the first electronic device estimates and adjusts the bit rate, resolution, or frame rate of the first service based on the QoE parameters of the first service.
[0157] The above method, through multi-device collaborative QoS optimization and joint optimization with QoE, combines limiting the bandwidth of the file transfer service in the QoS system and adjusting the bit rate, resolution, or frame rate of the service to ensure the bandwidth and QoE of the services sensitive to delay in the QoS system.
[0158] In some other embodiments, when the first electronic device detects that the QoE parameters of its own non-file transfer service (such as the first service) deteriorate, it can also first trigger each device in the QoS system to update the service information and link information, and then determine whether the current QoS system includes a file transfer service based on the updated service information and link information, and determine whether the available bandwidth of the file transfer service is greater than the first threshold.
[0159] Among them, the link information of the link includes the identifier of the link, the highest effective rate, and the identifier of the channel on which the link operates, etc. The service information of the service includes the identifier of the service, the required bandwidth, the service type, etc. The service information of the file transfer service may not include the required bandwidth.
[0160] Among them, the identifier of a link is used to distinguish the links in the QoS system, and the identifier of the link can be represented by the identifiers of the two devices that create the link. When there are switching nodes (such as routers) in the link, the identifier of the link can also include the identifier of the switching node. Optionally, the device link information of the device itself can also include the number of links created with this device that operate on the same channel or the same frequency band, so as to facilitate the device receiving the device link information to determine whether it has collected all the required link information.
[0161] The highest effective rate of a link can reflect the highest transmission rate that the link can achieve, and can be determined based on the Modulation and Coding Scheme (MCS) rate of the link. The MCS rate is also called the negotiated rate. For example, it is the MCS rate of this link, or the MCS rate multiplied by a coefficient, where the coefficient is greater than 0 and less than 1, such as 0.7, 0.8, etc.
[0162] It should be understood that when the link contains a switching node (such as a router), if the link is the transmission channel from the first device to the second device through the router, then the highest effective rate of this link is the minimum of the MCS rate between the first device and the router and the MCS rate between the router and the second device, or the minimum value multiplied by a coefficient, where the coefficient is greater than 0 and less than 1, such as 0.5, 0.25, etc.
[0163] The identifier of a service is used to distinguish services in the QoS system, and the identifier of the service can be represented by the identifier of the link carrying the service and the identifier of the service in this link. The identifier of the service in the link is used to distinguish services in the same link. The device service information of the device itself can also include the number of services, so that the device receiving the device service information can determine whether it has collected all the required service information.
[0164] Optionally, when the device sends device link information and device service information, the service information of a service and the link information of the link carrying the service are usually sent together to indicate the link carrying the service.
[0165] Exemplarily, in the above Figure 1BIn the QoS system shown, the notebook 15 detects that the screen mirroring service P2 is stuck. The notebook 15 determines that there are file transfer services D1 and D2 in the current QoS system. When it is determined based on the current speed limit values of D1 and D2 that the available bandwidth of the file transfer service is greater than the first threshold, the notebook 15 sends the device link information of the notebook 15 (the identifier of link 45, the highest effective rate, the identifier of the channel on which it operates) and device service information (the identifier of the screen mirroring service P2, the service type, and the required bandwidth) to other devices in the QoS system, and broadcasts a notification indicating that the screen mirroring service P2 is stuck. In response to this notification, the mobile phone 11 sends the device link information of the mobile phone 11 (including the identifier of link 41, the highest effective rate, the identifier of the channel on which it operates) and device service information (the identifier of the voice call service V1, the service type, and the required bandwidth) to other devices in the QoS system; the mobile phone 12 sends the device link information of the mobile phone 12 (including the identifier of link 41, the highest effective rate, the identifier of the channel on which it operates) and device service information (the identifier of the voice call service V2, the service type, and the required bandwidth) to other devices in the QoS system; the mobile phone 13 sends the device link information of the mobile phone 13 (including the identifier of link 42, the highest effective rate, the identifier of the channel on which it operates, and the identifier of link 43, the highest effective rate, the identifier of the channel on which it operates) and device service information (the identifier and service type of the file transfer service D1, the identifier and service type of the file transfer service D2) to other devices in the QoS system; the mobile phone 14 sends the device link information of the mobile phone 14 (including the identifier of link 44, the highest effective rate, the identifier of the channel on which it operates) and device service information (the identifier of the screen mirroring service P1, the service type, and the required bandwidth) to other devices in the QoS system. Since the large screen device 16 does not have a service that needs to be sent, it does not need to send its own device link information and device service information. Alternatively, although the large screen device 16 does not have a service that needs to be sent, the large screen device 16 can also send device link information and device service information, and in this case, the device link information and device service information can be empty. Each device in the QoS system can collect the link information of all links and the service information of all services in the QoS system. Therefore, based on this, the speed limit value of its own file transfer service can be calculated to limit the speed of its own file transfer service. When the QoS system does not include the file transfer service or when it is determined based on the current speed limit values of D1 and D2 that the available bandwidth of the file transfer service is less than or equal to the first threshold, the notebook 15 estimates the QoE parameters of the screen mirroring service P2 and adjusts the bit rate, resolution, or frame rate of the screen mirroring service P2.
[0166] In some embodiments, a device that only includes a file transfer service, such as the mobile phone 13, needs to calculate the speed limit value of its file transfer service, while other devices do not need to calculate the speed limit value of the file transfer service because they do not include the file transfer service.
[0167] In another implementation, when the laptop 15 detects that the screen mirroring service P2 is stuck, it can first trigger each device in the QOS system to update the link information and service information. Each device (such as mobile phone 11, mobile phone 12, mobile phone 13, mobile phone 14, laptop 15, large screen device 16, etc.) determines whether the QOS system includes a file transfer service and determines the available bandwidth of the file transfer service based on the link information of each link and the service information of each service in the updated QOS system. When the QOS system includes a file transfer service and the available bandwidth is greater than the first threshold, calculate the speed limit value of its own file transfer service to limit the speed of the file transfer service. When the QOS system does not include a file transfer service or when the QOS system includes a file transfer service but the available bandwidth is less than or equal to the first threshold, mobile phone 11, mobile phone 12, mobile phone 13, mobile phone 14, and large screen device 16 can end this QOS optimization and wait for the next QOS optimization. When the QOS system does not include a file transfer service or when the QOS system includes a file transfer service but the available bandwidth is less than or equal to the first threshold, the laptop 15 needs to estimate and adjust the bit rate, resolution, or frame rate of the screen mirroring service P2 based on the QOE parameters of the screen mirroring service P2.
[0168] It can be seen that: when the screen mirroring service P2 has a situation where the QOE decreases such as being stuck, if the QOS system includes a file transfer service and the available bandwidth of the file transfer service is greater than the first threshold, that is, it can relieve or eliminate the stuck of the screen mirroring service P2, then limit the speed of the file transfer service to improve the QOE of the screen mirroring service P2. When the QOS system does not include a file transfer service or the available bandwidth of the file transfer service is less than or equal to the first threshold, the laptop 15 estimates and adjusts the bit rate, resolution, or frame rate of the screen mirroring service P2 based on the QOE parameters of the screen mirroring service P2.
[0169] Moreover, the above method can be dynamically adjusted based on the change of QOE parameters, so as to adjust the speed limit value of the file transfer service and the bit rate, resolution, or frame rate of the service in real time under the condition of giving priority to ensuring the QOS and QOE of services sensitive to latency, so as to make full use of communication resources and improve the QOS and QOE of the file transfer service.
[0170] Centralized:
[0171] One device in the QOS system serves as the central control device, and other devices serve as controlled devices. This central control device can not only collect its own device service information and device link information, but also collect the device service information and device link information of other devices, and control the QOS optimization of each device in the QOS system.
[0172] When a device (also referred to as the first electronic device) in the QoS system detects that the QoE parameter of its own non-file transfer service (such as the first service) deteriorates, the first electronic device can send information indicating the QoE reduction of the first service to the central control device. After receiving this information, the central control device first determines whether the QoS system includes a file transfer service. When the file transfer service is included and the available bandwidth of the file transfer service is greater than the first threshold, the central control device collects the device link information and device service information of the devices acting as senders in the QoS system to obtain the link information of all links in the QoS system and the service information of the services carried by each link, and calculates the speed limit value of the file transfer service based on this, and sends the speed limit value of the file transfer service to the sender of the file transfer service. The sender of the file transfer service transmits the service data to be transmitted by the file transfer service with a bandwidth value not greater than the speed limit value to limit the transmission rate of the file transfer service. When the current QoS system does not include a file transfer service, or when the current QoS system includes a file transfer service and the available bandwidth of the file transfer service is less than or equal to the first threshold, the central control device sends a bit rate adjustment instruction to the first electronic device, so that the first electronic device estimates and adjusts the bit rate, resolution or frame rate of the first service in response to the bit rate adjustment instruction.
[0173] It should be understood that the above first electronic device can also be the central control device. In this case, the first electronic device does not need to send information indicating the QoE reduction of the first service to it, and the central control device does not need to send a bit rate adjustment instruction to the first electronic device.
[0174] The above method, through multi-device collaborative QoS optimization and joint optimization with QoS, combines restricting the bandwidth of the file transfer service in the QoS system and adjusting the bit rate, resolution or frame rate of the service to ensure the bandwidth and QoE of the services sensitive to delay in the QoS system.
[0175] In some other embodiments, when the first electronic device detects that the QoE parameter of its own non-file transfer service (such as the first service) deteriorates, when the central control device receives the information indicating the QoE reduction of the first service, it can also first send an update instruction to the controlled device to trigger the update of the service information and link information of the QoS system, and then based on the updated service information and link information, determine whether the current QoS system includes a file transfer service and whether the available bandwidth of the file transfer service is greater than the first threshold.
[0176] As follows in combination with Figure 2 A centralized QoS optimization solution provided by this application is schematically described.
[0177] In the above Figure 2In the QOS system shown, the notebook 15 detects that the screen mirroring service P2 is stuck. Since the notebook 15 is the central control device, it can not send information indicating that the screen mirroring service P2 is stuck to the notebook 15. When the notebook 15 determines that there are file transfer services D1 and D2 in the current QOS system and the available bandwidth of the file transfer service is greater than the first threshold based on the current speed limit values of D1 and D2, etc., the notebook 15 collects its own device link information and device service information and sends an update instruction to other devices in the QOS system. The mobile phones 11, 12, 13, 14 and the large screen device 16 respond to the update instruction and send their own device link information and device service information to the notebook 15 respectively. Furthermore, the notebook 15 collects the device link information (the identifier of link 45, the highest effective rate, the identifier of the channel on which it works) and device service information (the identifier of the screen mirroring service P2, the service type and the required bandwidth) of the notebook 15, the device link information (including the identifier of link 41, the highest effective rate, the identifier of the channel on which it works) and device service information (the identifier of the voice call service V1, the service type and the required bandwidth) of the mobile phone 11, the device link information (including the identifier of link 41, the highest effective rate, the identifier of the channel on which it works) and device service information (the identifier of the voice call service V2, the service type and the required bandwidth) of the mobile phone 12, the device link information (including the identifier of link 42, the highest effective rate, the identifier of the channel on which it works, and the identifier of link 43, the highest effective rate, the identifier of the channel on which it works) and device service information (the identifier and service type of the file transfer service D1, the identifier and service type of the file transfer service D2) of the mobile phone 13, and the device link information (including the identifier of link 44, the highest effective rate, the identifier of the channel on which it works) and device service information (the identifier of the screen mirroring service P1, the service type and the required bandwidth) of the mobile phone 14. Since the large screen device 16 does not include services that need to be sent, it does not need to send its own device link information and device service information. Or, although the large screen device 16 does not include services that need to be sent, the large screen device 16 can also send device link information and device service information, and at this time the device link information and device service information can be empty. The notebook 15 can collect the link information of all links and the service information of all services in the QOS system. Therefore, based on this, the speed limit value of each file transfer service in the QOS system can be calculated, and the speed limit value of the file transfer service is sent to the sending end of the file transfer service. The sending end transmits the service data of the file transfer service at a bandwidth value not greater than the speed limit value to limit the file transfer service. However, when the notebook 15 does not include file transfer services in the QOS system or determines that the available bandwidth of the file transfer service is less than or equal to the first threshold based on the current speed limit values of D1 and D2, etc., the notebook 15 estimates the QOE parameter of the screen mirroring service P2 and adjusts the bit rate, resolution or frame rate of the screen mirroring service P2.
[0178] It should be understood that the above takes the business in the notebook 15 getting stuck as an example to illustrate. In some other embodiments, the device detecting a deterioration of the QOE parameter can also be a controlled device, such as mobile phone 11, mobile phone 12, mobile phone 13, mobile phone 14 or large screen device 16, etc. At this time, when the controlled device detects that the QOE parameter of the non-file transfer service it sends deteriorates, it needs to send information indicating the deterioration of the QOE parameter of the non-file transfer service to the central device, and estimate and adjust the bit rate, resolution or frame rate of the non-file transfer service in response to the bit rate adjustment instruction sent by the notebook 15.
[0179] In another implementation, when the notebook 15 detects that the screen mirroring service P2 is stuck, it can first send an update instruction to mobile phone 11, mobile phone 12, mobile phone 13, mobile phone 14, notebook 15, large screen device 16, etc. to update the link information and service information of the QOS system, and then determine whether it includes a file transfer service and the available bandwidth of the file transfer service based on the link information of each link and the service information of each service in the updated QOS system. When it includes a file transfer service and the available bandwidth is greater than the first threshold, calculate the speed limit value of each file transfer service to limit the speed of the file transfer service. When the QOS system of mobile phone 11, mobile phone 12, mobile phone 13, mobile phone 14 and large screen device 16 does not include a file transfer service or when it includes a file transfer service and the available bandwidth is less than or equal to the first threshold, the current QOS optimization can be ended and wait for the next QOS optimization. When the available bandwidth of the notebook 15 is less than or equal to the first threshold, it is necessary to estimate and adjust the bit rate, resolution or frame rate of the screen mirroring service P2 based on the QOE parameter of the screen mirroring service P2.
[0180] It can be seen that: when the screen mirroring service P2 has a situation where the QOE decreases such as getting stuck, if the QOS system includes a file transfer service and the available bandwidth of the file transfer service is greater than the first threshold, that is, it can relieve or eliminate the stuck of the screen mirroring service P2, then limit the speed of the file transfer service to improve the QOS and QOE of the screen mirroring service P2. When the QOS system does not include a file transfer service or the available bandwidth of the file transfer service is less than or equal to the first threshold, the notebook 15 estimates and adjusts the bit rate, resolution or frame rate of the screen mirroring service P2 based on the QOE parameter of the screen mirroring service P2 to improve the QOE of the screen mirroring service P2.
[0181] Moreover, the above method can be dynamically adjusted based on the change of the QOE parameter to, while giving priority to ensuring the QOS of services sensitive to delay, adjust the speed limit value of the file transfer service and the bit rate, resolution or frame rate of the service in real time to make full use of communication resources and improve the QOS and QOE of the file transfer service.
[0182] In some other embodiments, the notebook 15 may also include a file transfer service D3 to be sent. At this time, when the QOS system includes the file transfer service and the available bandwidth is greater than the first threshold, the notebook 15 will also calculate the speed limit value of the file transfer service D3, and transmit the service data of the file transfer service D3 through a bandwidth value not greater than the speed limit value of the file transfer service D3.
[0183] It should also be noted that, taking the Figure 2 scenario shown above as an example, it should be understood that the QOS system may include more or fewer devices, services, and links than the Figure 2 system shown above.
[0184] In the above embodiments of distributed or centralized QOS optimization, each device in the QOS system can detect events to trigger a QOS optimization solution. The device can detect events such as the creation and closing of services, changes in the requested bandwidth, and changes in the transmission rate or the highest effective rate of the link. When these events are detected, it can trigger the collection of device service information, device link information, etc. of each device in the QOS system, so as to perform the steps of updating the service information and link information of QOE, calculating the speed limit value of the file transfer service, and limiting the speed of the file transfer service in the above-mentioned distributed or centralized QOS optimization method based on the collected information. Specifically, reference can be made to the QOS optimization methods caused by the creation and closing of services, changes in the requested bandwidth, and changes in the highest effective rate of the link described below, which will not be elaborated here.
[0185] It should be noted that the distributed or centralized QOS optimization method provided in the embodiments of the present application is an optimization of the services involved in a QOS system, and the channels corresponding to the links carrying these services are the same channel or belong to the same frequency band. However, the services belonging to other QOS systems participate in the optimization of other QOS systems.
[0186] In the distributed QoS optimization method of the present application, the first electronic device in different embodiments of the present application can be different devices, and the first electronic device, the second electronic device, and the third electronic device in the same embodiment are generally different devices. The first electronic device, the second electronic device, and the third electronic device are general references. Specifically, they can be three of the above-mentioned mobile phones 11, 12, 13, 14, notebook 15, and large-screen device 16, or can be the following devices A, B, and C. Exemplarily, the first electronic device is device A, the second electronic device is device B, and the third electronic device is device C; or, the first electronic device is device B, the second electronic device is device A, and the third electronic device is device C; or, the first electronic device is device B, the second electronic device is device A, and the third electronic device is device C; or, the first electronic device is device C, the second electronic device is device A, and the third electronic device is device B, etc.
[0187] In the centralized QoS optimization method of the present application, the above Figure 2 Taking the notebook 15 as the first electronic device (central control device), and two of the mobile phones 11, 12, 13, 14, and large-screen device 16 as the second electronic device and the third electronic device as an example for illustration. It should be understood that in other embodiments, the first electronic device (central control device) can be any one of the above-mentioned mobile phones 11, 12, 13, 14, notebook 15, and large-screen device 16. The second electronic device and the third electronic device can be any two of the above devices except the central control device. The first electronic device (central control device) can also be the following devices A, B, and C. Exemplarily, the first electronic device is device A, the second electronic device is device B, and the third electronic device is device C; or, the first electronic device is device B, the second electronic device is device A, and the third electronic device is device C; or, the first electronic device is device B, the second electronic device is device A, and the third electronic device is device C; or, the first electronic device is device C, the second electronic device is device A, and the third electronic device is device B, etc.
[0188] As Figure 3 shown, it is a schematic diagram of the hardware structure of an electronic device 100 provided by an embodiment of the present application. The electronic device 100 can be a mobile phone, a notebook, a large-screen device, a central control device, a controlled device, etc. in the foregoing Figure 1A , Figure 1B or Figure 2 and can also be devices A, B, C, the first electronic device, the second electronic device, the third electronic device, the central control device, the controlled device, etc. in the method embodiments hereinafter, and is used to execute the methods executed by each device in the following method embodiments.
[0189] The electronic device 100 may include a processor 101, a memory 102, a wireless communication module 103, a mobile communication module 104, an antenna 103A, an antenna 104A, etc. Among them, the wireless communication module 103 may include a WLAN communication module, a Bluetooth communication module, etc. The above-mentioned multiple parts may transmit data through a bus.
[0190] The processor 101 may include one or more processing units. For example, the processor 101 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.
[0191] The memory 102 may be used to store computer-executable program code, and the executable program code may include instructions. The processor 101 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the memory 102, such as executing the various methods provided in the embodiments of the present application.
[0192] The wireless communication function of the electronic device 100 may be implemented by the antenna 103A, the antenna 104A, the mobile communication module 104, the wireless communication module 103, the modem processor, and the baseband processor, etc.
[0193] The antennas 103A and 104A may be used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device 100 may be used to cover a single or multiple communication frequency bands. Different antennas may also be multiplexed to improve the utilization rate of the antennas. For example, the antenna 103A may be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antenna may be used in combination with a tuning switch.
[0194] The mobile communication module 104 can provide solutions for wireless communications such as 2G / 3G / 4G / 5G applied to the electronic device 100. The mobile communication module 104 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 104 can receive electromagnetic waves through the antenna 104A, perform processing such as filtering and amplifying the received electromagnetic waves, and then transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 104 can also amplify the signal modulated by the modulation and demodulation processor, and the amplified signal is converted into electromagnetic waves and radiated out through the antenna 104A. In some embodiments, at least some functional modules of the mobile communication module 104 can be provided in the processor 101. In some embodiments, at least some functional modules of the mobile communication module 104 and at least some modules of the processor 101 can be provided in the same device.
[0195] The modulation and demodulation processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. Subsequently, the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. In some embodiments, the modulation and demodulation processor can be an independent device. In other embodiments, the modulation and demodulation processor can be independent of the processor 101 and provided in the same device as the mobile communication module 104 or other functional modules.
[0196] The wireless communication module 103 can provide solutions for wireless communications such as wireless local area networks (WLAN), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared technology (IR), etc. applied to the electronic device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 103 receives electromagnetic waves through the antenna 103A, performs frequency modulation and filtering processing on the electromagnetic wave signals, and transmits the processed signals to the processor 101. The wireless communication module 103 can also receive the signal to be transmitted from the processor 101, perform frequency modulation and amplification on it, and convert it into electromagnetic waves through the antenna 103A and radiate it out.
[0197] In some embodiments, the antenna 104A of the electronic device 100 is coupled to the mobile communication module 104, and the antenna 103A of the electronic device 100 is coupled to the wireless communication module 103, so that the electronic device 100 can communicate with the network and other devices through wireless communication technologies.
[0198] It can be understood that the structure illustrated in the embodiments of the present invention does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than those illustrated, or combine certain components, or split certain components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0199] In the embodiments of the present application, the wireless communication module 103 can be used for WiFi connections between electronic devices and the transmission of data such as data or instructions.
[0200] For the operations performed by each device in the electronic device 100, reference may be specifically made to the relevant descriptions in the foregoing method embodiments, and details will not be elaborated here.
[0201] Exemplarily, Figure 4 shows the software and hardware architecture of the electronic device 100 provided in the embodiments of the present application.
[0202] As Figure 4 shown, the software architecture of the electronic device may adopt a layered architecture. The layered architecture divides the system into several layers, and each layer has a clear role and division of labor. Communication between layers is through software interfaces. In some embodiments, the system is divided into five layers, from top to bottom are the application layer, the application framework layer (framework), the system library and Android runtime, the hardware abstraction layer (hardware abstract layer, HAL), and the driver layer. Among them: the application framework layer, the system library and Android runtime, and the hardware abstraction layer are not shown in Figure 4 it.
[0203] The application layer (application) may include a series of applications. For example, the application package may include applications such as WLAN applications, Bluetooth applications, application continuity, call sharing, notification sharing, keyboard and mouse sharing, file sharing, screen mirroring, video, and gallery, as well as other applications not shown, such as music, camera, browser, WeChat TM 、Douyin TM and other applications.
[0204] Among them, the WLAN application is mainly used to enable, connect to, and set up the WLAN, and the Bluetooth application is used to enable, connect to, and set up the Bluetooth. The application continuation application is used to enable the mutual continuation of the content and usage status of applications between this electronic device and nearby devices. The call sharing application is used to enable nearby devices to answer and continue calls from this electronic device. Exemplarily, the smart screen can answer calls from this electronic device, and tablets and computers also support making calls. Notification sharing is used to enable nearby devices to receive notifications from this electronic device and support processing on these devices. Keyboard and mouse sharing is used to share input devices between this electronic device and nearby computers, or for the mouse, keyboard, and touchpad of a computer or tablet to be shared with this electronic device, and can also enable cross-device file transfer, cross-device window display and usage. The file sharing application is used to wirelessly share files with other electronic devices within the same network to achieve fast file sharing or printing. The screen mirroring application is used to link this electronic device to a large-screen device to enable the display of content such as videos on this electronic device to be shown on the large-screen device, or to link this electronic device to a small-screen device to enable the display of content such as videos on the small-screen device to be shown on the large-screen of this electronic device. Here, "large screen" and "small screen" refer to the relative size of the display screens of electronic devices.
[0205] The application layer also includes a video transmission service interface, a message transmission service interface, an audio transmission service interface, a file transmission service interface, a keyboard and mouse transmission service interface, and a file stream transmission service interface, etc., as well as the services corresponding to these interfaces respectively, including a video transmission service, a message transmission service, an audio transmission service, a file transmission service, a keyboard and mouse transmission service, and a file stream transmission service ( Figure 5 not shown in the figure). Among them, the video transmission service, the message transmission service, the audio transmission service, the file transmission service, the keyboard and mouse transmission service, and the file stream transmission service are respectively used to implement video transmission, message transmission, audio transmission, file transmission, keyboard and mouse transmission, and file stream transmission. The upper-layer application programs achieve the transmission of the service data of the services they create by calling these interfaces. Exemplarily, after the upper-layer application "screen mirroring" creates a screen mirroring service, it calls the video transmission service interface, and the video transmission service responds to this call to achieve the transmission of the service data of the screen mirroring service.
[0206] The application layer can also include a QoS control engine. The QoS control engine can be an application invisible to the user and can include some or all of the functional modules such as an information update system, a bandwidth management system, a QoS scheduling system, a QoS bandwidth allocation system, a sending system, and a QoS monitoring system. Among them:
[0207] When an application creates a service, it sends a connection request or a service creation request, as well as the required bandwidth for this service, to the bandwidth management system.
[0208] The bandwidth management system is used to calculate the remaining bandwidth after receiving the requests and required bandwidths of upper-layer applications, and to determine whether the remaining bandwidth can meet the requirements of the service to be created. The bandwidth management system is also used to establish a link.
[0209] The information update system is used to collect its own service information and link information, receive the service information and link information of other devices in the QoS system, and send a scheduling request to the QoS scheduling system when receiving a notice or instruction sent by other devices indicating re-scheduling of QoS, or when identifying that there is an update, increase or decrease in the service information or link information in the QoS system, so as to trigger the re-scheduling of QoS. Among them, the service information includes the bandwidth requirements of the service. The link information includes the highest effective rate of the link.
[0210] The QoS scheduling system is used to respond to the scheduling request, determine whether the current QoS system includes a file transfer service. When it includes a file transfer service, it recalculates the speed limit value of its own file transfer service or each file transfer service in the QoS system, and sends the required bandwidth of its non-file transfer service and the speed limit value of the file transfer service to the QoS bandwidth allocation system.
[0211] The QoS bandwidth allocation system is used to allocate bandwidth for non-file transfer services based on the required bandwidth of the received non-file transfer services, and to allocate bandwidth for non-file transfer services based on the speed limit value of the file transfer service, and send the allocated bandwidth of each service to the sending system.
[0212] The sending system is used to send the service data of the service at their respective allocated bandwidths or at a bandwidth value not greater than their respective allocated bandwidths.
[0213] The QoS monitoring system is used to monitor the changes in the service information of the service and the changes in the link information of the link, so as to trigger the information update system to update the service information and link information of the QoS system when there are changes.
[0214] In some embodiments, the information update system is also used to implement the measurement of the highest effective rate of the link in the QoS system.
[0215] The application layer may also include QoE detection engines corresponding to the above video transmission service, message transmission service, audio transmission service, file transmission service, keyboard and mouse transmission service, and file stream transmission service respectively. Figure 4Only one QOE detection engine is shown. The application layer may include multiple QOE detection engines. Each QOE detection engine may be located in or partially located in its corresponding service, or may be independent of its corresponding service. Exemplarily, the application layer includes a QOE detection engine corresponding to the video transmission service, a QOE detection engine corresponding to the audio transmission service, and a QOE detection engine corresponding to the keyboard and mouse transmission service.
[0216] Each QOE detection engine may include a QOE detection system, a dynamic cache system, and an interlocking system.
[0217] Among them, the QOE detection system is used to monitor whether the service has lags, average latency, etc. Exemplarily, the QOE detection system may detect whether the service has lags and the lag level, and detect whether there are lag segments, changes in the lag level, whether the average latency is greater than a preset value V1 or less than a preset value V2, etc. based on the sending situation of the service data of the service in the dynamic cache unit. When the above situations are detected, the QOE detection system sends an optimization request to the QOS scheduling system.
[0218] The QOS scheduling system is also used to respond to the optimization request, determine whether the QOS system has optimization space, that is, determine whether the QOS system includes a file transfer service and determine whether the available bandwidth of the file transfer service is greater than a first threshold. When the QOS system includes a file transfer system and the available bandwidth is greater than the first threshold, the QOS scheduling system sends an update instruction to the information update system to trigger the QOS to be updated again; and sends a judgment result to the QOE detection system, and the judgment result only indicates whether the QOS system can be optimized, that is, whether it has optimization space.
[0219] The QOE detection system is used to send a bitrate adjustment request to the interlocking system when the judgment result indicates that the QOS system does not have optimization space, that is, when the QOS system does not include a file transfer service, or when the QOS system includes a file transfer service and the available bandwidth of the file transfer service is less than or equal to the first threshold.
[0220] The interlocking system, also known as the transmission and encoding interlocking system, is used to respond to the bitrate adjustment request, estimate at least one of the bitrate, frame rate, and resolution, etc. of the non-file transfer service based on the QOE parameters of the non-file transfer service with deteriorating QOE parameters. And send the estimation result to the application that creates the non-file transfer service, so that the application that creates the non-file transfer service can adjust at least one of the bitrate, frame rate, and resolution, etc. of the non-file transfer service based on the estimation result.
[0221] The QOS scheduling system of the central control device is also used to send update instructions, bitrate adjustment instructions, etc. to other devices.
[0222] The application framework layer (framework) can provide application programming interfaces (APIs) and programming frameworks for applications in the application layer. The framework layer includes some predefined functions. For example, it can include an activity manager, a window manager, a view system, a resource manager, a notification manager, an audio service, a camera service, etc. The embodiments of the present application do not impose any restrictions on this.
[0223] The system library can include multiple functional modules. For example: a surface manager, Media Libraries, OpenGL ES, SGL, etc.
[0224] The hardware abstraction layer is an interface layer located between the operating system kernel and the hardware circuit, and its purpose is to abstract the hardware. It hides the details of the hardware interfaces of specific platforms and provides a virtual hardware platform for the operating system, making it hardware-independent and portable across multiple platforms. From the perspective of software and hardware testing, the testing work of software and hardware can be completed respectively based on the hardware abstraction layer, making it possible to perform the software and hardware testing work in parallel.
[0225] The driver layer includes drivers for various hardware. The driver layer can include a Bluetooth driver, a WiFi driver, etc. Among them, the Bluetooth driver is used to drive the Bluetooth module in the hardware layer. The WiFi driver is used to drive the WiFi module in the hardware layer.
[0226] For the specific implementation of each module / unit in the above-mentioned hardware architecture and software architecture of the electronic device, reference can also be made to the relevant descriptions in the following method embodiments, which will not be elaborated here.
[0227] As follows, taking Figure 5 a QOS system composed of the three devices shown as an example, where the three devices communicate via WiFi, this paper illustrates the QOS optimization caused by events such as the creation, closing, lag, change in requested bandwidth, and change in the transmission rate of the link for services.
[0228] Refer to Figure 5 the application scenario shown. The QOS system includes device A (such as a mobile phone), device B (such as a tablet computer), and device C (such as a PC). The mobile phone is connected to the tablet computer and the PC via WiFi respectively. The following links and services can be established in sequence:
[0229] ① Establish a link L between the mobile phone and the tablet computer AB , and the user can project the meeting window on the mobile phone to the tablet computer, that is, the mobile phone creates a screen projection service to the tablet computer, and the mobile phone sends the screen projection service P1 to the tablet computer through the link L AC ;
[0230] ② The mobile phone transfers the call to the tablet computer. The mobile phone creates a voice call service V1 and sends the service data of the voice call service V1 (i.e., the voice information received by the mobile phone) to the tablet computer through link L. AB At the same time, the tablet computer creates a voice call service V2 and sends the service data of the voice call service V2 (i.e., the voice information collected by the tablet computer through the microphone) to the mobile phone through link L. AB
[0231] ③ The mobile phone establishes a link L with the PC. AC The mobile phone shares the file to be shared with the PC and establishes a file sharing service D1 to send the service data of the file sharing service D1 (the file to be shared) to the PC through link L. AC
[0232] It should be understood that the above-mentioned link L AB and L AC work on the same channel or the same frequency band.
[0233] In this application, the above-mentioned device A (mobile phone) is used as the first electronic device, device C (PC) is used as the second electronic device, device C (tablet computer) is used as the third electronic device, link L AC is the second link, link L AB is the first link, the file sharing service D1 is the second service, and the screen mirroring service P1 or the voice call service V2 is the first service as an example for illustration. It should be understood that in some other embodiments, the above-mentioned device B (tablet computer) can also be used as the first electronic device, the above-mentioned device A (mobile phone) and the above-mentioned device C (PC) are respectively the second electronic device and the third electronic device, or the above-mentioned device C (PC) can also be used as the first electronic device, and the above-mentioned device A (mobile phone) and the above-mentioned device B (tablet computer) are respectively the second electronic device and the third electronic device.
[0234] It is not limited to the above scenarios and may also include other specific scenarios. The following takes this scenario as an example for illustration.
[0235] Combining the above Figure 3 and Figure 4 shown hardware architecture and software and hardware architecture of the electronic device, Figure 5 shown application scenarios, the QOS optimization method provided by this application is described in detail below. This method is divided into QOS optimization processes caused by several stages such as service creation, WiFi transmission rate change, service requirement change, lag, and service end. It should be understood that during the life cycle of the service, the QOS optimization processes caused by WiFi transmission rate change, service requirement change, lag, etc. can occur once or multiple times, or may not occur.
[0236] (1) QoS Optimization Process Caused by Service Creation
[0237] Taking Figure 5 the creation of the screen mirroring service P1 in the scenario shown as an example, Figure 6A this exemplary shows the QoS optimization method involved when device A in the QoS system creates a screen mirroring service to device B. This method includes but is not limited to the following steps:
[0238] S101. The screen mirroring application of device A receives an operation to perform screen mirroring to device B.
[0239] Exemplarily, as Figure 7A shown in the user interface 71 of the "Settings" application, this interface may include a smart connection control 711 and a more connection control 712. Device A can detect a user operation on the more connection control 712. In response to this user operation, device A can display a user interface 72 as Figure 7B shown. This user interface 72 may include a file sharing control 721, a screen mirroring control 722, etc. Device A can detect a user operation on the screen mirroring control 722. Device A can display a user interface 73 as Figure 7C shown. This user interface 73 may include a wireless screen mirroring control 731. Device A detects a user operation on this wireless screen mirroring control 731, turns on Bluetooth, searches for available devices, and displays a user interface 74 as Figure 7D shown. This user interface 74 includes a list of available devices. Exemplarily, the device identifier 741 of device B is included in the available device list. The operation to perform screen mirroring to device B can be a user operation on the device identifier 741. Device A detects a user operation on this device identifier 741. In response to this user operation, device A initiates a screen mirroring transmission to device B. It should be understood that device A can also initiate a screen mirroring transmission to device B through other means. For example, a downward pull operation on the top of the display screen of device A shows the interface of the control center. This interface of the control center includes a screen mirroring icon. In response to the detected user operation on this screen mirroring icon, it searches for available devices under the same network and initiates a screen mirroring transmission to the default device B.
[0240] S102. In response to receiving the screen mirroring operation, the screen mirroring application of device A sends a request to the bandwidth management system to indicate the establishment of a wireless fidelity (WiFi) connection with device B and the desired bandwidth of the screen mirroring service.
[0241] Exemplarily, the desired bandwidth of the screen mirroring service can be 30 Mbps.
[0242] S103. The bandwidth management system of device A requests the WiFi driver to establish a WiFi connection with device B.
[0243] The WiFi connection may be a WiFi direct connection or a connection through a WiFi router. In another implementation, device A and device B may establish a WiFi connection in advance, at which point S106 may be directly executed, and the bandwidth management system may send the requested bandwidth of the screen projection service to the information update system.
[0244] S104, the WiFi driver of device A establishes a WiFi connection with the WiFi driver of device B.
[0245] After the WiFi connection is established, a link L is established between device A and device B on channel K1. AB .
[0246] S105: The bandwidth management system of device A determines whether the remaining bandwidth meets the bandwidth requirement of the screen projection service.
[0247] The remaining bandwidth refers to the link L in the QOS system. AB The remaining bandwidth or link L of the operating channel K1 AB The remaining bandwidth of the frequency band where the working channel K1 is located. This application takes the remaining bandwidth of the channel as an example for explanation.
[0248] The general calculation method of the remaining bandwidth can be the total time proportion of the file transfer service and the link L AB The QOS scheduling system can update the total time proportion of the latest file transfer service to the bandwidth management system, and the QOS scheduling system or information update system can also update the latest link L AB The highest effective rate of link L is updated to the bandwidth management system so that the bandwidth management system can calculate the remaining bandwidth. Alternatively, the QOS scheduling system calculates the remaining bandwidth and AB The latest remaining bandwidth is updated to the bandwidth management system. The remaining bandwidth calculation method can be found in the following Figure 13 The method for calculating the remaining bandwidth is shown.
[0249] Before the screen projection service is created, there is no non-file transfer service in the QOS system. At this time, the total time proportion of the file transfer service is 1, and the remaining bandwidth is the link L. AB The maximum effective rate is 200Mbps.
[0250] If the remaining bandwidth is insufficient, that is, it cannot meet the needs of the screen projection service, the bandwidth management system of device A will feedback to the screen projection application that the remaining bandwidth is insufficient. At this time, the screen projection service creation fails. If the remaining bandwidth can meet the required bandwidth of the screen projection service, execute S106.
[0251] S106. The bandwidth management system of device A sends a message to the screen mirroring application, and this message indicates that the remaining bandwidth meets the required bandwidth for the screen mirroring service.
[0252] After S106, the screen mirroring application of device A can send the service data of the screen mirroring service to device B through the link L established between device A and device B, that is, execute S115, and at the same time, S106 can also be executed. AB S107. The bandwidth management system of device A sends the required bandwidth for the screen mirroring service to the information update system.
[0253] S108. The information update system of device A collects its own device service information and device link information and broadcasts the notification. Among them, the device service information collected by device A includes the identifiers, required bandwidths, and service types of real-time services with device A as the sender, the identifiers, required bandwidths, and service types of delay-sensitive services, and the identifiers and service types of each file transfer service. The device link information collected by device A includes the identifiers of the links carrying the services sent by device A, the highest effective rate, and the identifiers of the channels, etc. At this time, device A collects the identifier of the screen mirroring service P1, the required bandwidth of 30 Mbps, and the service type 1, as well as the identifier of link L
[0254] AB the identifier of the highest effective rate of 200 Mbps, and the identifier of channel K1. Among them, service type 1 represents non-file transfer services, and service type 0 represents file transfer services.
[0255] After receiving the required bandwidth, the information update system of device A can also broadcast a notification. The notification is used to indicate the update of service information and link information or to indicate that the service information or link information of the QoS system has changed. Specifically, this notification can include information indicating the creation of the screen mirroring service P1. The information update systems of other devices (i.e., other devices in the QoS system except device A) will, in response to this notification, also collect their own device link information and device service information and send their own device link information and device service information to other devices, so that each device in the QoS system can collect the link information of all links in the QoS system and the service information of all services carried by each link. Since there are no services on device B and device C at this time, it is not necessary to collect their own device link information and device service information.
[0256] In some embodiments, the notification may not be sent either. Each device in the QoS system generates a scheduling request when receiving the changed device service information and / or changed device link information sent by other devices. Or, each device in the QoS system generates a scheduling request when collecting the service information and link information sent by all devices.
[0257]
[0257] S109. The information update system of Device A sends its own device service information and device link information to other devices.
[0258] The information update system of Device A can send the device link information and device service information of Device A itself to other devices. At this time, that is, it sends the identifier of the screen mirroring service P1, the requested bandwidth of 30 Mbps, and the service type 1, as well as the identifier of link L AB the identifier of, the highest effective rate of 200 Mbps, and the identifier of channel K1.
[0259] In some other embodiments, the above S108 - S109 may not be executed either. Device A can also only send the updated device link information and updated device service information to other devices. For example, the screen mirroring service is a created service, a newly added service. Device A sends the identifier of the screen mirroring service, the requested bandwidth of 30 Mbps, and the service type 1, and the identifier of the link used to carry this screen mirroring service, the highest effective rate of 200 Mbps, and the identifier of channel K1. Here, the updated link information includes the link information of newly added links and the updated link information of existing links; the updated service information refers to the service information of newly added services and the updated service information of existing services.
[0260] It should be understood that when other devices have services, the information update system of Device A will also receive the device service information and device link information from other devices. Since, here the screen mirroring service is the first service created by the QOS system. Therefore, Device A will not receive the device service information and device link information sent by other devices.
[0261] S110. The information update system of Device A sends a scheduling request to the QOS scheduling system. This scheduling request carries the device link information and device service information received by Device A. That is, it carries the identifier of the screen mirroring service P1, the requested bandwidth of 30 Mbps, and the service type 1, as well as the identifier of link L AB the identifier of, the highest effective rate of 200 Mbps, and the identifier of channel K1.
[0262] The received device link information and device service information can be the link information of all links and the service information of all services carried on each link in the current QOS system, or can be the link information of some links and the service information of some services.
[0263] It should be understood that Device A will collect the device link information and device service information sent by other devices in the QOS system within a certain time interval (such as the first duration after the broadcast notification in the above S108, such as within 3 s). When reaching the first duration, it executes S110, or executes S110 after executing S109.
[0264] S111. When the QoS scheduling system of device A notifies information including that for indicating service creation, in response to a scheduling request, it determines whether the service to be sent by itself includes a file transfer service. When it does not include a file transfer service, there is no need to calculate the file speed limit value. When it includes a file transfer service, the speed limit value of the file transfer service needs to be calculated.
[0265] At this time, among them, the service to be sent by device A itself is also the service with device A as the sending end. Among the services currently to be transmitted by device A, there is only a screen mirroring service and no file transfer service. Therefore, there is no need to calculate the speed limit value of the file transfer service.
[0266] In some other embodiments, when the QoS scheduling systems of device A and device B notify information including that for indicating service creation, in response to a scheduling request, device A needs to calculate the speed limit value of each file transfer service in the QoS system regardless of whether the service to be sent by itself includes a file transfer service. This speed limit value can be used for device A and device B to determine whether there is room for optimization in the QoS system when detecting that the QoE parameters of their non-file transfer services deteriorate.
[0267] It should be understood that when the QoS scheduling system of device A notifies information indicating that QoE parameters such as service stuttering or latency deteriorate, in response to a scheduling request, in one implementation, it will calculate the speed limit value of each file transfer service in the QoS system. For specific reference, see the relevant descriptions in the embodiments shown below Figures 10 - 11 In another implementation, it will first determine whether there is room for optimization in the QoS system. When there is room for optimization, it will calculate the speed limit value of the file transfer service to be sent by itself. For specific reference, see the relevant descriptions in the embodiments shown below Figure 12 shown in the embodiments.
[0268] S112. The QoS scheduling system of device A sends the requested bandwidth of its non-file transfer services to the bandwidth allocation system.
[0269] In some embodiments, device A can send the requested bandwidth of all its non-file transfer services. At this time, device A includes a screen mirroring service, that is, it sends the requested bandwidth of the screen mirroring service, 30 Mbps.
[0270] In some other embodiments, device A can only send the requested bandwidth of the non-file transfer services that are newly added and updated by device A itself relative to the previous scheduling request.
[0271] S113. The bandwidth allocation system of device A allocates bandwidth for the non-file transfer services according to the requested bandwidth of the non-file transfer services.
[0272] Considering that non-file transfer services have low requirements for real-time performance, this application preferentially allocates bandwidth for non-file transfer services based on their required bandwidths to prioritize ensuring the QoS of non-file transfer services.
[0273] Among them, the allocated bandwidth for non-file transfer services can be their required bandwidths, and the allocated bandwidth for file transfer services can be less than or equal to their speed limit values.
[0274] Exemplarily, the allocated bandwidth for the screen mirroring service is its required bandwidth, which is 30 Mbps, and device A does not include any file transfer services to be sent.
[0275] S114, the bandwidth allocation system of device A sends the allocated bandwidth of its own services to the sending system. At this time, device A includes the screen mirroring service and sends the allocated bandwidth of the screen mirroring service, which is 30 Mbps.
[0276] S115, the screen mirroring application of device A sends the service data of the screen mirroring service to the sending system.
[0277] S116, the sending system of device A sends the service data of each service to the WiFi driver at the allocated bandwidth of its own services.
[0278] At this time, if the services to be sent by device A include the screen mirroring service, the sending system of device A sends the service data of the screen mirroring service to the WiFi driver at the allocated bandwidth of the screen mirroring service. Specifically, the service data of the screen mirroring service can be packed into data packets and then sent sequentially.
[0279] In another embodiment, for non-file transfer services, taking the above screen mirroring application as an example, after successfully creating the screen mirroring application, the screen mirroring application can send its required bandwidth (which is the allocated bandwidth for it) to the sending system, and the sending system can send the service data of the screen mirroring service to the WiFi driver based on the required bandwidth of its screen mirroring application. At this time, when step S111 determines that the services to be transmitted by itself do not include file transfer services, the above S112 - S114 may not be executed.
[0280] It should be understood that one implementation of sending the service data of a service based on the allocated bandwidth of the service can be that the rate at which the sending system sends the service data of the service does not exceed its allocated bandwidth, or the amount of the service data of the service sent per unit time does not exceed the amount of data that would be reached when sending at the allocated rate of the service per unit time.
[0281] S117, the WiFi driver of device A drives the WiFi module to send the service data of each service to device B through the link L established between device A and device B AB that is, to send the service data of the above screen mirroring service to device B.
[0282] It should be noted that when device B includes services that need to be sent via WiFi, device B will also perform the steps of S109 - S116 performed by device A above. Figure 6A Taking the example where device B does not include services for illustration.
[0283] After performing the above Figure 6A shown method, when device A receives an incoming call, it can also transfer the call to device B, and device A and device B respectively create a voice call service. Figure 6B Exemplarily shown is a QoS optimization method involved when device A and device B in a QoS system create a voice call service. The method includes but is not limited to the following steps:
[0284] S118, when the call application on device A receives a call request, it sends the incoming call interface to device B.
[0285] Specifically, after the call sharing function of device A is enabled, when device A receives an incoming call, that is, a call request, it displays the incoming call interface and sends the incoming call interface to device B. The incoming call interface can be the Figure 7E shown user interface 75, and this user interface 75 can include an answer control 751 and a reject control 752. The answer control 751 is used to answer the call, and the reject control 752 is used to hang up the call.
[0286] S119, when the call application on device B receives the incoming call interface, it displays the incoming call interface.
[0287] The incoming call interface displayed by device B is the Figure 7F shown user interface 76, including an answer control 761 and a reject control 762.
[0288] S120, in response to an answer operation, the call application on device B sends an instruction for indicating answering to the call application on device A.
[0289] The answer operation can be a user operation on the answer control 761 on the user interface 76, as Figure 7F shown.
[0290] S121, in response to the instruction for indicating answering, the call application on device A answers the call.
[0291] S122, the call application on device A sends information for indicating that the call has been answered to the call application on device B.
[0292] S123, the call application on device A sends a requested bandwidth of 30 Mbps for the voice call service V1 to its bandwidth management system.
[0293] S124, the bandwidth management system of Device A determines whether the remaining bandwidth meets the required bandwidth of the voice call service V1. If the remaining bandwidth is insufficient, that is, it cannot meet the requirements of the voice call service V1, the bandwidth management system of Device A feeds back to the call application that the remaining bandwidth is insufficient. At this time, the creation of the voice call service V1 fails. If the remaining bandwidth can meet the required bandwidth of the voice call service V1, the call application of Device A can establish a link L between Device A and Device B AB to send the service data of the voice call service V1 to Device B, that is, execute S138, and at the same time, S125 can be executed.
[0294] Exemplarily, before creating the voice call service V1, the link information and service information included in the QOS system are as follows:
[0295] The link information includes: link L AB : the highest effective rate γ1 = 200 Mbps, the identifier of channel K1.
[0296] The service information includes: the screen mirroring service P1, carried on the link L AB with a required bandwidth band1 = 30 Mbps and service type 1.
[0297] Based on the calculation method of the remaining bandwidth shown below Figure 13 the remaining bandwidth of Device A is: (1 - 30 / 200) * 200 Mbps = 200 Mbps - 30 Mbps = 170 Mbps, which is greater than the required bandwidth of the voice call service V2 of 20 Mbps, so the remaining bandwidth meets the requirements of the voice call service V2.
[0298] S125, the bandwidth management system of Device A sends the required bandwidth of the voice call service V1 to the information update system.
[0299] S126, the information update system of Device A collects the device service information and device link information of Device A itself and broadcasts it to other devices.
[0300] Similar to the above S108, at this time, the device service information of Device A itself includes the identifier of the screen mirroring service P1, the required bandwidth of 30 Mbps and service type 1, the identifier of the voice call service V1, the required bandwidth of 20 Mbps and service type 1, and the device link information includes the identifier of the link L AB the identifier of the highest effective rate of 200 Mbps and the identifier of channel K1.
[0301] S127, the information update system of Device A sends its own device service information and device link information to other devices.
[0302] Similar to the creation of the voice call service V1 by device A, after the call application of device B receives the information sent by device A indicating that the call has been answered, the following S128 - S132 are executed:
[0303] S128, the call application of device B sends a requested bandwidth of 30 Mbps for the voice call service V2 to its bandwidth management system.
[0304] S129, the bandwidth management system of device B determines whether the remaining bandwidth meets the requirement of the requested bandwidth for the voice call service V2.
[0305] If the remaining bandwidth is insufficient, that is, it cannot meet the requirements of the voice call service V2, the bandwidth management system of device B feeds back to the call application that the remaining bandwidth is insufficient. At this time, the creation of the voice call service V2 fails. If the remaining bandwidth can meet the requested bandwidth of the voice call service V2, the call application of device B can send the service data of the voice call service V2, that is, the voice information collected by the microphone of device B, to device A through the link L AB established between device A and device B. The call application of device A will then receive this voice information ( Figure 6B (not shown), and at the same time, the bandwidth management system of device B can also execute S130.
[0306] S130, the bandwidth management system of device B sends the requested bandwidth of the voice call service V2 to the information update system.
[0307] S131, the information update system of device B collects the device service information and device link information of device B itself and broadcasts it to other devices.
[0308] Similar to the above S108, at this time, the device service information of device B itself includes the identifier of the voice call service V2, the requested bandwidth of 20 Mbps, and the service type 1, and the device link information includes the identifier of link L AB the identifier of the highest effective rate of 200 Mbps, and the identifier of channel K1.
[0309] S132, the information update system of device B sends its own device service information and device link information to other devices.
[0310] At this time, the information update system of device A receives the device service information and device link information sent by other devices, such as the device service information and device link information of device B.
[0311] Exemplarily, the information update system of device A receives the device service information (the identifier of the voice call service V2, the requested bandwidth of 20 Mbps, and the service type 1) and the device link information (link L ABidentifications, the highest effective rate of 200 Mbps, and the identification of channel K1).
[0312] At this time, the link information and service information received by device A include:
[0313] The link information includes (the identification of the link and the identification of the channel are not shown):
[0314] Link L AB , device A (mobile phone) and device B (tablet): the highest effective rate γ1 = 200 Mbps;
[0315] The service information includes (the identification of the service):
[0316] Screen mirroring service P1, carried on link L AB with service type 1 and required bandwidth band1 = 30 Mbps;
[0317] Voice call service V1, carried on L AB with service type 1 and required bandwidth band2 = 20 Mbps;
[0318] Voice call service V2, carried on L AB with service type 1 and required bandwidth band3 = 20 Mbps.
[0319] S133, the information update system of device A, sends a scheduling request to the QOS scheduling system. This scheduling request includes the link information and service information currently received by device A.
[0320] Exemplarily, taking the current QOS system including one link as an example, and taking the screen mirroring service P1, voice call service V1, and voice call service V2 carried on the link as an example, in practice, the QOS system may also include multiple links and more services, and device A may also receive device link information or device service information of other devices.
[0321] S134, when the QOS scheduling system of device A is notified with information indicating service creation, in response to the scheduling request, it determines whether the service to be sent by itself includes a file transfer service. When it does not include a file transfer service, there is no need to calculate the file speed limit value. When it includes a file transfer service, the speed limit value of the file transfer service needs to be calculated. At this time, among the services to be transmitted by the current device A, there are screen mirroring service P1 and voice call service V1, and there is no file transfer service. Therefore, there is no need to calculate the speed limit value of the file transfer service.
[0322] In some other embodiments, when the QoS scheduling systems of Device A and Device B notify information including information indicating service creation, in response to a scheduling request, whether or not the services to be sent by themselves include file transfer services, Device A and Device B need to calculate the speed limit values of each file transfer service in the QoS system. The speed limit value can be used by Device A and Device B to determine whether there is room for optimization in the QoS system when detecting that the QoE parameters of their non-file transfer services deteriorate.
[0323] S135. The QoS scheduling system of Device A sends the required bandwidth of its non-file transfer services to the bandwidth allocation system.
[0324] Exemplarily, the required bandwidth of the screen mirroring service P1 is 30 Mbps, and the required bandwidth of the voice call service V1 is band2 = 20 Mbps.
[0325] In some embodiments, it is also possible to only send the required bandwidth of newly added services or services with service information changes. At this time, in S135, the required bandwidth of the voice call service V1, which is 20 Mbps, can be sent.
[0326] S136. The bandwidth allocation system of Device A allocates bandwidth for the non-file transfer service according to the required bandwidth of the non-file transfer service. At this time, Device A only includes the screen mirroring service P1 and the voice call service V1. The required bandwidth of the screen mirroring service P1, which is 30 Mbps, is the allocated bandwidth of the screen mirroring service P1, and the required bandwidth of the voice call service V1, which is 20 Mbps, is the allocated bandwidth of the voice call service V1.
[0327] S137. The bandwidth allocation system of Device A sends the allocated bandwidth of its own services to the sending system. At this time, since Device A includes the screen mirroring service and the voice call service V1, the allocated bandwidth of the screen mirroring service, which is 30 Mbps, and the allocated bandwidth of the voice call service V1, which is 20 Mbps, are sent.
[0328] S138. The call application of Device A sends the service data of the voice call service V1 to the sending system.
[0329] S139. The screen mirroring application of Device A sends the service data of the screen mirroring service P1 to the sending system.
[0330] It should be understood that the services that Device A currently needs to send also include the screen mirroring service P1, and its screen mirroring application will also send the service data of the screen mirroring service P1 to the sending system.
[0331] S140. The sending system of Device A sends the service data of each service to the WiFi driver according to the allocated bandwidth of its own services. At this time, the link L between Device A and Device B ABThe upper layer carries the screen mirroring service P1 and the voice call service V2. Then, the sending system of device A sends the service data of the screen mirroring service P1 at the allocated bandwidth of the screen mirroring service P1, and sends the service data of the voice call service V1 at the allocated bandwidth of the voice call service V1. Specifically, the service data of these services can be packed into data packets and sent sequentially.
[0332] S141, the WiFi driver of device A drives the WiFi module to establish a link L through device A and device B AB Send the service data of the voice call service V1 to device B. Specifically, the service data can be packed into data packets for sending.
[0333] It should be noted that, like device A, device B will also execute the steps S133 - S138 and S140 executed by device A, Figure 6B which are not shown. The difference is that in S135, the requested bandwidth of the voice call service V2 sent by device B is 20Mbps. In S136 - S137 and S140, device B allocates bandwidth for the voice call service V2 and sends the service data of the voice call service V2 at the requested bandwidth of the voice call service V2. The call application of device B sends the service data of the voice call service V2 to its sending system. The sending system of device B sends the service data of the voice call service V2 to the WiFi driver at the allocated bandwidth of the service, and then, its WiFi driver drives the WiFi module to establish a link L through device B and device A BA Send the service data of the voice call service V2 to device A.
[0334] S142, the call application of device A receives the service data of the voice call service V2 from device B.
[0335] Specifically, the call application of device A receives the service data of the voice call service V2 from device B through the WiFi module.
[0336] After executing the above Figure 6A 、 Figure 6B shown method, device A can also share files, such as pictures, with device C. Figure 6C Exemplarily shows a QOS optimization method involved when device A in the QOS system creates a file sharing service. The method includes but is not limited to the following steps:
[0337] S143, the application of device A receives a user operation input by the user for indicating sharing a file with device C.
[0338] Such as Figure 7GAs shown, Device A displays the user interface of the photo gallery, such as the user interface 77 that displays the file 771 to be shared. Device A can detect a user operation on the file 771 to be shared and display the sharing control 772. When Device A detects a user operation on the sharing control 772, it displays the sharing interface 78 as shown in Figure 7H . The sharing interface 78 includes a file sharing control 781 for sharing to other devices. When Device A detects a user operation on the file sharing control 781, it turns on the Bluetooth, searches for available devices, and displays a list of available devices. If the device identifier of Device C is included in the list of available devices, when Device A detects a user operation on the identifier of Device C, it is a user operation for sharing a file to Device C, and this user operation instructs to transmit the file 771 to be shared to Device C.
[0339] S144. In response to this user operation, the photo gallery of Device A sends a request to the bandwidth management system to indicate the establishment of a wireless fidelity (WiFi) connection with Device C.
[0340] S145. The bandwidth management system of Device A requests the WiFi driver to establish a WiFi connection with Device C.
[0341] At this time, Device A and Device C establish a WiFi connection, and a link L between Device A and Device C is established on channel K2 AC .
[0342] Among them, the WiFi connection can be a WiFi direct connection or a connection through a WiFi router. In another implementation, Device A and Device C can pre - establish a WiFi connection. At this time, S147 can be directly executed, and the bandwidth management system can send the required bandwidth for the screen mirroring service to the information update system. Channel K1 and channel K2 are the same channel or belong to the same frequency band.
[0343] S146. The WiFi driver of Device A and the WiFi driver of Device C establish a WiFi connection.
[0344] After the connection is established, the WiFi driver can send a notification to the photo gallery and the bandwidth management system to notify that the link L has been established AC . Then Device A can execute S152.
[0345] S147. The bandwidth management system of Device A sends information to the information update system to indicate the creation of the file sharing service D1.
[0346] When the bandwidth management system of Device A determines that the service type of the file sharing service D1 is a file transfer service, it can execute S147 without judging whether the remaining bandwidth meets the required bandwidth of the service D1.
[0347] S148. The information update system of Device A collects its own device service information and device link information and broadcasts the notification to other devices. Similar to the above step S108, except that at this time, Device A not only collects the service information of the screen mirroring service P1 and the voice call service V1 on the link L AB and the link information of the link L AB , but also collects the service information of the file sharing service D1 carried on the link L between Device A and Device C AC and the link information of the link L AC .
[0348] At this time, the device service information of Device A itself includes the identifier of the screen mirroring service P1, the required bandwidth of 30 Mbps, and the service type 1, the identifier of the voice call service V1, the required bandwidth of 20 Mbps, and the service type 1, the identifier of the file sharing service D1 and the service type 0. The device link information includes the identifier of the link L AB , the highest effective rate of 200 Mbps, and the identifier of the channel K1, the identifier of the link L AC , the highest effective rate of 100 Mbps, and the identifier of the channel K2.
[0349] S149. The information update system of Device A sends its own device service information and device link information to other devices and broadcasts the notification.
[0350] The specific implementation of S149 is the same as that of the above S108 and will not be elaborated here.
[0351] S150. The information update system of Device A receives the device service information and device link information from other devices.
[0352] After receiving the notification in the above step S149, Device B and Device C can also collect their own device link information and device service information, and send their own device service information and device link information to other devices.
[0353] Among them, the device link information of Device B includes the identifier of the link L AB , the highest effective rate of 200 Mbps, and the identifier of the channel K1. The device service information includes the identifier of the voice call service V2, the required bandwidth of 20 Mbps, and the service type 1. Device C has no service to send, so it does not need to send device link information and device service information, or it can send device link information and device service information. At this time, the device link information and device service information can be empty.
[0354] After S150, the link information and service information received by Device A, Device B, and Device C are as follows:[[]]
[0355] The link information includes:
[0356] Link L AB , Device A (mobile phone) → Device B (tablet): The highest effective rate is 200 Mbps;
[0357] Link L AC , Device A (mobile phone) → Device C (PC): The highest effective rate is 100 Mbps;
[0358] The service information includes:
[0359] The screen mirroring service P1 is carried on Link L AB and the service type is 1, and the required bandwidth is 30 Mbps;
[0360] The voice call service V1 is carried on L AB and the service type is 1, and the required bandwidth is 20 Mbps;
[0361] The voice call service V2 is carried on L AB and the service type is 1, and the required bandwidth is 20 Mbps;
[0362] The file sharing service D1 is carried on L AC and the service type is 0.
[0363] S151. The information update system of Device A sends a scheduling request to the QoS scheduling system. The scheduling request includes the link information and service information received by Device A currently.
[0364] S152. When the QoS scheduling system of Device A notifies the information including the information indicating service creation, in response to the scheduling request, it determines whether the service to be sent by itself includes a file transfer service. When it does not include a file transfer service, there is no need to calculate the file speed limit value. When it includes a file transfer service, the speed limit value of the file service needs to be calculated.
[0365] S153. The QoS scheduling system of Device A determines that there is a file transfer service in the service to be sent by itself currently, and calculates the speed limit value of the file transfer service, that is, calculates the speed limit value of the file sharing service D1.
[0366] It should be understood that only the device including the file transfer service needs to calculate the speed limit value. Device B and Device C will also execute the above S151 - S153. Since the services to be sent by Device B and Device C do not include the file transfer service, neither Device B nor Device C needs to calculate the speed limit value.
[0367] In some other embodiments, when the QoS scheduling systems of Device A, Device B, and Device C notify information including information indicating service creation and in response to a scheduling request, regardless of whether the services to be sent by themselves include file transfer services, Device A, Device B, and Device C need to calculate the rate limit values of each file transfer service in the QoS system. The rate limit value can be used by Device A, Device B, and Device C to determine whether there is room for optimization in the QoS system when detecting that the QoE parameters of their non-file transfer services deteriorate.
[0368] Wherein, for the method of calculating the rate limit value of the file transfer service, reference can be made to the embodiments of the method of calculating the rate limit value of the file transfer service described below, which will not be elaborated here.
[0369] Exemplarily, at this time, based on the required bandwidth of 30 Mbps for the screen mirroring service P1, the required bandwidth of 20 Mbps for the voice call service V1, the required bandwidth of 20 Mbps for the voice call service V2, and the highest effective rate of link L AB being 200 Mbps and the highest effective rate of link L AC being 100 Mbps, Device A calculates the rate limit value of the file sharing service D1. Based on the calculation method of the rate limit value shown below Figure 13 the calculated rate limit value of the file sharing service D1 is (1 - 30 / 200 - 20 / 200 - 20 / 200) * 0.8 = 0.52. Here, 0.8 is the anti-collision coefficient, and the rate limit value 0.52 is used to indicate that within the unit time (such as 1 second), it is allowed to send the service data of the file sharing service D1 within a time not greater than 0.52 times the unit time (0.52 seconds).
[0370] In another representation of the rate limit value of the file sharing service D1, it is 0.52 * 100 Mbps = 52 Mbps.
[0371] It should be understood that Device A can calculate the rate limit values of each file transfer service in the QoS system, or only calculate the rate limit value of its own file transfer service (i.e., the file sharing service D1 that Device A needs to send).
[0372] S154. The QoS scheduling system of Device A sends the required bandwidth of its non-file transfer services and the rate limit values of the file transfer services to the bandwidth allocation system, that is, sends the required bandwidth of 30 Mbps for the screen mirroring service P1, the required bandwidth of 20 Mbps for the voice call service, and the rate limit value of 52 Mbps for the file sharing service D1.
[0373] S155. The bandwidth allocation system of Device A allocates bandwidth for each non-file transfer service according to the required bandwidth of each non-file transfer service, and allocates bandwidth for each file transfer service according to the rate limit values of each file transfer service.
[0374] Among them, the allocated bandwidth for non-file transfer services is the required bandwidth for each file transfer service. The allocated bandwidth for file transfer services is the speed limit value for each file transfer service. Exemplarily, the allocated bandwidth for the screen mirroring service P1 is its required bandwidth of 30 Mbps, and the allocated bandwidth for the voice call service V2 is its required bandwidth of 20 Mbps. The allocated bandwidth for the file sharing service D1 is its speed limit value of 52 Mbps or less than this speed limit value of 52 Mbps.
[0375] S156, the bandwidth allocation system of device A sends the allocated bandwidth of each service to the sending system, that is, sends the allocated bandwidth of 30 Mbps for the screen mirroring service P1, the allocated bandwidth of 20 Mbps for the voice call service V2, and the allocated bandwidth of 52 Mbps for the file sharing service D1.
[0376] S157, the application "Gallery" of device A sends the service data of the file sharing service D1 to the sending system.
[0377] S158, the sending system of device A sends the service data of the file sharing service D1 to the WiFi driver according to the allocated bandwidth of the file sharing service D1.
[0378] At this time, device A sends the service data of the screen mirroring service to the WiFi driver according to the allocated bandwidth of the screen mirroring service, and sends the service data of the file sharing service to the WiFi driver according to the allocated bandwidth of the file sharing service. Specifically, the service data of each service can be packed into data packets and then sent sequentially.
[0379] S159, the WiFi driver of device A drives the WiFi module to send the service data of the file sharing service D1 to device C through the link L established between device A and device C AC and send the service data of the file sharing service D1 to device C.
[0380] It should be noted that the service data of the file sharing D1 is the file to be shared. The screen mirroring application of device A will also send the service data of the screen mirroring service P1 to the sending system. The call application of device A will also send the service data of the voice call service V1 to the sending system. The sending system of device A will also send the service data of the screen mirroring service P1 to the WiFi driver according to the allocated bandwidth of the screen mirroring service P1, and send the service data of the voice call service V1 to the WiFi driver according to the allocated bandwidth of the voice call service V1. Further, the WiFi module then sends this service data to the corresponding device, Figure 6C not shown.
[0381] It should also be noted that after the above S150, device B and device C can also execute the steps S151 - S156, S158 executed by device A above, Figure 6C among which, Figure 6CNot shown. Differently, in S152 - S155, since neither Device B nor Device C contains a file transfer service that needs to be sent, there is no need to calculate the speed limit value of the file transfer service, nor is there a need to allocate bandwidth for the file transfer service. In S154, the requested bandwidth of the voice call service V2 sent by Device B is 20 Mbps. In S155 - S156, Device B allocates bandwidth for the voice call service V2 and sends the allocated bandwidth of the voice call service V2. The call application of Device B also sends the service data of the voice call service V2 to its sending system. The sending system of Device B sends the service data of the voice call service V2 under WiFi drive at the allocated bandwidth of the voice call service V2. Furthermore, its WiFi drive drives the WiFi module to establish a link L between Device B and Device A AB Send the service data of the voice call service V2 to Device A.
[0382] Since Device C has no service that needs to be sent, it can skip the above steps S151 - S159.
[0383] In the above example, finally, the allocated bandwidths of each service in the QOS system are as follows:
[0384] The allocated bandwidth of the screen mirroring service P1 is 30 Mbps;
[0385] The allocated bandwidth of the voice call service V1 is 20 Mbps;
[0386] The allocated bandwidth of the voice call service V2 is 20 Mbps;
[0387] The allocated bandwidth of the file sharing service D1 is 52 Mbps.
[0388] It should be understood that the above Figures 6A - 6C takes the creation of a screen mirroring service, a voice call service, and a file sharing service as examples for illustration. In some other embodiments, each created service can also be replaced by other services, and multiple services can continue to be created. It should also be understood that an application can create one or more services at a time.
[0389] It should be understood that the above Figure 5 、 Figures 6A - 6C takes the services that Device A in the QOS system needs to send including the screen mirroring service P1, the voice call service V1, and the file sharing service D1, and the service that Device B needs to send including the voice call service V2 as examples for illustration. In another scenario, Device A can include more or fewer services that need to be sent than Figure 6C shown, and Device B can include more or fewer services than Figure 5 、 Figures 6A - 6CMore or less services to be sent as shown above. The above services can also be replaced by other services, and these services can also be carried by other links in the same frequency band or the same channel.
[0390] (2) QoS Optimization Method Caused by WiFi Transmission Rate Change
[0391] Figure 8 Taking the change in the WiFi transmission rate with Device B as an example, the QoS optimization method caused by the change in the WiFi transmission rate is exemplarily shown.
[0392] S201, the WiFi driver of Device A detects a change in the WiFi transmission rate with Device B.
[0393] The device can detect its own movement through the motion sensors carried by itself, such as an accelerometer, a gyroscope, etc. When it detects that the device moves or the moving distance is greater than a preset threshold, such as 2m, it can determine that the device position sends a movement.
[0394] Among them, when Device B moves, the WiFi transmission rate between other devices and Device B will change, that is, the highest effective rate of the link with Device B changes. Or, when Device A moves, the highest effective rate of the link between Device A and Device B will also change.
[0395] S202, the WiFi driver of Device A sends the highest effective rate after the link is updated to the bandwidth monitoring system.
[0396] In some embodiments, the WiFi driver of Device A can re-obtain the MCS rate of the link L AB between Device A and Device B, and then update the highest effective rate of the link L AB based on the negotiated rate. Exemplarily, the highest effective rate of the link L AB is updated to 150 Mbps.
[0397] S203, the bandwidth monitoring system of Device A sends the updated link information (that is, the updated highest effective rate of the updated link L AB ) to the information update system. In some other embodiments, the WiFi driver of Device A sends the information indicating the change in the highest effective rate of the link L AB to the bandwidth monitoring system. After receiving this information, the bandwidth monitoring system of Device A sends an update request for the link information indicating the updated link L AB to the information update system. In response to this update request, the information update system of Device A can re-measure the highest effective rate of the link. The information update system obtains the MCS rate of the link L AB from Device A to Device B, and then updates the link L based on the negotiated rateAB The highest effective rate.
[0398] S204, the information update system of device A collects its own device service information and device link information, and broadcasts and notifies other devices.
[0399] The specific implementation is the same as the above step S149. At this time, the device service information of device A itself includes the identifier of the screen mirroring service P1, the required bandwidth of 30 Mbps and service type 1, the identifier of the voice call service V1, the required bandwidth of 20 Mbps and service type 1, the identifier of the file sharing service D1 and service type 0, and the device link information includes the identifier of link L AB The identifier, the highest effective rate of 150 Mbps and the identifier of channel K1, and link L AC The identifier, the highest effective rate of 100 Mbps and the identifier of channel K2.
[0400] At this time, the notification may include information for indicating a change in the link information of link L AB of the link.
[0401] S205, the information update system of device A sends its own device service information and device link information to other devices.
[0402] S206, the information update system of device A receives the device service information and device link information from other devices.
[0403] Exemplarily, after receiving the notification broadcast in S204 above, device B and device C can also collect their own device link information and device service information, and send their own device service information and device link information to other devices.
[0404] Among them, the device link information of device B includes the identifier of link L AB The identifier, the highest effective rate of 200 Mbps and the identifier of channel K1, and the device service information includes the identifier of the voice call service V2, the required bandwidth of 20 Mbps and service type 1. Device C has no service to send, so it does not need to send device link information and device service information, or it can also send device link information and device service information. At this time, the device link information and device service information can be empty.
[0405] After S206, the link information and service information received by device A, device B, and device C are as follows:
[0406] The link information includes:
[0407] Link L AB , device A (mobile phone) → device B (tablet): The highest effective rate is 150 Mbps;
[0408] Link L AC , Device A (mobile phone) → Device C (PC): The highest effective rate is 100 Mbps;
[0409] The service information includes:
[0410] Screen mirroring service P1, carried on Link L AB with service type 1 and a required bandwidth of 30 Mbps;
[0411] Voice call service V1, carried on L AB with service type 1 and a required bandwidth of 20 Mbps;
[0412] Voice call service V2, carried on L BA with service type 1 and a required bandwidth of 20 Mbps;
[0413] File sharing service D1, carried on L AC with service type 0.
[0414] S207, After the information update system of Device A collects all the service information and link information in the QOS system, it sends a scheduling request to the QOS scheduling system. This scheduling request can include the link information and service information received by Device A.
[0415] S208, When the QOS scheduling system of Device A notifies the information indicating the change in the link information for Link L AB , in response to the scheduling request, it determines whether the services it sends include file transfer services. When there is no file transfer service, there is no need to calculate the file speed limit value. When there is a file transfer service, the speed limit value of the file service needs to be calculated.
[0416] S209, The QOS scheduling system of Device A determines that there is a file transfer service among the services it sends, and calculates the speed limit value of the file transfer service, that is, calculates the speed limit value of the file sharing service D1.
[0417] At this time, based on the required bandwidth of 30 Mbps for the screen mirroring service P1, 20 Mbps for the voice call service V1, 20 Mbps for the voice call service V2, the highest effective rate of Link L AB being 150 Mbps, and the highest effective rate of Link L AC being 100 Mbps, Device A calculates the speed limit value of the file sharing service D1. Exemplarily, based on the following Figure 13 shown speed limit value calculation method, the calculated speed limit value of the file sharing service D1 is (1 - 30 / 150 - 20 / 150 - 20 / 150)×0.8 = 0.427.
[0418] In another representation of the speed limit value of file sharing service D1, it is 0.427 * 100 Mbps = 42.7 Mbps.
[0419] In some other embodiments, when the QoS scheduling systems of device A, device B, and device C notify information including information indicating a change in link information of a link, in response to a scheduling request, device A, device B, and device C need to calculate the speed limit value of each file transfer service in the QoS system regardless of whether the services they want to send themselves include file transfer services. This speed limit value can be used by device A, device B, and device C to determine whether there is room for optimization in the QoS system when detecting that the QoE parameters of their non-file transfer services deteriorate.
[0420] S210. The QoS scheduling system of device A sends the requested bandwidth of its non-file transfer services and the speed limit value of its file transfer services to the bandwidth allocation system. That is, it sends the requested bandwidth of 30 Mbps for screen mirroring service P1, the requested bandwidth of 20 Mbps for voice call service, and the speed limit value of 42.7 Mbps for file sharing service D1.
[0421] S211. The bandwidth allocation system of device A allocates bandwidth for each non-file transfer service according to the requested bandwidth of each non-file transfer service, and allocates bandwidth for each file transfer service according to the speed limit value of each file transfer service.
[0422] S212. The bandwidth allocation system of device A sends the allocated bandwidth of each service to the sending system.
[0423] S213. The application programs of device A send the service data of each service to the sending system. That is, the screen mirroring application sends screen mirroring service P1 to the sending system, the call application sends voice call service V1 to the sending system, and the "gallery" application sends the service data of file sharing service D1 to the sending system.
[0424] S214. The sending system of device A sends the service data of each service to the WiFi driver according to the allocated bandwidth of each service.
[0425] S215. The WiFi driver of device A drives the WiFi module to send the service data of each service. That is, it sends the service data of screen mirroring service P1, voice call service V1, and file sharing service D1.
[0426] Among them, except for the differences in data values such as the speed limit value and allocated bandwidth of the service, the specific implementation of S204 - S215 can refer to the above steps S148 - S159, which will not be elaborated here.
[0427] It should be noted that device B will also execute the above steps S207 - S215 executed by device A. Figure 8Not shown. The difference is that the services to be sent by Device B are different. It is the voice call service V2. There is no file transfer service on the link with Device B as the sender. Device B does not need to calculate the speed limit value of the file transfer service, nor does it need to allocate bandwidth for the file transfer service.
[0428] Since there is no service to be sent on Device C, the above steps S204 - S215 may not be executed.
[0429] In the above example, finally, the allocated bandwidths of each service in the QOS system are as follows:
[0430] The allocated bandwidth for the screen mirroring service P1 is 30 Mbps;
[0431] The allocated bandwidth for the voice call service V1 is 20 Mbps;
[0432] The allocated bandwidth for the voice call service V2 is 20 Mbps;
[0433] The allocated bandwidth for the file sharing service D1 is 42.7 Mbps.
[0434] At this time, Device A sends the service data of the screen mirroring service P1 to Device B through link L AB at the allocated bandwidth of 30 Mbps for the screen mirroring service P1; and sends the service data of the voice call service V1 to Device B through link L AB at the allocated bandwidth of 20 Mbps for the voice call service V1. Also, it transmits the file to be shared through link L AB at a speed less than or equal to the allocated bandwidth of 42.7 Mbps for the file sharing service D1. Device B sends the service data of the voice call service V2 to Device A through link L AB at the allocated bandwidth of 20 Mbps for the voice call service V2.
[0435] Taking the change in the transmission rate detected on link L AB as an example, it should be understood that when Device A detects a change in the transmission rate of link L AC , the above S202 - S215 can also be triggered.
[0436] (3) QOS Optimization Method Caused by the Change in the Desired Bandwidth of the Service
[0437] The QOS monitoring system of Device A can also monitor changes in the device service information of the device itself, such as detecting changes in service requests, etc. When detecting a change in the desired bandwidth of the service, it can send the updated desired bandwidth to its information update system. Further, the device can execute the above Figure 8Among S204 - S215, the notification broadcast by device A at this time includes indication information for indicating a change in service information of the service. For the specific implementation of S204 - S215, reference can be made to the relevant descriptions in the above Figure 8 and will not be elaborated here. The following takes the screen mirroring service in device A as an example for illustration.
[0438] When the QOS scheduling systems of device A, device B, and device C receive a notification including information indicating a change in link information of the link, in response to a scheduling request, device A, device B, and device C can either calculate only the rate limit values of the file transfer services they include; or calculate the rate limit values of each file transfer service in the QOS system regardless of whether the services they are about to send include file transfer services. The calculated rate limit values of each file transfer service in the QOS system can be used by device A, device B, and device C to determine whether there is room for optimization in the QOS system when detecting that the QOE parameters of their non - file transfer services deteriorate.
[0439] Specifically, the QOS monitoring system of device A detects a change in the bitrate of the screen mirroring service and determines the required bandwidth of the screen mirroring service.
[0440] Among them, the QOS monitoring system detects the bitrate of each service, that is, the data traffic used per unit time. Exemplarily, the QOS monitoring system detects the bitrate of the service data sent by the screen mirroring application. When the user switches the clarity of the screen mirroring display, the QOS monitoring system can monitor that the bitrate of the screen mirroring service changes. When detecting a change in the bitrate of the screen mirroring service, it can re - determine the required bandwidth of this screen mirroring service.
[0441] Exemplarily, there is a corresponding relationship between the bitrate and the required bandwidth. When the bitrate becomes smaller, the corresponding required bandwidth becomes smaller. Conversely, when the bitrate becomes smaller, the corresponding required bandwidth becomes smaller. Exemplarily, when the bitrate of screen mirroring service P1 changes to 50 Mbps, the required bandwidth of screen mirroring service P1 needs to be updated to the required bandwidth corresponding to the new bitrate, which is 50 Mbps.
[0442] The bandwidth monitoring system of device A sends the updated required bandwidth of the screen mirroring service to the information update system, for example, it is 50 Mbps after the update.
[0443] At this time, after S204 - S206, the link information and service information received by device A, device B, and device C are as follows:
[0444] The link information includes:
[0445] Link L AB , device A (mobile phone) → device B (tablet): The highest effective rate is 150 Mbps;
[0446] Link L AC, Device A (mobile phone) → Device C (PC): The highest effective rate is 100 Mbps.
[0447] The service information includes:
[0448] The screen mirroring service P1 is carried on link L AB and the required bandwidth is 50 Mbps;
[0449] The voice call service V1 is carried on L AB and the required bandwidth is 20 Mbps;
[0450] The voice call service V2 is carried on L BA and the required bandwidth is 20 Mbps;
[0451] The file sharing service D1 is carried on L AC .
[0452] At this time, based on the required bandwidth of 50 Mbps for the screen mirroring service P1, 20 Mbps for the voice call service V1, 20 Mbps for the voice call service V2, the highest effective rate of link L AB being 150 Mbps, and the highest effective rate of link L AC being 100 Mbps, Device A calculates the rate limit value of the file sharing service D1. Exemplarily, based on the rate limit value calculation method shown below Figure 13 , the recalculated rate limit value of the file sharing service D1 is (1 - 50 / 150 - 20 / 150 - 20 / 150) * 0.8 = 0.32.
[0453] In another representation of the rate limit value of the file sharing service D1, it is 0.32 * 100 Mbps = 32 Mbps.
[0454] In the above example, finally, the allocated bandwidths of each service in the QOS system are as follows:
[0455] The allocated bandwidth of the screen mirroring service P1 is 50 Mbps;
[0456] The allocated bandwidth of the voice call service V1 is 20 Mbps;
[0457] The allocated bandwidth of the voice call service V2 is 20 Mbps;
[0458] The allocated bandwidth of the file sharing service D1 is 32 Mbps.
[0459] At this time, Device A sends the service data of the screen mirroring service P1 to Device B through link L AB at the allocated bandwidth of 50 Mbps of the screen mirroring service P1; and through link L ABSend the service data of voice call service V1 to device B with the allocated bandwidth of 20 Mbps for voice call service V1, and, through link L AB Transmit the file to be shared with a bandwidth less than or equal to 32 Mbps, which is the allocated bandwidth for file sharing service D1. Device B transmits through link L AB Send the service data of voice call service V2 to device A with the allocated bandwidth of 20 Mbps for voice call service V2.
[0460] (4) QoS optimization method caused by service termination
[0461] When the QoS monitoring system of the device can also monitor the change of the device service information of the device itself. For example, when it detects that a service is closed, it can send an indication message for indicating the change of service information to its information update system. Further, the device can execute the above Figure 8 S204 - S215. For the specific implementation of S204 - S215, reference can be made to the relevant description above Figure 8 and will not be elaborated here. The following takes the screen mirroring service in device A as an example to illustrate.
[0462] Figure 9 Taking the closure of the voice call service as an example, the process of QoS optimization caused by service closure is exemplarily shown.
[0463] S301, The call application of device B detects a user operation for indicating the end of the call.
[0464] S302, In response to this user operation, the call application of device B sends an instruction for indicating the end of the call to the call application of device A.
[0465] S303, The call application of device B closes voice call service V2.
[0466] S304, In response to this instruction, the call application of device A ends the call and closes voice call service V1.
[0467] S305, The call application of device A sends an indication message to the information update system to indicate the change of service information.
[0468] S306, The call application of device B also sends an indication message to the information update system to indicate the change of service information.
[0469] S307, The information update system of device A collects its own device service information and device link information, and broadcasts and notifies other devices. At this time, the device service information of device A itself includes the identifier of screen mirroring service P1, the required bandwidth of 50 Mbps and service type 1, the identifier of file sharing service D1 and service type 0. The device link information of device A itself includes link LAB with an identifier, a maximum effective rate of 150 Mbps, and channel K1, link L AC with an identifier, a maximum effective rate of 80 Mbps, and channel K2.
[0470] S308, the information update system of device A sends its own device service information and device link information to other devices.
[0471] S309, the information update system of device A receives device service information and device link information from other devices.
[0472] Exemplarily, after receiving the broadcast notification of S307 above, device B and device C can also collect their own device link information and device service information, and send their own device service information and device link information to other devices.
[0473] Among them, both device B and device C have no services to send, so they do not need to send device link information and device service information, or they can also send device link information and device service information. At this time, the device link information and device service information can be empty.
[0474] After S309, the link information and service information received by device A, device B, and device C are as follows:
[0475] The link information includes:
[0476] Link L AB , device A (mobile phone) → device B (tablet): the maximum effective rate is 100 Mbps;
[0477] Link L AC , device A (mobile phone) → device C (PC): the maximum effective rate is 80 Mbps;
[0478] The service information includes:
[0479] Screen mirroring service P1, carried on link L AB with service type 1 and a required bandwidth of 50 Mbps;
[0480] File sharing service D1, carried on L AC with service type 0.
[0481] S310, after the information update system of device A collects all the service information and link information in the QOS system, it sends a scheduling request to the QOS scheduling system. This scheduling request can include the link information and service information received by device A.
[0482] S311. The QoS scheduling system of Device A responds to a scheduling request and determines whether the services it sends include file transfer services. If not, there is no need to calculate the file speed limit value. If there are file transfer services, the speed limit value of the file service needs to be calculated.
[0483] S312. The QoS scheduling system of Device A determines that there are file transfer services in the services it sends and calculates the speed limit value of the file transfer service, that is, calculates the speed limit value of file sharing service D1.
[0484] At this time, based on the required bandwidth of 50 Mbps for screen mirroring service P1, the maximum effective rate of link L AB is 100 Mbps, and the maximum effective rate of link L AC is 80 Mbps, the QoS scheduling system of Device A calculates the speed limit value of file sharing service D1. Exemplarily, based on the following Figure 13 shown method for calculating the speed limit value, the calculated speed limit value of file sharing service D1 is (1 - 50 / 100) * 0.9 = 0.45. At this time, the anti-collision coefficient is 0.9.
[0485] In another representation of the speed limit value of file sharing service D1, it is 0.45 * 80 Mbps = 36 Mbps.
[0486] S313. The QoS scheduling system of Device A sends the required bandwidth of its non - file transfer services and the speed limit value of the file transfer service to the bandwidth allocation system. At this time, it sends the required bandwidth of 50 Mbps for screen mirroring service P1 and the speed limit value of 36 Mbps for file sharing service D1.
[0487] S314. The bandwidth allocation system of Device A allocates bandwidth for each non - file transfer service according to the required bandwidth of each non - file transfer service and allocates bandwidth for each file transfer service according to the speed limit value of each file transfer service. At this time,
[0488] the allocated bandwidth for screen mirroring service P1 is 50 Mbps, and the allocated bandwidth for file sharing service D1 is less than or equal to the speed limit value of 36 Mbps, such as 36 Mbps.
[0489] S315. The bandwidth allocation system of Device A sends the allocated bandwidth of each service to the sending system, that is, sends the allocated bandwidth of 50 Mbps for screen mirroring service P1 and the allocated bandwidth of 36 Mbps for file sharing service D1.
[0490] S316. The application program of Device A sends the service data of each service to the sending system, that is, the screen mirroring application sends screen mirroring service P1 to the sending system, and the "Gallery" application sends the service data of file sharing service D1 to the sending system.
[0491] S317. The sending system of device A sends the service data of each service to the WiFi driver according to the allocated bandwidth of each service.
[0492] S318. The WiFi driver of device A drives the WiFi module to send the service data of each service, that is, to send the service data of the screen mirroring service P1 and the file sharing service D1.
[0493] For the specific implementation of S307 - S318, reference can be made to the above steps S148 - S159, which will not be elaborated here.
[0494] Since device B and device C do not contain services to be sent and there is no change in service information, they may not execute the steps that device A needs to execute in S307 - S318 above.
[0495] In the above example, finally, the allocated bandwidth of each service in the QOS system is as follows:
[0496] The allocated bandwidth of the screen mirroring service P1 is 50 Mbps;
[0497] The allocated bandwidth of the file sharing service D1 is 36 Mbps.
[0498] At this time, device A sends the service data of the screen mirroring service P1 to device B through link L AB at the allocated bandwidth of 50 Mbps of the screen mirroring service P1; and, through link L AB transmits the file to be shared at a speed less than or equal to the allocated bandwidth of 32 Mbps of the file sharing service D1.
[0499] In some other embodiments, when there is no file transfer service in the device, no newly created or closed service in the device, and no service with changed service information, the device may also not send a scheduling request, that is, continue to send the service data of the service using the original allocated bandwidth of the service.
[0500] It should be noted that in the embodiments shown in the above (1) - (4), the specific speed limit values calculated are illustrated by taking the example of no service sending lag and delay at present, with the optimization coefficient Q = 0. It should be understood that when the QOS system has lags, for the QOS optimization method caused by the creation, closing, change of service information, and change of link information, the method for calculating the speed limit value of the file transfer service is as follows Figure 17 , and the optimization coefficient Q needs to be considered.
[0501] The receiving or sending end of a service can detect whether the service experiences lags, delays, etc. However, the reasons for lags or delays may be changes in the communication environment of the current QoS system, with increased interference, which causes the maximum effective rate of each link in the QoS system to become smaller. At this time, the information update systems of each device in the QoS system alone re-collect their respective device link information and device service information, and recalculate the speed limit values for each file transfer service in the QoS system. However, in some scenarios, even if the minimum speed limit value is used for the file transfer service, the problem of service lag cannot be solved. Therefore, in response to the situation where QoE parameters such as lags and delays deteriorate, the embodiments of the present application provide the following QoS optimization method.
[0502] (V) A QoS optimization method caused by lags
[0503] As Figure 10 shown, it is a flowchart of a QoS optimization method caused by lags provided by the embodiments of the present application. The method may include the following parts or partial steps:
[0504] S401: The QoE detection system of device A detects whether the first service experiences lags or whether the degree of lag increases.
[0505] The QoE detection system of each device in the QoS system can detect the QoE parameters of each non-file transfer service it sends. The embodiments of the present application take device A as an example for illustration.
[0506] The first service is a non-file transfer service with device A as the sending end, which can be any non-file transfer service in the QOA system with device A as the sending end, such as the above-mentioned screen mirroring service P1. Figure 12 The QoE detection system, linkage system, and streaming media cache unit in
[0507] are all located in the service for realizing the transmission of the service data of the first service, or correspond to the service for realizing the transmission of the service data of the first service. In another implementation, when the receiving end of the first service detects a lag, it can also send the lag duration or lag level to device A. The QoE detection system of device A can determine whether the first service experiences lags or whether the degree of lag becomes larger based on the received lag duration or lag level. In the embodiments of the present application, the QoE parameter is the lag duration or lag level. The QoE detection system can detect whether there is a lag, lag duration, and lag level based on the sending situation of the service data of the first service in the dynamic cache unit. It should be understood that when the lag duration is greater than the first threshold, it is determined that a lag has occurred. When the lag duration increases from small to large or the lag level increases from low to high (i.e., the lag level rises), the degree of lag increases. Conversely, when the lag duration decreases from large to small or the lag level decreases from high to low (i.e., the lag level drops), the degree of lag decreases.
[0508] Exemplarily, the stuttering levels can be divided into no stuttering, slight stuttering, and severe stuttering, and may also include more or fewer levels, with each level corresponding to a range of stuttering durations. Among them, for real-time services, such as screen mirroring services, a video frame is generated at a fixed period of 16 ms. If all the data packets generated can be received by the receiving end in time, there is no stuttering. If the stuttering duration within 1 s is greater than 200 ms and less than 800 ms, it is determined as slight stuttering; if the stuttering duration within 1 s is greater than 800 ms, it is determined as severe stuttering. It should be understood that 200 ms and / or 800 ms can also be replaced by other durations. The stuttering levels are not limited to the above three levels and may also include more or fewer levels. Among them, the stuttering duration is the stuttering duration within a unit time.
[0509] In some embodiments, when the QOE detection system monitors that the first service is stuttering, it executes S402.
[0510] In other embodiments, when the QOE detection system detects that the stuttering level of the first service increases, that is, changes from no stuttering to slight stuttering or severe stuttering, or changes from slight stuttering to severe stuttering, it executes S402 to optimize the QOS of non-file transfer services in the WiFi system by throttling the file transfer service, thereby optimizing the QOS of the first service.
[0511] S402: When the stuttering occurs or the stuttering level increases in the QOE detection system of device A, it sends an optimization request to the QOS scheduling system.
[0512] S403: In response to the optimization request, the QOS scheduling system of device A determines whether the QOS system has room for optimization.
[0513] Although there is a certain time since the last (i.e., the most recent) QOS optimization, since the service information and link information of the QOS system will be updated when the service information or link information changes, in the embodiments of the present application, it is possible to first determine whether the current QOS system still has room for optimization, that is, whether it can be optimized, based on the result of the last QOS optimization. Among them, the service demand bandwidth obtained from the last optimization of the service is also the current service demand bandwidth of the service, and the highest effective rate obtained from the last optimization of the link is also the current highest effective rate of the link.
[0514] Exemplarily, after the above Figures 6A - 6C When device A detects stuttering or an increase in the stuttering level, the results after the last QOS optimization include the following information:
[0515] The link information includes:
[0516] Link L AB, Device A (mobile phone) → Device B (tablet): The highest effective rate is 150 Mbps;
[0517] Link L AC , Device A (mobile phone) → Device C (PC): The highest effective rate is 100 Mbps;
[0518] The service information includes:
[0519] The screen mirroring service P1 is carried on Link L AB with service type 1 and a required bandwidth of 30 Mbps;
[0520] The voice call service V1 is carried on L AB with service type 1 and a required bandwidth of 20 Mbps;
[0521] The voice call service V2 is carried on L BA with service type 1 and a required bandwidth of 20 Mbps;
[0522] The file sharing service D1 is carried on L AC with service type 0.
[0523] The speed limit values include:
[0524] The speed limit value of the file sharing service D1 is 52 Mbps.
[0525] When it is recognized based on the service information of the QOS system obtained most recently that there is no file transfer service in the QOS system, it is determined that QOS optimization is not required, that is, QOS scheduling cannot be performed.
[0526] In some embodiments, when it is recognized that the QOS system includes a file transfer service, the judgment result is that it can be optimized, that is, there is room for optimization, and S404 - S414 are triggered to be executed. Or, when the current QOS system does not include a file transfer service, the judgment result is that it cannot be optimized, that is, there is no room for optimization, and S415 - S418 are triggered to be executed.
[0527] In some other embodiments, when device A recognizes that the QOS system includes a file transfer service, it also needs to determine whether the speed limit values of the file transfer services in the current QOS system are all the minimum speed limit values based on the speed limit value of the file transfer service obtained from the most recent optimization, etc. When the QOS system includes a file transfer service and the speed limit values of the file transfer services in the QOS system are not all the minimum speed limit values, it is determined that the QOS system can be optimized, that is, there is room for optimization, and QOS scheduling can be performed, triggering the execution of S404 - S414. On the contrary, when the QOS system includes a file transfer service and the speed limit values of the file transfer services in the QOS system are all the minimum speed limit values, it is determined that the QOS system cannot be optimized, that is, there is no room for optimization, and QOS scheduling cannot be performed, and S415 - S418 are executed.
[0528] Exemplarily, the QOS system includes a file transfer service, namely D1, whose speed limit value is 52 Mbps and the minimum speed limit value is 5 Mbps. Then, since the speed limit value of the file transfer service is greater than the minimum speed limit value, the QOS system can be optimized.
[0529] It should be understood that the minimum speed limit values of different file transfer services can be the same or different. Exemplarily, the minimum speed limit value of a file transfer service can be related to the data volume of the file to be transferred. The larger the data volume, the larger the minimum speed limit value.
[0530] In still some other embodiments, when device A recognizes that the QOS system includes a file transfer service, it also needs to determine whether the available bandwidth of the file transfer service in the current QOS system is greater than a first threshold. When the available bandwidth of the file transfer service in the QOS system is greater than the first threshold, it is determined that the previous QOS system can be optimized, and QOS scheduling can be triggered, executing S404 - S414. On the contrary, when the QOS system includes a file transfer service and the available bandwidth of the file transfer service in the QOS system is less than the first threshold, it is determined that the previous QOS system cannot be optimized, and QOS scheduling cannot be performed, triggering the execution of S415 - S418.
[0531] In this application, the total time ratio of the file transfer service determined based on the current required bandwidth of the service in the QOS system and the current highest effective rate of the link is also referred to as the current total time ratio of the file transfer service, and the available bandwidth determined based on this current total time ratio is also referred to as the current available bandwidth of the file transfer service.
[0532] In one implementation, the available bandwidth T 可用 of the file transfer service is the total time ratio T3 of the file transfer service, and can be obtained based on the following formula:
[0533] T 可用 = T3 = 1 - T1 - T2 - Q; or,
[0534]
[0535] Among them, T1 is the time occupancy ratio of real-time services determined based on the current required bandwidth of real-time services in the QOS system and the current highest effective rate of the links where these real-time services are located. T2 is the time occupancy ratio of delay-sensitive services determined based on the current required bandwidth of delay-sensitive services in the QOS system and the current highest effective rate of the links where these delay-sensitive services are located. Q is an optimization coefficient determined based on the duration or level of stuttering of the services with stuttering. The calculation methods for T1, T2, T3, and Q can refer to the following Figure 17 embodiment of the method for calculating the remaining bandwidth shown below, which will not be elaborated here. M is the number of file transfer services in the QOS system, s is the index of the file transfer service in the QOS system, s is a positive integer not greater than M, V s is the current speed limit value of the s-th file transfer service in the QOS system, γ s is the current highest effective rate of the link carrying the s-th file transfer service in the QOS system.
[0536] At this time, the first threshold can be a fixed value, such as 0, 0.1, or 0.2. When the first threshold is 0, the bandwidth can be exhausted by non-file transfer services, and the speed limit value of the file transfer service can be 0. When the first threshold is a non-zero positive number, the bandwidth will not be exhausted by non-file transfer services, and the speed limit value of the file transfer service is not 0.
[0537] Alternatively, the first threshold can be determined based on the number of file transfer services in the QOS system, the minimum speed limit value of the file transfer service, and the current highest effective rate of each link carrying the file transfer service. For example, the first threshold T min is:
[0538] Or,
[0539] T min = M * T5
[0540] Among them, M is the number of file transfer services in the QOS system, s is the index of the file transfer service in the QOS system, s is a positive integer not greater than M. V min,s is the minimum speed limit value of the s-th file transfer service in the QOS system, γ s is the highest effective rate of the link carrying the s-th file transfer service in the QOS system. T5 is the minimum time occupancy ratio of a single file transfer service, such as 0.05, etc. M * T5 is the minimum total time occupancy ratio of the file transfer services in the QOS system.
[0541] Optionally, the minimum speed limit values of each file transfer service in the QOS system are the same, all being a preset speed limit value, such as 5 Mbps.
[0542] Exemplarily, for slight jitter, Q is 0.05, and the corresponding V Q value is 5 Mbps. For severe jitter, Q is 0.1, and V Q value is 15 Mbps. If the jitter duration of the screen mirroring service P1 is 500 ms, taking Q as 0.1 as an example, the available bandwidth of the file transfer service is the same as T3, which is 0.55. Taking the minimum speed limit value as 5 Mbps as an example, the first threshold T min is 5 / 100, that is, 0.05. Obviously, T3 is greater than the first threshold T min , and at this time, there is room for optimization.
[0543] In another implementation, the available bandwidth T of the file transfer service 可用 is the difference between the total time ratio T3 of the file transfer service and the minimum total time ratio of the file transfer service in the QOS system, that is:
[0544] Or,
[0545] T 可用 = T3 - M * T5
[0546] At this time, the first threshold can be 0.
[0547] Exemplarily, when the QOS system includes the first service (such as screen mirroring service) of device A and device B includes the file transfer service,
[0548] Exemplarily, for slight jitter, Q is 0.05, and the corresponding V Q value is 5 Mbps. For severe jitter, Q is 0.1, and V Q value is 15 Mbps. If the jitter duration of the screen mirroring service P1 is 500 ms, taking Q as 0.1 as an example, T3 is 0.55. Taking the minimum speed limit value as 5 Mbps as an example, the first threshold T is 5 / 100, that is, 0.05. The available bandwidth of the file transfer service is 0.55 - 0.05, that is, 0.5. Obviously, the available bandwidth 0.5 of the file transfer service is greater than the first threshold 0, and at this time, there is room for optimization.
[0549] In another implementation, the available bandwidth T of the file transfer service 可用 is the product of the total time ratio T3 of the file transfer service and the highest effective rate γ of the link carrying the first service a . That is:
[0550] T 可用 = T3 * γ a
[0551] At this time, the first threshold T min can be or be M * T5 * γa 。
[0552] In another implementation, the available bandwidth T of the file transfer service 可用 is the product of the difference between the total time ratio T3 of the file transfer service and the minimum total time ratio of the file transfer service in the QOS system and the highest effective rate γ of the link carrying the first service. That is: a Namely:
[0553]
[0554] T 可用 =(T3 - M * T5) * γ a ;
[0555] At this time, the first threshold can be 0.
[0556] S404: The QOS scheduling system of device A sends the judgment result to the QOE detection system.
[0557] Among them, the judgment result is used to indicate whether the current QOS system can be optimized or has room for optimization, that is, whether QOS scheduling can be performed.
[0558] S405: When the judgment result indicates that there is room for optimization, the QOS scheduling system of device A sends an update request to the information update system, and the update request is used to instruct the information update system to re-collect the service information and link information in the QOS system.
[0559] In the embodiments of the present application, first, based on the information obtained during the previous QOS optimization, it is preliminarily determined whether there is room for QOS optimization. When there is room for optimization, the service information and link information of the QOS system need to be updated again. The QOS scheduling system of device A sends an update instruction to the information update system, triggering the execution of S406 - S408 to optimize the QOS system, because the service information and link information in the current QOS system may have changed, such as an increase in interference, resulting in a decrease in the highest effective rate, or an increase in services, or other reasons, which cause the service to freeze.
[0560] S406, in response to the update instruction, the information update system of device A collects its own device service information and device link information and broadcasts a notification.
[0561] Here, the notification may also include indication information for indicating that the first service freezes or the freeze level increases. Optionally, for the solution including the optimization coefficient Q, the notification may also include one or more of the freeze duration of the first service, the identifier of the freeze level, the Q value, or the V Q value.
[0562] S407, The information update system of Device A sends its own device service information and device link information to the information update systems of other devices.
[0563] S408, The information update system of Device A receives the device service information and device link information sent by the information update systems of other devices. That is, it receives the device service information and device link information of Device C sent by Device C, and the device service information and device link information of Device B sent by Device B.
[0564] It should be understood that in response to the above notification, Device B and Device C will also collect their own device link information and device service information, and send their own device link information and device service information to other devices. It should also be understood that if Device A or Device C has no services to send, it can either not send its own device link information and device service information, or send the device link information and device service information, in which case the device link information and device service information can be empty.
[0565] Exemplarily, after Device A detects a lag or an increase in the lag level, and after steps S406 - S408, the link information and service information received by Device A, Device B, and Device C are as follows:
[0566] The link information includes:
[0567] Link L AB , from Device A (mobile phone) → Device B (tablet): The maximum effective rate is 100 Mbps;
[0568] Link L AC , from Device A (mobile phone) → Device C (PC): The maximum effective rate is 50 Mbps;
[0569] The service information includes:
[0570] Screen mirroring service P1, carried on Link L AB , sent from Device A to Device B, service type 1, requested bandwidth is 30 Mbps;
[0571] Voice call service V1, carried on L AB , sent from Device A to Device B, service type 1, requested bandwidth is 20 Mbps;
[0572] Voice call service V2, carried on L BA , sent from Device B to Device A, service type 1, requested bandwidth is 20 Mbps;
[0573] File sharing service D1, carried on L AC , sent from Device A to Device C, service type 0.
[0574] The notification may include:
[0575] Indication information for the stuttering or increased stuttering level of the first service (screen mirroring service P1).
[0576] S409, the information update system of device A sends a scheduling request to the QOS scheduling system. The scheduling request includes the currently received link information and service information.
[0577] S410, the QOS scheduling system of device A responds to the scheduling request and calculates the speed limit value of the file transfer service based on the received link information and service information.
[0578] Based on the following Figure 17 shown speed limit value calculation method, exemplarily, based on the required bandwidth of the above screen mirroring service P1, the required bandwidth of the voice call service V1, the required bandwidth of the voice call service V2, the link L AB 's highest effective rate and the link L AC 's highest effective rate to determine the required bandwidth of the file sharing service D1.
[0579] In some other embodiments, the QOS system may also include more services, such as the file transfer service D2 with device A as the sender carried on L AB and the screen mirroring service P2 with device C as the sender carried on L Ac At this time, when calculating the speed limit value, it is necessary to determine the required bandwidth of the file sharing service D1 and the required bandwidth of the file sharing service D2 based on the required bandwidth of the above screen mirroring service P1, the required bandwidth of the screen mirroring service P2, the required bandwidth of the voice call service V1, the required bandwidth of the voice call service V2, the link L AB 's highest effective rate and the link L AC 's highest effective rate.
[0580] For embodiments that need to judge whether there is optimization space in the current QOS system based on the speed limit value of the file transfer service, regardless of whether device A itself contains the file transfer service to be sent, it is necessary to calculate the speed limit value of each file transfer service in the QOS system.
[0581] For embodiments that do not need to judge whether there is optimization space in the current QOS system based on the speed limit value of the file transfer service, in S410, device A can judge whether the service it sends contains the file transfer service. If so, it calculates the speed limit value of its own file transfer service (i.e., the file transfer service with device A as the transmitter) based on the received link information and service information. If not, it may not calculate the speed limit value, nor execute S411 - S414, and the sending system sends the service data of each service to the WiFi driver according to the original allocated bandwidth of its own service.
[0582] S411. The QoS scheduling system of device A sends the required bandwidth of its non-file transfer services and the speed limit value of its file transfer services to the bandwidth allocation system.
[0583] When the services with device A as the sender do not include file transfer services, the QoS scheduling system of device A does not need to send the speed limit value of file transfer services to the bandwidth allocation system.
[0584] S412. The bandwidth allocation system of device A allocates bandwidth for each non-file transfer service according to the required bandwidth of each of its non-file transfer services, and allocates bandwidth for each file transfer service according to the speed limit value of each of its file transfer services.
[0585] Among them, the allocated bandwidth of the non-file transfer service is its required bandwidth. The allocated bandwidth of the file transfer service is its speed limit value.
[0586] S413. The bandwidth allocation system of device A sends the allocated bandwidth of its services to the sending system.
[0587] The sent allocated bandwidth is the bandwidth allocated for the services in S412 above.
[0588] S414. The sending system of device A sends the service data of each of its services to the WiFi driver according to the allocated bandwidth of its services, that is, the service data of the services created by device A.
[0589] Among them, the application program of device A sends the service data of the services it creates to its sending system. The sending system of device A sends the service data of each service to the WiFi driver according to the allocated bandwidth of its services. Further, the WiFi driver of device A drives the WiFi module to send the service data of each service ( Figure 8 not shown in the figure) to send the service data to the receiving end.
[0590] S415: When the QoE detection system of device A determines that the current QoS system has no room for optimization, it sends a bitrate adjustment request to the linkage system. The bitrate adjustment request may include the current buffering duration or buffering level.
[0591] S416: In response to the bitrate adjustment request, the linkage system of device A estimates at least one of the bitrate, frame rate, and resolution of the first service according to the buffering duration or buffering level.
[0592] Among them, the estimated bitrate, frame rate, and resolution of the first service make the first service have no buffering, the buffering duration is reduced, the buffering level is reduced, or the buffering level is reduced by at least one level, for example, from severe buffering to mild buffering.
[0593] In one implementation, the linkage system of device A can store the correspondence between the carding duration and the bit rate, frame rate, and resolution. Furthermore, the bit rate, frame rate, and resolution corresponding to the current carding duration are respectively selected as the estimated bit rate, frame rate, and resolution of the first service.
[0594] In another implementation, the linkage system of device A can store the correspondence between the carding level and the bit rate, frame rate, and resolution. Furthermore, the bit rate, frame rate, and resolution corresponding to the current carding level are respectively selected as the estimated bit rate, frame rate, and resolution of the first service.
[0595] In another implementation, at least one of the bit rate, frame rate, and resolution of the first service can also be estimated based on other methods, so as to adjust the first service using the estimated bit rate, frame rate, and resolution to reduce or eliminate the carding of the first service.
[0596] S417: The linkage system of device A sends the estimation result to the application program that creates the first service.
[0597] S418: The application program that creates the first service in device A reduces at least one of the bit rate, frame rate, and resolution of the first service according to the estimation result. That is, the bit rate, frame rate, or resolution of the first service is adjusted to the estimated bit rate, frame rate, or resolution respectively.
[0598] Exemplarily, when carding occurs or the carding level increases, the application program reduces at least one of the bit rate, frame rate, and resolution of the first service according to the estimation result to reduce the carding of the first service.
[0599] Optionally, when the carding disappears or the carding level decreases, the application program can also increase at least one of the bit rate, frame rate, and resolution of the first service to increase the clarity of the first service without carding and improve the user experience.
[0600] It should be understood that after the application program adjusts at least one of the bit rate, frame rate, and resolution of the first service, the required bandwidth of the first service changes, and the application program can also send the required bandwidth of the first service to the bandwidth management system, thereby re-triggering the QOS optimization of the QOS system. For details, refer to the QOS optimization method caused by the above-mentioned service information change.
[0601] In some embodiments, when the QOS scheduling system determines that the current remaining bandwidth or available bandwidth is greater than the second threshold, it can also send a request for indicating an increase in the bit rate to the QOE detection system. After receiving the request, the QOE detection system increases at least one of the current bit rate, frame rate, and resolution. The second threshold is greater than the first threshold.
[0602] It should be understood that, similar to Device A, Devices B and C will also execute S409 - S414 executed by Device A above to enable Devices B and C to re - allocate bandwidth for their own services. For details, please refer to S409 - S414 above, which will not be elaborated here.
[0603] (6) QoS Optimization Method Caused by Delay
[0604] The above Figure 11 takes the QoS parameter as the freeze duration or freeze level as an example for illustration. In another embodiment, the QoS parameter can also be the delay or delay level. The QoE detection system of Device A can also detect the average delay of the first service. When the delay becomes larger or greater than the preset delay, it can send an optimization request to the QoS scheduling system. The QoS scheduling system preliminarily judges whether there is room for QoS optimization based on the information obtained from the previous QoS optimization. When there is room for optimization, it re - triggers QoS optimization, that is, executes S405 - S414; while when there is no room for optimization, it adjusts at least one of the bit rate, frame rate, and resolution of the first service based on the delay or delay level of the first service. Here, the delay can be the average delay.
[0605] Specifically, as Figure 9 shown, it is a flowchart of the method for the QoS optimization process caused by the average delay provided by the embodiments of the present application. This method can include the following parts or partial steps:
[0606] S501: The QoE detection system of Device A detects whether the first service has a delay or an increase in the degree of delay.
[0607] The first service is a non - file transfer service and can be any service in the QoS system with Device A as the sender. For example, it is the above - mentioned voice call service V1. Figure 11 The QoE detection system, linkage system, and streaming media cache unit of
[0608] are all located in the service for realizing the transmission of the service data of the first service, or corresponding to the service for realizing the transmission of the service data of the first service. In the embodiments of the present application, the QoE parameter is the delay duration and delay level. The QoE detection system can detect whether there is a delay, the duration of the delay, and the delay level based on the sending situation of the service data of the first service in the dynamic cache unit. Among them, when the delay of the first service is greater than the second duration threshold, such as 20ms, 30ms, 40ms, it is determined that the first service has a delay.
[0609] It should be understood that based on the magnitude of the latency duration, the latency can be divided into multiple intervals (also referred to as latency duration ranges or latency levels). Multiple latency intervals (also referred to as latency levels) can include no latency, low latency, and high latency according to their different latency magnitudes. No latency refers to a latency less than the first duration, low latency refers to a latency not less than the first duration and not greater than the second duration, and high latency refers to a latency greater than the second duration, where the second duration is greater than the first duration. The first duration can be 0ms, 1ms, 3ms, 5ms, 10ms, etc., which is not limited here. The second duration can be 5ms, 10ms, 16ms, 20ms, 30ms, etc., which is not limited here.
[0610] Optionally, an increase in the degree of latency means that the duration of the latency becomes longer or the latency level increases. Among them, the duration of the latency becoming longer means that the latency detected this time is longer than the latency detected last time, or the duration increase value is greater than 5ms, 10ms, etc. The latency level increasing means that the latency level where the latency is located becomes higher than the latency level detected last time, such as changing from a latency interval with a small latency (no latency) to a latency interval with a large latency (high latency). Conversely, the latency level decreasing means that the latency level where the latency is located decreases compared to the latency level detected last time, such as changing from a latency interval with a large latency (high latency) to a latency interval with a small latency (low latency).
[0611] In some embodiments, when the QOE detection system monitors that the latency becomes larger or is greater than a preset latency, it executes S502.
[0612] In other embodiments, when the QOE detection system detects that the latency changes from no latency to low latency (also referred to as small latency), or from low latency to high latency (also referred to as large latency), it executes S502 to optimize the QoS of non-file transfer services in the QoS system by throttling the file transfer service, thereby optimizing the QOE of the first service.
[0613] In still other embodiments, when the QOE detection system detects no latency, or detects that the latency level changes from low latency or high latency to no latency, the linkage system can execute S516 - S518 to re-evaluate at least one of the bit rate, frame rate, and resolution, so as to improve the evaluated bit rate, frame rate, and resolution and improve the user experience.
[0614] S502: The QOE detection system of device A sends an optimization request to the QoS scheduling system.
[0615] S503: In response to the optimization request, the QoS scheduling system of device A determines whether the QoS system has room for optimization.
[0616] The method of judgment is the same as that in S403 above, except that the QOE parameter is changed from the duration of stuttering and the stuttering level to the duration of delay or the delay level respectively.
[0617] S504: The QOS scheduling system of device A sends the judgment result to the QOE detection system.
[0618] Among them, the judgment result is used to indicate whether the current QOS system can be optimized or whether there is room for optimization, that is, whether QOS scheduling can be performed.
[0619] S505: When the judgment result is that it can be optimized, the QOS scheduling system of device A sends an update request to the information update system, and the update request is used to instruct the information update system to re-collect the service information and link information in the QOS system.
[0620] S506, the information update system of device A responds to the update request, collects its own device service information and device link information, and broadcasts a notice.
[0621] At this time, the notice may also include indication information for indicating that the delay or delay level of the first service has increased. Optionally, for the solution including the optimization coefficient Q, the notice may also include one or more of the delay duration of the first service, the identifier of the delay level, the Q value or the V Q value.
[0622] S507, the information update system of device A sends its own device service information and device link information to the information update systems of other devices.
[0623] S508, the information update system of device A receives the device service information and device link information sent by the information update systems of other devices. That is, it receives the device service information and device link information of device C sent by device C, and the device service information and device link information of device B sent by device B.
[0624] It should be understood that in response to the above notice, device B and device C will also collect their own device link information and device service information, and send their own device link information and device service information to other devices. It should also be understood that if device A or device C has no services to send, it may not send its own device link information and device service information, or it may send the device link information and device service information, and at this time the device link information and device service information may be empty.
[0625] S509, the information update system of device A sends a scheduling request to the QOS scheduling system. The scheduling request includes the currently received link information and service information.
[0626] S510. The QoS scheduling system of device A calculates the speed limit value of the file transfer service in response to the scheduling request, based on the received link information and service information.
[0627] S511. The QoS scheduling system of device A sends the requested bandwidth of its non-file transfer services and the speed limit value of its file transfer services to the bandwidth allocation system.
[0628] S512. The bandwidth allocation system of device A allocates bandwidth for each non-file transfer service according to the requested bandwidth of each non-file transfer service, and allocates bandwidth for each file transfer service according to the speed limit value of each file transfer service.
[0629] Among them, the allocated bandwidth of the non-file transfer service is its requested bandwidth. The allocated bandwidth of the file transfer service is its speed limit value.
[0630] S513. The bandwidth allocation system of device A sends the allocated bandwidth of each of its services to the sending system.
[0631] S514. The sending system of device A sends the service data of each service to the WiFi driver according to the allocated bandwidth of its own service, that is, the service data of the services created by device A.
[0632] Among them, the application program of device A sends the service data of the services it creates to its sending system. The sending system of device A sends the service data of each service to the WiFi driver according to the allocated bandwidth of its own service. Further, the WiFi driver of device A drives the WiFi module to send the service data of each service ( Figure 9 not shown in the figure) to send the service data to the receiving end.
[0633] For the specific implementation of the above S505 - S514, reference can be made to the specific implementation of S405 - S414 in the above Figure 8 which will not be elaborated here.
[0634] S515: When the QoE detection system of device A determines that there is no optimization space in the current QoS system, it sends a bitrate adjustment request to the linkage system. The bitrate adjustment request may include the current delay duration, delay level, or delay duration range.
[0635] S516: The linkage system of device A responds to the bitrate adjustment request and estimates at least one of the bitrate, frame rate, and resolution of the first service according to the delay duration or delay level.
[0636] Among them, the estimated bitrate, frame rate, and resolution of the first service make the first service have no delay, the delay duration is reduced, the delay level is reduced, or the delay level is reduced by at least one level, for example, from severe delay to slight delay.
[0637] In one implementation, the linkage system of device A can store the corresponding relationships between the delay duration and the bit rate, frame rate, and resolution. Furthermore, the bit rate, frame rate, and resolution corresponding to the current delay duration are respectively selected as the estimated bit rate, frame rate, and resolution of the first service.
[0638] In another implementation, there are corresponding relationships between the delay levels and the bit rate, frame rate, and resolution. Furthermore, the bit rate, frame rate, and resolution corresponding to the delay level where the current delay duration is located can be determined as the bit rate, frame rate, and resolution of the estimated target service respectively.
[0639] In another implementation, at least one of the bit rate, frame rate, and resolution of the first service can also be estimated based on other methods, so as to adjust the first service using the estimated bit rate, frame rate, and resolution to reduce or eliminate the average delay of the first service.
[0640] S517: The linkage system of device A sends the estimation result to the application program that creates the first service.
[0641] S518: The application program that creates the first service in device A reduces at least one of the bit rate, frame rate, and resolution of the first service according to the estimation result. That is, the bit rate, frame rate, and resolution of the first service are respectively adjusted to the estimated bit rate, frame rate, and resolution.
[0642] It should be understood that after the application program adjusts at least one of the bit rate, frame rate, and resolution, the required bandwidth of the first application changes. The required bandwidth of the first service can also be sent to the bandwidth management system, so as to trigger the QOS optimization of the QOS system again. For the specific method, refer to the QOS optimization method caused by the change of the above service information.
[0643] In some embodiments, when the QOS scheduling system determines that the current remaining bandwidth or available bandwidth is greater than the second threshold, a request for indicating an increase in the bit rate can also be sent to the QOE detection system. After receiving the request, the QOE detection system increases at least one of the current bit rate, frame rate, and resolution.
[0644] It should be understood that the same as device A, device B and device C will also execute S509 - S514 executed by device A to re - allocate bandwidth for their own services. For the specific content, refer to S509 - S514 above and will not be elaborated here.
[0645] (VII) Another QOS optimization process caused by the deterioration of QOE parameters.
[0646] As Figure 12 shown, it is a flowchart of a QOS optimization method caused by the deterioration of QOE parameters provided by an embodiment of the present application. This method may include the following parts or partial steps:
[0647] S601: The QOE detection system of device A detects whether the QOE parameters of the first service meet the first condition.
[0648] Among them, the QOE parameters are the duration of stuttering, the stuttering level, the latency duration, or the latency level. When the duration of stuttering of the first service is greater than the first duration threshold, the first service experiences stuttering and meets the first condition; when the stuttering level of the first service increases, the first condition is met; when the latency duration of the first service is greater than the second duration threshold, the first service experiences stuttering and meets the first condition; when the latency level of the first service increases, the first condition is met. For details on stuttering, stuttering level, latency, latency level, etc., please refer to the relevant descriptions in S401 and S501 above, and will not be elaborated here.
[0649] S602: When the QOE detection system of device A detects that the QOE parameters of the first service meet the first condition, it sends an optimization request to the QOS scheduling system.
[0650] Among them, the optimization request may carry information indicating that the QOE parameters of the first service meet the first condition and / or the QOE parameters of the first service.
[0651] S603: In response to the optimization request, the QOS scheduling system of device A sends an update request to the information update system, and the update request is used to instruct the information update system to re-collect the service information and link information in the QOS system.
[0652] S604. In response to the update request, the information update system of device A collects its own device service information and device link information and broadcasts a notification.
[0653] Here, the notification is used to indicate that the service information and link information need to be updated, and the notification may include information indicating that the QOE parameters of the first service meet the first condition and / or the QOE parameters of the first service. Optionally, the notification may also include the Q value or V Q value.
[0654] Other devices in the QOS system, such as device B, will also collect their own device link information and device service information after receiving the notification and send them to other devices (device A and device C). Device C will also collect its own device link information and device service information after receiving the notification and send them to other devices (device A and device B).
[0655] S605. The information update system of device A sends its own device service information and device link information to the information update systems of other devices.
[0656] S606. The information update system of device A receives the device service information and device link information sent by the information update systems of other devices. That is, it receives the device service information and device link information of device C sent by device C, and the device service information and device link information of device B sent by device B.
[0657] S607. The information update system of device A sends an optimization request to the QOS scheduling system. The optimization request includes the currently received link information and service information.
[0658] For the specific implementation of the above S603 - S607, reference can be made to S405 - S409 in the above Figure 10 above.
[0659] S608: In response to the optimization request, the QOS scheduling system of device A determines whether there is room for optimization in the current QOS system.
[0660] At this time, device A determines whether there is room for optimization in the QOS system based on the received service information, link information, and the QOE parameters of the services with deteriorating QOE parameters. The specific method principle is the same as that of step S403 in the above Figure 10 above, except that the currently used service information and current link information are the service information and link information received by device A through the above steps S604 - S606, which will not be elaborated here.
[0661] S609: The QOS scheduling system of device A sends the judgment result to the QOE detection system.
[0662] Among them, the judgment result is used to indicate whether the current QOS system can be optimized or whether there is room for optimization, that is, whether QOS scheduling can be performed.
[0663] S610. When the judgment result indicates that it can be optimized, in response to the optimization request, the QOS scheduling system of device A calculates the speed limit value of the file transfer service based on the received link information and service information.
[0664] Here, device A can calculate the speed limit value of its own file transfer service, or it can calculate the speed limit value of each file transfer service in the QOS system.
[0665] In some other implementations, when device A itself does not include the file transfer service to be sent, it can skip the following S610 - S613, and the non - file transfer services to be sent by device A itself can still transmit service data with the previously allocated bandwidth.
[0666] S611. The QOS scheduling system of device A sends the requested bandwidth of its own non - file transfer service and the speed limit value of the file transfer service to the bandwidth allocation system.
[0667] S612. The bandwidth allocation system of device A allocates bandwidth for each non-file transfer service of itself according to the required bandwidth of each non-file transfer service, and allocates bandwidth for each file transfer service of itself according to the speed limit value of each file transfer service.
[0668] The services of device A itself are the services with device A as the sender in the QOS system.
[0669] S613. The bandwidth allocation system of device A sends the allocated bandwidth of each of its services to the sending system.
[0670] S614. The sending system of device A sends the service data of each of its services to the WiFi driver according to the allocated bandwidth of its own services, that is, the service data of the services created by device A.
[0671] Among them, for the specific implementation of S610 - S614, reference can be made to the above S410 - S414 or S510 - S514.
[0672] It should be understood that when device A does not include file transfer services, it does not need to allocate bandwidth for file transfer services, nor does it need to limit the speed of file transfer services.
[0673] S615: When the QOE detection system of device A determines that there is no room for optimization in the current QOS system, it sends a bitrate adjustment request to the linkage system. This bitrate adjustment request may include QOE parameters.
[0674] Among them, for the specific implementation of S615, reference can be made to the above S415 or S515.
[0675] S616: In response to the bitrate adjustment request, the linkage system of device A estimates at least one of the bitrate, frame rate, and resolution of the first service according to the duration of stuttering or the stuttering level.
[0676] Among them, for the specific implementation of S616, reference can be made to the above S416 or S516.
[0677] S617: The linkage system of device A sends the estimation result to the application program that creates the first service.
[0678] S618: The application program that creates the first service in device A adjusts at least one of the bitrate, frame rate, and resolution of the first service according to the estimation result. That is, the bitrate, frame rate, or resolution of the first service is adjusted to the estimated bitrate, frame rate, or resolution respectively.
[0679] Among them, for the specific implementation of S615 - S618, reference can be made to the above S415 - S418 or S515 - S518.
[0680] It should be understood that, similar to Device A, Devices B and C will also execute S607 - S608 and S610 - S614 executed by Device A above, so as to enable Devices B and C to re - allocate bandwidth for their own services. For details, reference can be made to S607 - S608 and S610 - S614 above, which will not be elaborated here. It should be understood that when Devices B and C determine in S608 that the QOS system has no room for optimization, the process ends.
[0681] In some other embodiments, after receiving an optimization request, the QOS scheduling system of the above - mentioned Device A, in response to the optimization request, first determines whether the QOS system has room for optimization. When the QOS system has room for optimization, it sends an update request to the information update system. In response to the update request, Device A collects its own device link information and device service information and sends them to other devices, and broadcasts a notification, where the notification includes indication information for indicating that the QOE parameter of the first service meets the first condition. After receiving this notification, Devices B and C will also collect their own device link information and device service information and send them to other devices. Device A, Device B, and Device C will all limit the speed of the file transfer service included in themselves or calculate the speed limit value of each file transfer service in the QOS system, and then limit the speed of their own file transfer services. For specific implementation, reference can be made to the Figure 10 and Figure 11 embodiments shown above, which will not be elaborated here.
[0682] (VIII) QOS Optimization Process Caused by QOE Parameter Optimization
[0683] The above - mentioned Figures 10 - 11 are all QOS optimization methods when the QOE parameter deteriorates, such as jamming, transmission delay, etc. After Device A reduces the bit rate, resolution, or frame rate of the first service, if it then detects that the QOE parameter improves, it can increase the bit rate, resolution, or frame rate of the first service again to improve the user experience of the first service.
[0684] As Figure 13 shown, it is a flowchart of the method for the QOS optimization process caused by QOE parameter optimization provided by the embodiments of the present application. The method may include the following parts or steps:
[0685] S701: The QOE detection system of Device A detects whether the QOE parameter of the first service meets the second condition.
[0686] Among them, the first service is a non - file transfer service in the QOS system whose bit rate, resolution, or frame rate has been reduced with Device A as the sender. The QOE parameter meeting the second condition is also referred to as the QOE parameter improving.
[0687] Among them, the QOE parameters are the duration of stuttering, the stuttering level, the latency duration, or the latency level. When the duration of stuttering of the first service is less than the third duration threshold, such as 1 ms, 3 ms, etc., the second condition is satisfied; when the stuttering level of the first service is reduced to five stutters, the second condition is satisfied; when the latency duration of the first service is less than the fourth duration threshold, such as 5 ms, 10 ms, the second condition is satisfied; when the latency level of the first service is reduced to no latency, the second condition is satisfied. For stuttering, stuttering level, latency, latency level, etc., reference can be made to the relevant descriptions in S401 and S501 above, which will not be elaborated here.
[0688] In some embodiments, when the QOE detection system monitors that the QOE parameters satisfy the second condition, S702 can be executed to re-optimize the QoS to improve the QoS of the file transfer service.
[0689] S702: When the QOE detection system of device A detects that the QOE parameters of the first service satisfy the second condition, it sends an optimization request to the QoS scheduling system.
[0690] Among them, the optimization request can carry information indicating that the QOE parameters of the first service satisfy the second condition and the target bandwidth of the second service. Among them, the target bandwidth of the first service is the bandwidth corresponding to the target bit rate, target frame rate, or target resolution, and it is the bandwidth that can satisfy the target bit rate, target frame rate, or target resolution of the first service. The target bandwidth can be determined by the application program of the first service.
[0691] S703: In response to the optimization request, the QoS scheduling system of device A sends an update request to the information update system, and this update request is used to instruct the information update system to re-collect the service information and link information in the QoS system.
[0692] S704, in response to this update request, the information update system of device A collects its own device service information and device link information and broadcasts a notice.
[0693] Here, the notice is used to indicate that the service information and link information need to be updated, and the notice can include information indicating that the QOE parameters of the first service satisfy the second condition.
[0694] Other devices in the QoS system, such as device B, after receiving this notice, will also collect their own device link information and device service information and send them to other devices (device A and device C). After receiving this notice, device C will also collect its own device link information and device service information and send them to other devices (device A and device B).
[0695] S705, the information update system of device A sends its own device service information and device link information to the information update systems of other devices.
[0696] S706. The information update system of device A receives the device service information and device link information sent by the information update systems of other devices. That is, it receives the device service information and device link information of device C sent by device C, and the device service information and device link information of device B sent by device B.
[0697] It should be understood that when device B and device C notify information including that the QOE parameters indicating the first service meet the second condition, device B and device C do not execute the following S707 - S712.
[0698] For the specific implementation of the above S703 - S706, reference can be made to S405 - S408 in the above Figure 10 wherein.
[0699] S707. The information update system of device A sends the received link information and service information to the QOS scheduling system.
[0700] S708: In response to the optimization request, the QOS scheduling system of device A determines whether the available bandwidth of the file transfer service meets the adjustment requirement of the target bandwidth of the first service based on the received link information and service information.
[0701] At this time, device A calculates the available bandwidth of the file transfer service based on the received service information, link information, and the target bandwidth of the first service. The calculation method can be the same as that for calculating the available bandwidth of the file transfer service involved in step S403 in the above Figure 10 wherein. Here, the target bandwidth of the first service is used instead of the requested bandwidth of the first service, and the QOE parameter is 0. Details are not described here.
[0702] When the calculated available bandwidth is greater than the second threshold, it is determined that the available bandwidth meets the adjustment requirement of the target bandwidth of the first service. The second threshold can be 0 or a value greater than 0, such as 20 Mbps. Conversely, if the calculated available bandwidth is less than or equal to the second threshold, it is determined that the available bandwidth does not meet the adjustment requirement of the target bandwidth of the first service.
[0703] S709. The QOS scheduling system of device A sends the judgment result to the streaming media QOE.
[0704] Among them, the judgment result is used to indicate whether the available bandwidth of the file transfer service meets the adjustment requirement of the target bandwidth of the first service.
[0705] S710. When the judgment result is satisfied, the QOE detection system of device A sends a bitrate adjustment request to the linkage system. The bitrate adjustment request may include at least one of the target frame rate, target resolution, and target bitrate.
[0706] S711: The linkage system of Device A sends at least one of a target bitrate, a target frame rate, and a target resolution to the application that creates the first service in response to a bitrate adjustment request.
[0707] S712: The application that creates the first service in Device A increases at least one of the bitrate, frame rate, and resolution of the first service based on the received information.
[0708] It should be understood that when the bitrate adjustment request carries the target bitrate, the application increases the bitrate of the first service to the target bitrate. When the bitrate adjustment request carries the target frame rate, the application increases the frame rate of the first service to the target frame rate. When the bitrate adjustment request carries the target resolution, the application increases the resolution of the first service to the target resolution.
[0709] In some other embodiments, when the QOE detection system of Device A detects that the QOE parameters of the first service meet the second condition, it can also directly execute S710 - S712, that is, directly increase at least one of the bitrate, frame rate, and resolution of the first service. When at least one of the bitrate, frame rate, and resolution of the first service is increased, the required bandwidth of the first service changes. At this time, the QOS optimization method caused by the change in service information can be re-triggered.
[0710] The above embodiments (i) - (viii) are all described by taking the Figure 5 shown QOS system as an example. It should be understood that the QOS system may also include more or fewer devices, services, and links.
[0711] In another scenario, the link L AB between Device A (such as the first electronic device) and Device B (such as the second electronic device) is the first link. The voice call service V1 sent from Device A to Device B carried on this first link is the first service. The link L BC between Device B and Device C (such as the third electronic device) is the second link. The file transfer service D3 (the second service) sent from Device B to Device C is carried on this second link. At this time, the device service information of Device A includes the required bandwidth of the voice call service V1, and the device link information of Device A includes the highest effective rate of L AB . The device service information of Device B also includes the speed limit value of the file transfer service D3, and the link information of Device B also includes the highest effective rate of L BC . These services and links need to be considered when calculating the available bandwidth and the speed limit value.
[0712] In yet another scenario, the link L ABis the first link, on which the voice call service V1 from device A to device B is the first service, and the link L between device A and device C (such as the second electronic device) AC is the second link, on which the file transfer service D4 (the second service) sent from device C to device A is carried. At this time, the device service information of device A includes the required bandwidth of the voice call service V1, and the device link information of device A includes the AB highest effective rate of L, the device service information of device C further includes the speed limit value of the file transfer service D4, and the link information of device C also includes the AC highest effective rate of L. When calculating the available bandwidth and the speed limit value, these services and links need to be taken into account.
[0713] In another scenario, the link L between device A (such as the first electronic device) and device B (such as the third electronic device) AB is the first link, on which the voice call service V1 from device A to device B is the first service, and the link L between device B and device C (such as the second electronic device) BC is the second link, on which the file transfer service D5 (the second service) sent from device C to device B is carried. At this time, the device service information of device A includes the required bandwidth of the voice call service V1, and the device link information of device A includes the AB highest effective rate of L, the device service information of device C further includes the speed limit value of the file transfer service D5, and the link information of device C also includes the BC highest effective rate of L. When calculating the available bandwidth and the speed limit value, these services and links need to be taken into account.
[0714] In another scenario, the link L between device A (such as the first electronic device) and device C (such as the third electronic device) AC is the first link, on which the screen mirroring service P2 sent from device A to device C is carried, and the screen mirroring service P2 is the first service. The link L between device A and device C (such as the second electronic device) AC is the second link, on which the file transfer service D6 (the second service) sent from device C to device A is carried. At this time, the device service information of device A includes the required bandwidth of the screen mirroring service P2, and the device link information of device A includes the AC highest effective rate of L, the device service information of device C further includes the speed limit value of the file transfer service D6, and the link information of device C also includes the AC highest effective rate of L. When calculating the available bandwidth and the speed limit value, these services and links need to be taken into account.
[0715] The embodiments shown in the above (1)-(8) are all described by taking the distributed QOS optimization as an example. It should be understood that device A in the embodiments shown in the above (1)-(8) can also be the central control device in the centralized QOS optimization method. In this case, device B and device C are controlled devices. At this time, device A does not need to broadcast notifications, but broadcasts update instructions. Nor does device A need to send its own device service information and device link information to device B and device C. When device A and device B respond to the update instruction, they will send their own device service information and device link information to device A. When device A calculates the speed limit value of the file transfer service, it needs to calculate the speed limit value of each file transfer service and send the speed limit value of the file transfer service to the sender of the file transfer service. The sender of the file transfer service limits the speed of the file transfer service based on the speed limit value. Each controlled device (device B and device C) in the QOS system no longer needs to determine whether the QOS system has room for optimization. Instead, device A (the central control device) makes the judgment. When the judgment result is that there is room for optimization, it sends the speed limit value of the file transfer service to each controllable device (device B and device C). Device B and device C no longer need to generate and send scheduling requests, nor do they need to determine whether the service they are about to send includes a file transfer service, nor do they need to determine whether the QOS system has room for optimization, nor do they need to calculate the speed limit value. Other steps that device B and device C need to execute in the above distributed QOS optimization can be the same. The specific steps executed by device A, device B, and device C can also refer to the relevant descriptions in the centralized QOS optimization method shown in Figure 14 or Figure 15 the following.
[0716] The QOS system is not limited to the QOS system composed of device A, device B, and device C shown in the above (1)-(8) embodiments. The QOS system can also include more or fewer devices, services, links, etc. When including more or fewer services and links, calculating the available bandwidth and speed limit value needs to take these services and links into account.
[0717] The following describes the optimization method of centralized QOS.
[0718] The following takes the central control device and each controlled device in the QOS system shown in the above Figure 2 as an example, and takes a more general QOS system as an example to describe the QOS optimization method of the QOS system with a central control device.
[0719] Figure 14Disclosed is an optimization method for a centralized QoS provided by the present application. In this method, a central control device in the QoS system uniformly collects service information and link information of each controlled device, calculates the rate limit value for the file transfer service, and sends the calculated file transfer service to their respective controlled devices, and each controlled device limits the corresponding file transfer service based on the rate limit value of its own file transfer service.
[0720] S801: The QOE detection system of the second electronic device detects whether the QOE parameter of the first service meets the first condition.
[0721] Among them, for the specific implementation of S801, reference can be made to step S601 in the above Figure 12 illustrated embodiment, which will not be elaborated here.
[0722] S802: When the QOE detection system of the second electronic device detects that the QOE parameter of the first service meets the first condition, it sends a first message to the information update system of the first electronic device. The first message is used to indicate that the QOE parameter of the first service meets the first condition.
[0723] Specifically, the QOE detection system of the second electronic device first sends the first message to the QOS scheduling system or the information update system of the second electronic device, and then the QOS scheduling system or the information update system of the second electronic device sends the first message to the information update system of the first electronic device.
[0724] Optionally, the first message may further include the QOE parameter of the first service.
[0725] S803: When the information update system of the first electronic device receives the first message, it obtains its own device service information and device link information.
[0726] S804: The information update system of the first electronic device sends an update instruction to the information update systems of other devices in the QOS system.
[0727] Among them, other devices are devices in the QOS system except the first electronic device, including the second electronic device.
[0728] In some other embodiments, the QOS system may send an update instruction to the information update system of the service sender.
[0729] S805: In response to the update instruction, the information update system of the second electronic device obtains its own device service information and device link information.
[0730] S806: The information update system of the second electronic device sends the device service information and device link information of the second electronic device to the first electronic device.
[0731] It should be understood that other devices in the QOS system except the first electronic device and the second electronic device will also obtain their own device service information and device link information in response to the update instruction, and send the device service information and device link information of the second electronic device to the first electronic device. Figure 14 Not shown.
[0732] It should also be understood that when an electronic device does not include a service, it may not send its own device service information and device link information to the first electronic device, or the device service information and device link information sent to the first electronic device are empty.
[0733] S807: The information update system of the first electronic device receives the device service information and device link information from other devices.
[0734] Other devices obtain their own device service information and device link information in response to the update instruction, and send them to the first electronic device.
[0735] S808: The information update system of the first electronic device sends an optimization request to the QOS scheduling system. The optimization request may include the device service information and device link information received by the first electronic device, such as the service information of each service and the link information of each link in the QOS system. The device service information and device link information received by the first electronic device may include the device service information and device link information of the first electronic device itself, and the device service information and device link information sent by other devices in the QOS system except the first electronic device.
[0736] S809: In response to the optimization request, the QOS scheduling system of the first electronic device determines whether there is an optimization space in the QOS system.
[0737] At this time, the first electronic device determines whether there is an optimization space in the QOS system based on the received service information, link information, and QOE parameters of the first service. The specific method principle is the same as step S403 above. Figure 10 The difference is that the service information and link information used are the service information and link information received by the first electronic device through steps S805 - S808 above, which will not be elaborated here.
[0738] S810: The QOS scheduling system of the first electronic device sends the judgment result to the QOE detection system of the first electronic device.
[0739] Among them, the judgment result is used to indicate whether the QOS system can be optimized or whether there is an optimization space, that is, whether QOS scheduling can be performed.
[0740] S811: When the QoS scheduling system of the first electronic device determines that there is room for optimization, in response to the optimization request, it calculates the speed limit value of each file transfer service in the QoS system based on the received link information and service information.
[0741] Here, the first electronic device needs to calculate the speed limit value of each file transfer service in the QoS system.
[0742] S812: The QoS scheduling system of the first electronic device sends the speed limit value of each file transfer service to the QoS scheduling system at the sending end of the file transfer service. Exemplarily, when the second electronic device includes a file transfer service to be sent, it sends the speed limit value of the file transfer service with the second electronic device as the sending end to the second electronic device.
[0743] It should be understood that the first electronic device sends the speed limit value of each file transfer service to the sending end of each file transfer service. Figure 14 Taking the sending to the second electronic device as an example for illustration, Figure 14 Sending the speed limit value to other devices other than the first electronic device and the second electronic device is not shown.
[0744] S813, the QoS scheduling system of each electronic device sends the requested bandwidth of its non-file transfer services and the speed limit value of its file transfer services to the bandwidth allocation system.
[0745] S814, the bandwidth allocation system of each electronic device allocates bandwidth for its non-file transfer services according to the requested bandwidth of its respective non-file transfer services, and allocates bandwidth for its file transfer services according to the speed limit value of its respective file transfer services.
[0746] S815, the bandwidth allocation system of each electronic device sends the allocated bandwidth of its respective services to the sending system.
[0747] S816, the sending system of each electronic device sends the service data of its respective services to the WiFi driver according to the allocated bandwidth of its services, that is, the service data of the services created by device A.
[0748] Among them, Figure 14 Taking the second electronic device executing the above S813 - S816 as an example for illustration, each device in the QoS system can execute the above S813 - S816. Figure 14 Not shown. For the specific implementation of S813 - S816, reference can be made to S611 - S614 above. Figure 12 It will not be elaborated here.
[0749] It should be understood that when the electronic device does not include the file transfer service, it does not need to allocate bandwidth for the file transfer service, nor does it need to limit the speed of the file transfer service.
[0750] S817: When the QOE detection system of the first electronic device determines that there is no room for optimization, it sends a bitrate adjustment request to the linkage system.
[0751] S818: In response to the bitrate adjustment request, the linkage system of the first electronic device estimates at least one of the bitrate, frame rate, and resolution of the first service according to the QOE parameters of the first service.
[0752] Specific implementation of S616 can refer to S416 or S516 above.
[0753] S819: The linkage system of the first electronic device sends the estimation result to the application program that creates the first service.
[0754] S820: The application program that creates the first service in the first electronic device adjusts at least one of the bitrate, frame rate, and resolution of the first service according to the estimation result. That is, the bitrate, frame rate, or resolution of the first service is adjusted to the estimated bitrate, frame rate, or resolution respectively.
[0755] Specific implementation of S817 - S820 can refer to S615 - S618 above, which will not be elaborated here.
[0756] Figure 15 Another centralized QOS optimization method provided by the present application is shown. In this method, the central control device in the QOS system uniformly collects the service information and link information of each controlled device, calculates the speed limit value of the file transfer service, and sends the calculated file transfer service to their respective controlled devices. Each controlled device limits the speed of the corresponding file transfer service based on the speed limit value of its own file transfer service.
[0757] S901: The QOE detection system of the second electronic device detects whether the QOE parameters of the first service meet the first condition.
[0758] Specific implementation of S901 can refer to Figure 12 Step S601 in the embodiment shown above, which will not be elaborated here.
[0759] S902: When the QOE detection system of the second electronic device detects that the QOE parameters of the first service meet the first condition, it sends the first information to the QOS scheduling system of the first electronic device. The first information is used to indicate that the QOE parameters of the first service meet the first condition.
[0760] Specifically, the QOE detection system of the second electronic device first sends a first message to the QOS scheduling system or the information update system of the second electronic device, and then the QOS scheduling system or the information update system of the second electronic device sends the first message to the QOS scheduling system of the first electronic device.
[0761] Optionally, the first message may further include the QOE parameter of the first service.
[0762] S903: When the QOS scheduling system of the first electronic device receives the first message, it determines whether there is room for optimization in the QOS system.
[0763] Specifically, for the specific implementation of S903, reference may be made to step S403 in the embodiment shown above Figure 12 or step S503 Figure 13 in the above, which will not be elaborated here.
[0764] S904: The QOS scheduling system of the first electronic device sends the judgment result to the QOE detection system of the second electronic device.
[0765] Specifically, the QOS scheduling system of the first electronic device may first send the judgment result to the QOS scheduling system or the information update system of the second electronic device, and then the QOS scheduling system or the information update system of the second electronic device sends the judgment result to the QOE detection system of the second electronic device.
[0766] S905: When the judgment result indicates that there is room for optimization, the QOS scheduling system of the first electronic device sends an update request to the information update system, and the update request is used to instruct the information update system to re-collect the service information and link information in the QOS system.
[0767] S906: The information update system of the first electronic device responds to the update request and collects its own device service information and device link information.
[0768] S907: The information update system of the first electronic device sends an update instruction to the information update systems of other devices in the QOS system.
[0769] Among them, other devices are devices in the QOS system except the first electronic device, including the second electronic device.
[0770] In some other embodiments, the QOS system may send an update instruction to the sending end of the service.
[0771] S908: The information update system of the second electronic device responds to the update instruction and obtains its own device service information and device link information.
[0772] S909: The information update system of the second electronic device sends the device service information and device link information of the second electronic device to the first electronic device.
[0773] S910: The information update system of the first electronic device receives the device service information and device link information from other devices.
[0774] In response to the update instruction, other devices obtain their own device service information and device link information and send them to the first electronic device.
[0775] S911, the information update system of the first electronic device sends an optimization request to the QOS scheduling system. The optimization request includes the currently received link information and service information, such as the service information of each service and the link information of each link in the QOS system. The device service information and device link information received by the first electronic device may include the device service information and device link information of the first electronic device itself, and the device service information and device link information sent by other devices in the QOS system except the first electronic device.
[0776] S912, the QOS scheduling system of the first electronic device, in response to the scheduling request, calculates the speed limit value of each file transfer service in the QOS system based on the received link information and service information.
[0777] S913: The QOS scheduling system of the first electronic device sends the speed limit value of each file transfer service to the QOS scheduling system of the sending end of the file transfer service. Exemplarily, when the second electronic device includes a file transfer service to be sent, the speed limit value of the file transfer service with the second electronic device as the sending end is sent to the second electronic device.
[0778] It should be understood that the first electronic device sends the speed limit value of each file transfer service to the sending end of each file transfer service. Figure 14 Taking the sending to the second electronic device as an example for illustration. Figure 15 The sending of the speed limit value to other devices except the first electronic device and the second electronic device is not shown.
[0779] S914, the QOS scheduling system of each electronic device sends the requested bandwidth of its non-file transfer services and the speed limit value of its file transfer services to the bandwidth allocation system.
[0780] S915, the bandwidth allocation system of each electronic device allocates bandwidth for its non-file transfer services according to the requested bandwidth of its non-file transfer services, and allocates bandwidth for its file transfer services according to the speed limit value of its file transfer services.
[0781] S916. The bandwidth allocation system of each electronic device sends the allocated bandwidth of each of its services to the sending system.
[0782] S917. The sending system of each electronic device sends the service data of each of its services to the WiFi driver according to the allocated bandwidth of its own services, that is, the service data of the services created by Device A.
[0783] Among them, Figure 14 Taking the second electronic device executing the above S914 - S917 as an example, each device in the QOS system can execute the above S914 - S917. Figure 15 Not shown. For the specific implementation of S914 - S917, reference can be made to S611 - S614 above, which will not be elaborated here. Figure 12 in S611 - S614, which will not be elaborated here.
[0784] It should be understood that when the electronic device does not include the file transfer service, it does not need to allocate bandwidth for the file transfer service, nor does it need to limit the speed of the file transfer service.
[0785] S918: When the QOE detection system of the first electronic device determines that there is no room for optimization, it sends a bitrate adjustment request to the linkage system.
[0786] S919: In response to the bitrate adjustment request, the linkage system of the first electronic device estimates at least one of the bitrate, frame rate, and resolution of the first service according to the QOE parameters of the first service.
[0787] S920: The linkage system of the first electronic device sends the estimation result to the application program that creates the first service.
[0788] S921: The application program that creates the first service in the first electronic device adjusts at least one of the bitrate, frame rate, and resolution of the first service according to the estimation result. That is, the bitrate, frame rate, or resolution of the first service is adjusted to the estimated bitrate, frame rate, or resolution respectively.
[0789] Among them, for the specific implementation of S817 - S820, reference can be made to S615 - S618 or S817 - S820 above, which will not be elaborated here.
[0790] In some embodiments, when each electronic device in the QOS system creates a service, closes a service, the transmission rate of WiFi changes, the service information changes, etc., the device's information update system will receive the service information of the changed service sent by the bandwidth management system or the QOS monitoring system, etc., or receive the indication information indicating the change of the service information of the service, thereby triggering the execution of the QOS optimization method. The QOS optimization methods caused by the above service creation, the change of the required bandwidth of the service, the change of the transmission rate of WiFi, the end of the service, etc. can be referred to the above embodiments, which will not be elaborated here.
[0791] Calculate the remaining bandwidth and determine whether the remaining bandwidth meets the service requirements.
[0792] Figure 16 The figure shows a method for calculating the remaining bandwidth and determining whether the remaining bandwidth meets the service requirements provided by the present application. This method can be implemented by the bandwidth management system and the information update system in the above device, and the method includes but is not limited to the following steps:
[0793] S1101, the bandwidth management system obtains the required bandwidth or allocated bandwidth of all non-file transfer services in the current QOS system from the information update system.
[0794] S1102, the bandwidth management system determines the total time ratio T1 of the real-time services based on the required bandwidth of the real-time services and the highest effective rate of each link where the real-time services are located.
[0795]
[0796] Among them, V i is the required bandwidth of the i-th real-time service in the current QOS system. It should be understood that when the required bandwidth of the service is inconsistent with the allocated bandwidth, V i can be the allocated bandwidth of the i-th real-time service. γ i is the highest effective rate of the link where the i-th real-time service is located in the current QOS system. N1 is a positive integer, which is the total number of real-time services in the current QOS system.
[0797] S1103, the bandwidth management system determines the total time ratio T2 of the delay-sensitive services based on the required bandwidth of the delay-sensitive services and the highest effective rate of each link where the delay-sensitive services are located.
[0798]
[0799] Among them, V j is the required bandwidth of the j-th delay-sensitive service in the current QOS system. It should be understood that when the required bandwidth of the service is inconsistent with the allocated bandwidth, V j can be the allocated bandwidth of the j-th delay-sensitive service. γj is the highest effective rate of the link where the j-th latency-sensitive service is located in the current QoS system. N2 is a positive integer, which is the total number of latency-sensitive services in the current QoS system, and j is a positive integer.
[0800] S1104. Determine the remaining time ratio T3 based on the total time ratio T1 of real-time services and the total time ratio T2 of latency-sensitive services.
[0801] Among them, the sum of the total time ratio T1 of real-time services and the total time ratio T2 of latency-sensitive services is the total time ratio of non-file insertion loss services.
[0802] Among them, the remaining time ratio, that is, the total time ratio T3 of file transfer services, can also be the maximum time ratio of file transfer services. Among them, T3 = 1 - T1 - T2. Or, T3 = 1 - T1 - T2 - Q. Where Q is an optimization coefficient.
[0803] In some embodiments, Q is an empirical value, such as 0.1 or 0.2, etc. Optionally, when the QoS system does not include services with stuttering and latency, Q can be 0.
[0804] In some other embodiments, the size of Q is related to the size or value range of the QoE parameter. Exemplarily, the QoE parameter is the stuttering duration, and the stuttering duration corresponds to Q one by one. The longer the stuttering duration, the larger the corresponding Q; conversely, the shorter the stuttering duration, the smaller the corresponding Q. Another example is that the QoE parameter is the stuttering level, and the stuttering level corresponds to Q one by one. The stuttering level with a longer duration or a higher level has a larger corresponding Q; conversely, the stuttering level with a shorter duration or a lower level has a smaller corresponding Q. Another example is that the QoE parameter is the latency duration, and the latency duration corresponds to Q one by one. The longer the latency duration, the larger the corresponding Q; conversely, the shorter the latency duration, the smaller the corresponding Q. Another example is that the QoE parameter is the latency level, and the latency level corresponds to Q one by one. The latency level with a longer duration or a higher level has a larger corresponding Q; conversely, the latency level with a shorter duration or a lower level has a smaller corresponding Q.
[0805] Optionally, the size of Q can also be related to the application type of the service with QoE parameter changes. Under the same stuttering duration or latency duration, the Q of the screen mirroring service can be greater than that of the voice call service. The more the number of non-file transfer services in the QoS system, the larger Q is.
[0806] In some other embodiments, where R Q is the highest effective rate of the link for carrying services with QoE parameter changes, and V Q is a fixed value or related to the size or value range of the QoE parameter.
[0807] Exemplarily, V Q is a fixed value, such as 10 Mbps, 20 Mbps, etc. Optionally, when the QOS system does not include services with jitter and latency, V Q can be 0.
[0808] Exemplarily, the QOE parameter is the jitter duration, and the jitter duration corresponds one-to-one with V Q The larger the jitter duration, the larger the corresponding V Q is; conversely, the smaller the jitter duration, the smaller the corresponding V Q is. Again exemplarily, the QOE parameter is the jitter level, and the jitter level corresponds one-to-one with V Q For a jitter level with a longer duration, the corresponding V Q is larger; conversely, for a jitter level with a shorter duration, the corresponding V Q is smaller. Again exemplarily, the QOE parameter is the latency duration, and the latency duration corresponds one-to-one with V Q The larger the latency duration, the larger the corresponding V Q is; conversely, the smaller the latency duration, the smaller the corresponding Q. Again exemplarily, the QOE parameter is the latency level, and the latency level corresponds one-to-one with V Q For a latency level with a longer duration, the corresponding V Q is larger; conversely, for a latency level with a shorter duration, the corresponding V Q is smaller.
[0809] Optionally, the magnitude of V Q can also be related to the application type of the service with changing QOE parameters and / or the number of non-file transfer services in the QOS system. Under the same jitter duration or latency duration, the V of the screen mirroring service Q can be greater than the V of the voice call service Q . The more the number of non-file transfer services in the QOS system, the larger V Q is.
[0810] In some other embodiments, Q or V Q is estimated by the sending end of the service with changing QOE parameters based on the application type of the service, Q or V of the QOE parameters Q or range, the highest effective rate of the link carrying the service, etc. The sending end can send Q or V Q to other devices or to the central control device, such as sending it to other devices along with the broadcast notification.
[0811] S1105, the bandwidth management system determines the remaining bandwidth according to the remaining time ratio and the highest effective rate of the link where the service to be created is located.
[0812] The remaining bandwidth V is:
[0813] V = T3 * γ
[0814] Wherein, γ is the highest effective rate of the link where the service to be created is located.
[0815] The bandwidth management system determines whether the remaining bandwidth ratio is not less than the requested bandwidth of the service to be created. If so, it is determined that the remaining bandwidth can meet the requirements of the service to be created; otherwise, the remaining bandwidth cannot meet the requirements of the service to be created.
[0816] Not limited to the above method of judging and calculating the remaining bandwidth, the remaining bandwidth can also be calculated by other means.
[0817] In some other embodiments, the bandwidth management system does not calculate the remaining time ratio T3, but the bandwidth allocation system calculates it. After the bandwidth allocation system calculates T3, it updates it to the bandwidth management system.
[0818] Method for calculating the speed limit value of file transfer service based on time slices
[0819] Figure 17 Illustrates a method for calculating the speed limit value of a file transfer service provided by the present application. This method can be implemented by the bandwidth allocation system in the above device, and this method includes but is not limited to the following steps:
[0820] S1201, the bandwidth allocation system determines the total time ratio T1 of real-time services based on the requested bandwidth of real-time services and the highest effective rate of each link where real-time services are located.
[0821] S1202, the bandwidth allocation system determines the total time ratio T2 of delay-sensitive services based on the requested bandwidth of delay-sensitive services and the highest effective rate of each link where delay-sensitive services are located.
[0822] S1203, the bandwidth allocation system determines the total time ratio T3 of file transfer services based on the time ratio T1 of real-time services and the time ratio T2 of delay-sensitive services.
[0823] Wherein, the total time ratio T3 of the file transfer service is the remaining time ratio, T3 = 1 - T1 - T2.
[0824] Wherein, the time ratio T3 of the file transfer service is the remaining time ratio, T3 = 1 - T1 - T2. Or, T3 = 1 - T1 - T2 - Q. Regarding Q, reference can be made to the method embodiments for calculating the remaining bandwidth above, which will not be elaborated here.
[0825] S1204, the bandwidth allocation system determines the time ratio T4 of each file transfer service in the QOS system based on the total time ratio T3 of the file transfer service.
[0826] T4 = T3 / M, or,
[0827] T4 = T3 / M * P, or,
[0828] T4 = T3 / M * a,
[0829] where M is the number of file transfer services in the QOS system, p is the anti-collision coefficient, and p is related to the number of sending devices of the file transfer services in the QOS system. Exemplarily, P = 1 - N / 10, where N is the number of sending devices. 0 < a < 1, for example, a is 0.5, 0.7.
[0830] S1205, the bandwidth allocation system determines the speed limit value of the file transfer service based on the time ratio T4 of each file transfer service.
[0831] In some embodiments, the speed limit value of the file transfer service is represented by the time ratio T4 of the file transfer service. From the above calculation method of the time ratio T4 of the file transfer service, it can be seen that the speed limit values of each file transfer service generated in the QOS system are the same.
[0832] In some embodiments, the speed limit value of the file transfer service is represented by the sending rate / bandwidth of the file transfer service.
[0833] Exemplarily, the speed limit values of each file transfer service on the same link are the same. The speed limit value U of each file transfer service on the k-th link k is:
[0834] U k = T4 * γ k .
[0835] Also exemplarily, the speed limit values of each file transfer service on the same link can also be different. For example, the speed limit value of the file transfer service can also be determined based on the size of the data volume or the file type of the file transfer service. For example, the speed limit value U of the s-th file transfer service carried on the k-th link k,s is:
[0836] U k,s = N3 * T4 * γ k * W s .
[0837] where N3 is the number of file transfer services carried on the k-th link, and Ws is the ratio of the data volume of the s-th file transfer service to the total data volume of the N3 file transfer services carried on the k-th link.
[0838] In some embodiments, when the calculated speed limit value of the file transfer service is less than the preset speed limit value, the speed limit value of the file transfer service is determined as its preset speed limit value to set the minimum speed limit value of the file transfer service; while when the calculated speed limit value of the file transfer service is greater than or equal to the preset speed limit value, the speed limit value of the file transfer service is the calculated speed limit value of the file transfer service to avoid the speed limit value of the file transfer service being too small, resulting in the inability to transfer the file transfer service.
[0839] For the speed limit value expressed by the sending rate / bandwidth, the preset speed limit value can be 0.02, 0.03, etc.
[0840] For the speed limit value expressed by the time ratio, the preset speed limit value can be 2Mbps, 5Mbps, etc.
[0841] It should be understood that each step in the above method embodiments can be completed by the integrated logic circuit of the hardware in the processor or the instructions in the form of software. The method steps disclosed in combination with the embodiments of the present application can be directly embodied as being executed and completed by the hardware processor, or executed and completed by the combination of the hardware and software modules in the processor.
[0842] The present application also provides an electronic device, which may include: a memory and a processor. Among them, the memory can be used to store computer programs; the processor can be used to call the computer programs in the memory so that the electronic device executes the methods executed by the central control device in any of the above embodiments.
[0843] The present application also provides an electronic device, which may include: a memory and a processor. Among them, the memory can be used to store computer programs; the processor can be used to call the computer programs in the memory so that the electronic device executes the methods executed by the controllable device, the transmitting end side and / or the receiving end of the controllable link in any of the above embodiments.
[0844] The present application also provides a chip system, which includes at least one processor for implementing the functions involved in the central control device or the controllable device in any of the above embodiments.
[0845] In a possible design, the chip system further includes a memory, and the memory is used to store program instructions and data, and the memory is located inside or outside the processor.
[0846] The chip system can be composed of chips or can include chips and other discrete devices.
[0847] Optionally, there may be one or more processors in the chip system. The processor may be implemented by hardware or by software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented by software, the processor may be a general-purpose processor that implements its functions by reading software code stored in a memory.
[0848] Optionally, there may also be one or more memories in the chip system. The memory may be integrated with the processor or may be separately provided from the processor, which is not limited in the embodiments of the present application. Exemplarily, the memory may be a non-transitory processor, such as a read-only memory (ROM). It may be integrated with the processor on the same chip or may be separately provided on different chips. The embodiments of the present application do not specifically limit the type of the memory and the setting manner of the memory and the processor.
[0849] Exemplarily, the chip system may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processing unit (CPU), a network processor (NP), a digital signal processing circuit (DSP), a microcontroller unit (MCU), a programmable logic device (PLD), or other integrated chips.
[0850] The present application also provides a computer program product, which includes a computer program (which may also be referred to as code or instruction). When the computer program is run, it causes a computer to execute the methods performed by the central control device and the controllable device in any one of the above embodiments.
[0851] The present application also provides a computer-readable storage medium that stores a computer program (which may also be referred to as code or instruction). When the computer program is run, it causes a computer to execute the methods performed by the central control device and the controllable device in any one of the above embodiments.
[0852] The various embodiments of the present application can be combined arbitrarily to achieve different technical effects.
[0853] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in this application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media integrated. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)), etc.
[0854] Those of ordinary skill in the art can understand all or part of the processes in the above method embodiments. The processes can be completed by relevant hardware instructed by a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the above method embodiments. The foregoing storage media include: various media such as ROM or random access memory RAM, magnetic disks, or optical discs that can store program codes.
[0855] In summary, the above description is only for the embodiments of the technical solutions of this application and is not intended to limit the protection scope of this application. Any modifications, equivalent replacements, improvements, etc. made based on the disclosure of this application should be included within the protection scope of this application.
Claims
1. A method for optimizing quality of service, characterized in that, Applied to a first electronic device, the method includes: Obtain first service information and link information of a first link. A first service with the first electronic device as the sender is carried on the first link. The first service information includes the service type of the first service, and the service type of the first service is a non-file transfer service. The link information of the first link includes the identifier of a first channel; Receive second service information and link information of a second link sent by a second electronic device. A second service with the second electronic device as the sender is carried on the second link. The second service information includes the service type of the second service, and the link information of the second link includes the identifier of a second channel; the first channel and the second channel are the same channel, or the first channel and the second channel are two channels in the same frequency band; When it is detected that the quality of experience QOE of the first service satisfies a first condition, the service type of the second service is a file transfer service, and the available bandwidth of the file transfer service is less than or equal to a first threshold, reduce at least one of the bit rate, frame rate, and resolution of the first service.
2. The method according to claim 1, wherein The method further includes: When it is detected that the QOE parameter of the first service satisfies the first condition and the service type of the second service is a non-file transfer service, reduce at least one of the bit rate, frame rate, and resolution of the first service.
3. The method according to claim 1 or 2, characterized in that, The first service information further includes the required bandwidth of the first service. The link information of the first link further includes the first maximum effective rate. The link information of the second link further includes the second maximum effective rate. The method further includes: When it is detected that the QOE parameter of the first service satisfies a first condition, the service type of the second service is a file transfer service, and the available bandwidth of the file transfer service is greater than the first threshold, determine a first rate limit value of the second service based on the first maximum effective rate, the required bandwidth of the first service, and the second maximum effective rate. The first rate limit value is used to determine a first bandwidth value of the service data of the second service, and the first bandwidth value is less than or equal to the first rate limit value.
4. The method according to claim 3, wherein The determining the first rate limit value of the second service based on the first maximum effective rate, the required bandwidth of the first service, and the second maximum effective rate includes: Determine the total time ratio of non-file transfer services based on the first maximum effective rate, the required bandwidth of the first service, and the second maximum effective rate; Determine the total time ratio of file transfer services based on the total time ratio of non-file transfer services; Determine the time ratio of each file transfer service based on the total time ratio of the file transfer services and the number of file transfer services; Determine the first rate limit value based on the time ratio of each file transfer service and the second maximum effective rate.
5. The method according to claim 4, wherein A third service with the first electronic device as the sender is further carried on the first link. The first service information further includes the service type of the third service, and the service type of the third service is a file transfer service. The method further includes: Determine a second speed limit value for the third service based on the time proportion of each file transfer service and the first highest effective rate; Transmit service data of the third service through the first link at a second bandwidth value, where the second bandwidth value is less than or equal to the second speed limit value.
6. The method according to claim 4 or 5, characterized in that, A fourth service with the second electronic device as the sender is also carried on the second link. The second service information further includes the service type and the requested bandwidth of the fourth service, and the service type of the fourth service is a non-file transfer service; The determination of the total time proportion of non-file transfer services based on the first highest effective rate, the requested bandwidth of the first service, and the second highest effective rate specifically includes: determining the total time proportion of non-file transfer services based on the first highest effective rate, the requested bandwidth of the first service, the second highest effective rate, and the requested bandwidth of the fourth service.
7. The method according to any one of claims 1-4, characterized in that Before obtaining the first service information and the link information of the first link, the method further includes: Detect that the QOE parameter of the first service meets the first condition; When it is detected that the QOE parameter of the first service meets the first condition and the service type of the second service is a file transfer service, determine the available bandwidth based on the current requested bandwidth of the first service, the current highest effective rate of the first link, the current highest effective rate of the first link, and the current highest effective rate of the second link, or determine the available bandwidth based on the current speed limit value of the second service, the current highest effective rate of the first link, and the current highest effective rate of the second link; The obtaining of the first service information and the link information of the first link includes: when the available bandwidth is greater than the first threshold, obtain the first service information and the link information of the first link.
8. The method according to claim 7, wherein The available bandwidth is determined based on the current total time proportion of the file transfer service and the current highest effective rate of the first link; or, the available bandwidth is determined based on the current total time proportion of the file transfer service, the minimum total time proportion of the file transfer service, and the current highest effective rate of the first link; Wherein, the current total time proportion of the file transfer service is determined based on the current speed limit value of the second service, the current highest effective rate of the second link, and the optimization coefficient; or the current total time proportion of the file transfer service is determined based on the current requested bandwidth of the first service, the current highest effective rate of the first link, the current highest effective rate of the second link, and the optimization coefficient; The first threshold is determined based on the minimum speed limit value of the second service and the current highest effective rate of the second link; or, the first threshold is determined based on the number of file transfer services and the minimum time proportion of the file transfer service.
9. The method according to any one of claims 1-4, wherein Before obtaining the first service information and the link information of the first link, the method further includes: detecting that the QOE parameter of the first service meets the first condition; The obtaining of the first service information and the link information of the first link includes: when it is detected that the QOE parameter of the first service meets the first condition, obtaining the first service information and the link information of the first link; After obtaining the first service information and the link information of the first link, and after receiving the second service information and the link information of the second link sent by the second electronic device, the method further includes: determining the available bandwidth based on the total time ratio of the file transfer service.
10. The method according to claim 9, wherein The available bandwidth is determined based on the total time ratio of the file transfer service and the first highest effective rate; or, the available bandwidth is determined based on the total time ratio of the file transfer service, the minimum total time ratio of the file transfer service, and the first highest effective rate; The first threshold is determined based on the minimum speed limit value of the second service, the second highest effective rate, and the optimization coefficient; or, the first threshold is determined based on the number of file transfer services, the minimum time ratio of the file transfer service, and the optimization coefficient.
11. The method according to claim 8 or 10, characterized in that, The QOE parameter is the duration of stuttering or the stuttering level. The longer the stuttering duration of the first service or the stuttering duration corresponding to the stuttering level of the first service, the larger the optimization coefficient; Or, The QOE parameter is the latency duration or the latency level. The longer the latency duration of the first service or the stuttering duration corresponding to the latency level of the first service, the larger the optimization coefficient.
12. The method according to any one of claims 1-11, characterized in that, The method further includes: Sending the first service information, the link information of the first link, and a notification to the second electronic device, where the notification is used to indicate that the QOE parameter of the first service meets the first condition.
13. The method according to any one of claims 1-11, characterized in that, The method further includes: Sending the update instruction to the second electronic device, where the update instruction is used to obtain the second service information and the link information of the second link; Sending the first speed limit value to the second electronic device.
14. The method according to any one of claims 1 to 13, characterized in that, The first link is the link between the first electronic device and the second electronic device, and the second link is the link between the second electronic device and the third electronic device.
15. The method according to any one of claims 1 to 13, characterized in that, The first link is the link between the first electronic device and the third electronic device, and the second link is the link between the second electronic device and the third electronic device.
16. The method according to any one of claims 1-13, characterized in that, The first link is the link between the first electronic device and the third electronic device, and the second link is the link between the first electronic device and the second electronic device.
17. The method according to any one of claims 1-13, characterized in that, The first link is the link between the first electronic device and the third electronic device, and the second link is the link between the second electronic device and the fourth electronic device.
18. A method for optimizing quality of service, characterized in that, Applied to the second electronic device, the method includes: Obtaining the second service information and the link information of the second link. The second service is carried on the second link with the second electronic device as the sending end. The second service information includes the service type of the second service, and the link information of the second link includes the second highest effective rate and the identifier of the second channel; Send the second service information and the link information of the second link to the first electronic device; the first electronic device is used to obtain the first service information and the link information of the first link, the first service is carried on the first link with the first electronic device as the sending end, the first service information includes the service type and the required bandwidth of the first service, the service type of the first service is a non-file transfer service, and the link information of the first link includes the first highest effective rate and the identifier of the first channel; the first channel and the second channel are the same channel, or the first channel and the second channel are two channels in the same frequency band; the required bandwidth of the first service, the first highest effective rate, and the second highest effective rate are used to calculate the first rate limit value of the second service when the quality of experience QOE of the first service meets the first condition, the second service is a file transfer service, and the available bandwidth of the file transfer service is greater than the first threshold; Transmit the service data of the second service through the second link at a first bandwidth value, and the first bandwidth value is less than or equal to the first rate limit value.
19. The method according to claim 18, characterized in that, The method further includes: Receive the first service information and the link information of the first link from the first electronic device; When the quality of experience QOE of the first service meets the first condition, the service type of the second service is a file transfer service, and the available bandwidth of the file transfer service is greater than the first threshold, determine the first rate limit value of the second service based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate.
20. The method according to claim 19, wherein The determining the first rate limit value of the second service based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate includes: Determine the total time ratio of non-file transfer services based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate; Determine the total time ratio of file transfer services based on the total time ratio of non-file transfer services; Determine the time ratio of each file transfer service based on the total time ratio of the file transfer service and the number of file transfer services; Determine the first rate limit value based on the time ratio of each file transfer service and the second highest effective rate.
21. The method according to claim 20, wherein A third service with the first electronic device as the sending end is further carried on the first link, the first service information further includes the service type of the third service, the service type of the third service is a file transfer service, a fourth service with the second electronic device as the sending end is further carried on the second link, the second service information further includes the service type and the required bandwidth of the fourth service, and the service type of the fourth service is a non-file transfer service; The determining the total time ratio of non-file transfer services based on the first highest effective rate, the required bandwidth of the first service, and the second highest effective rate specifically includes: determining the total time ratio of non-file transfer services based on the first highest effective rate, the required bandwidth of the first service, the required bandwidth of the fourth service, and the second highest effective rate; The method further includes: determining a second speed limit value of the third service based on the time proportion of each file transfer service and the first highest effective rate; Transmitting service data of the third service through the first link at a second bandwidth value, where the second bandwidth value is less than or equal to the second speed limit value.
22. The method according to any one of claims 18-20, characterized in that Before obtaining the second service information and the link information of the second link, the method further includes: Receiving a notification from the first electronic device, where the notification includes information for indicating that the QOE parameter of the first service meets the first condition; When the notification is for indicating that the QOE parameter of the first service meets the first condition and the service type of the second service is a file transfer service, determining the available bandwidth based on the current required bandwidth of the first service, the current highest effective rate of the first link, the current highest effective rate of the first link, and the current highest effective rate of the second link, or determining the available bandwidth based on the current speed limit value of the second service, the current highest effective rate of the first link, and the current highest effective rate of the second link; Obtaining the second service information and the link information of the second link includes: when the available bandwidth is greater than the first threshold, obtaining the second service information and the link information of the second link.
23. The method according to claim 22, wherein The available bandwidth is determined based on the current total time proportion of the file transfer service and the current highest effective rate of the first link; or, the available bandwidth is determined based on the current total time proportion of the file transfer service, the minimum total time proportion of the file transfer service, and the current highest effective rate of the first link; Wherein, the current total time proportion of the file transfer service is determined based on the current speed limit value of the second service, the current highest effective rate of the second link, and the optimization coefficient; or the current total time proportion of the file transfer service is determined based on the current required bandwidth of the first service, the current highest effective rate of the first link, the current highest effective rate of the second link, and the optimization coefficient; The first threshold is determined based on the minimum speed limit value of the second service and the current highest effective rate of the second link; or, the first threshold is determined based on the number of file transfer services and the minimum time proportion of the file transfer service.
24. The method according to any one of claims 18-21, characterized in that, Before obtaining the second service information and the link information of the second link, the method further includes: Receiving a first piece of information from the first electronic device, where the first piece of information is used to indicate that the QOE parameter of the first service meets the first condition; Obtaining the second service information and the link information of the second link specifically includes: when the first piece of information indicates that the QOE parameter of the first service meets the first condition, obtaining the second service information and the link information of the second link; After sending the second service information and the link information of the second link to the first electronic device, the method further includes: determining the available bandwidth based on the required bandwidth of the first service, the first highest effective rate, and the second highest effective rate.
25. The method according to claim 24, wherein The determining the available bandwidth based on the required bandwidth of the first service, the first highest effective rate, and the second highest effective rate includes: Based on the required bandwidth of the first service, the first highest effective rate and the second highest effective rate, determine the total time proportion of the non-file transfer service; Determine the total time proportion of the file transfer service based on the total time proportion of the non-file transfer service; The available bandwidth is determined based on a total time proportion of the file transfer service.
26. The method according to claim 25, wherein The available bandwidth is determined based on the total time proportion of the file transfer service and the first highest effective rate; or, the available bandwidth is determined based on the total time proportion of the file transfer service, the minimum total time proportion of the file transfer service and the first highest effective rate; The first threshold is determined based on the minimum speed limit value of the second service, the second highest effective rate and the optimization coefficient; or, the first threshold is determined based on the number of file transfer services, the minimum time proportion of the file transfer services and the optimization coefficient.
27. The method according to claim 23 or 26, characterized in that, The QOE parameter is a freeze duration or a freeze level. The greater the freeze duration of the first service or the freeze duration corresponding to the freeze level of the first service, the greater the optimization coefficient. or, The QOE parameter is the delay duration or the delay gear. The longer the delay duration of the first service is or the longer the freeze duration corresponding to the delay gear of the first service is, the greater the optimization coefficient is.
28. The method according to any one of claims 1-12, characterized in that, The method further comprises: receiving an update instruction from the first electronic device; the update instruction is used to obtain the second service information and link information of the second link; The first speed limit value is received from the first electronic device.
29. An electronic device, characterized in that, It includes a memory and one or more processors; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the electronic device to execute the method described in any one of claims 1-17 or 18-28.
30. A computer-readable storage medium comprising instructions, characterized in that, When the instructions are executed on an electronic device, the electronic device executes the method as described in any one of claims 1 to 28.
Citation Information
Cited By
QOS control method
US20250024314A1