Quality of service optimization method and electronic device

By obtaining and combining service and link information of multiple electronic devices, reasonably allocating bandwidth and adopting a speed limit mechanism, the problem of unreasonable bandwidth allocation in multiple devices and multi-service scenarios is solved, and QOS for non-file transmission services is given priority, which improves the service experience.

WO2025118664A1PCT designated stage expired Publication Date: 2025-06-12HONOR DEVICE CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/110318
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-09
Filing Date
2024-08-07
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

In multi-device and multi-service scenarios, the bandwidth allocation of multiple electronic devices in the prior art is unreasonable, resulting in the inability to obtain sufficient bandwidth transmission for delay-sensitive services, affecting the service experience.

Method used

By obtaining the service information and link information of each electronic device, combining the link and service information of multiple devices, a speed limit mechanism is used to prioritize the requested bandwidth of non-file transmission services and ensure their service quality.

Benefits of technology

It realizes reasonable allocation of bandwidth in multiple devices and multiple business scenarios, prioritizes the QOS of non-file transmission services, and improves the service experience and overall system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024110318_12062025_PF_FP_ABST
    Figure CN2024110318_12062025_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses a quality of service optimization method and an electronic device. In the method, link information of links and service information of services in a plurality of electronic devices are collected to reasonably allocate bandwidth in view of the link information of the links and the service information of the services in the plurality of electronic devices. Further, by means of limiting the speed of a file transmission service in a first electronic device, it is possible to preferentially guarantee a requested bandwidth of a non-file transmission service in a second electronic device, thereby ensuring the quality of service of the non-file transmission service.
Need to check novelty before this filing date? Find Prior Art

Description

Service quality optimization method and electronic equipment

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on December 9, 2023, with application number 202311692774.0 and application name “Service Quality Optimization Method and Electronic Device”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of communication technology, and in particular to a method for optimizing quality of service and an electronic device. Background Art

[0003] In near-field communication (NFC) scenarios, multiple devices, such as one or more mobile phones, tablets, personal computers, and large-screen devices (such as TVs), need to concurrently transmit diverse business data within limited network bandwidth. For example, some devices might be simultaneously transmitting large files while others are streaming high-definition video. In these situations, Quality of Service (QoS) mechanisms are needed to rationally allocate bandwidth resources and ensure smooth data communication.

[0004] In order to ensure that latency-sensitive services can obtain sufficient bandwidth transmission in multi-device and multi-service scenarios and avoid such services waiting in queues, a bandwidth adjustment and optimization mechanism is needed to improve the experience of such services.

[0005] Summary of the Invention

[0006] The present application provides a method for optimizing quality of service and an electronic device to solve the problem of unreasonable bandwidth allocation of multiple electronic devices in the prior art.

[0007] In a first aspect, a method for optimizing quality of service is provided, which is applied to a first electronic device, and the method includes:

[0008] Acquire first service information and link information of a first link, where the first link carries a first service with the first electronic device as a transmitter, the first service information includes a service type of the first service, and the link information of the first link includes a first maximum effective rate and an identifier of a first channel;

[0009] receiving second service information and link information of a second link sent by a second electronic device, where the second link carries a second service with the second electronic device as the transmitter, the second service information including a service type and a requested bandwidth of the second service, and the link information of the second link including a second maximum effective rate and an identifier of a second channel; the first channel and the second channel being the same channel, or the first channel and the second channel being two channels in the same frequency band;

[0010] When the service type of the first service is a file transfer service and the service type of the second service is a non-file transfer service, determining a first rate limit value for the first service based on the first maximum effective rate, the required bandwidth of the second service, and the second maximum effective rate;

[0011] First file data is transmitted through a first link at a first bandwidth value, where the first bandwidth value is less than or equal to a first speed limit value, and the first file data is service data of a first service.

[0012] The first maximum effective rate is the maximum effective rate of the first link, and the second maximum effective rate is the maximum effective rate of the second link.

[0013] By executing the above method, link information of links and business information of services in multiple electronic devices are collected to reasonably allocate bandwidth in combination with the link information of links and business information of services in multiple electronic devices. By limiting the speed of the file transfer service in the first electronic device, the required bandwidth of the non-file transfer service in the second electronic device can be prioritized, thereby ensuring the QOS of the non-file transfer service.

[0014] In a possible application scenario, 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.

[0015] In a possible application scenario, 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.

[0016] In a possible application scenario, the first link is a link between the first electronic device and the third electronic device, and the second link is a second link between the first electronic device and the second electronic device.

[0017] In a possible application scenario, 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.

[0018] In combination with the first aspect or any possible application scenario provided by the first aspect, an embodiment of the present application provides a distributed service quality optimization method, wherein the method further includes: sending the first service information and the link information of the first link to the second electronic device.

[0019] The above method enables the second electronic device to collect link information of links and service information of services in multiple electronic devices, so as to reasonably allocate bandwidth in combination with the link information of links and service information of services in multiple electronic devices.

[0020] In one possible implementation, obtaining the first service information and the link information of the first link may be accomplished by: obtaining the first service information and the link information of the first link and broadcasting a notification when a trigger condition is met; or obtaining the first service information and the link information of the first link when a notification is received. The notification indicates an update of the link information and service information, or indicates a change in the service information or link information.

[0021] The above method triggers the update of link information and service information when the trigger condition is met, so as to recalculate the speed limit value of the file transfer service and realize dynamic adjustment of the bandwidth of the service.

[0022] In one possible implementation, when the trigger condition is met, before obtaining the first service information and the link information of the first link, the method further includes: determining that the trigger condition is met when the first service is successfully created or when the third service is detected to be closed; the third service is a service with the first electronic device as the sending end.

[0023] It can be understood that the third service and the first service are two different services. The third service may be a service created by the first electronic device before acquiring the first service information and the link information of the first link.

[0024] The above method triggers updating of link information and service information when a service is created or closed, so as to recalculate the speed limit value of the file transfer service and realize dynamic adjustment of the bandwidth of the service.

[0025] In one possible implementation, when the trigger condition is met, before obtaining the first service information and the link information of the first link, the method further includes: updating the first maximum effective rate when a change in the transmission rate of the first link is detected; and determining that the trigger condition is met when the first maximum effective rate is updated.

[0026] The above method triggers updating of link information and service information when the transmission rate of the link changes, so as to recalculate the speed limit value of the file transfer service and realize dynamic adjustment of the bandwidth of the service.

[0027] In one possible implementation, when a trigger condition is met, before obtaining the first service information and the link information of the first link, the method further includes: in response to a received user operation for instructing creation of a fourth service, determining whether the remaining bandwidth is less than the requested bandwidth of the fourth service; when the remaining bandwidth is not less than the requested bandwidth of the fourth service, creating the fourth service; and when the fourth service is successfully created, determining that the trigger condition is met.

[0028] The above method triggers an update of link and service information when a non-file transfer service is created, recalculating the file transfer service's speed limit and dynamically adjusting the service's bandwidth. Furthermore, the creation of a non-file transfer service is permitted only when the remaining bandwidth exceeds the requested bandwidth of the newly created non-file transfer service, minimizing the impact of the newly created service on the QoS of existing non-file transfer services.

[0029] In one possible implementation, the first service information also includes the service type and requested bandwidth of the fourth service. The first link also carries the fourth service, and the service type of the fourth service is a non-file transfer service. The first electronic device determines the first speed limit value of the first service based on the first maximum effective rate, the requested bandwidth of the second service, and the second maximum effective rate. A specific implementation may be: the first electronic device determines the first speed limit value of the first service based on the first maximum effective rate, the requested bandwidth of the second service, the requested bandwidth of the fourth service, and the second maximum effective rate. In this case, the method further includes: transmitting service data of the fourth service through the first link at the requested bandwidth of the fourth service.

[0030] In the above method, when the first electronic device includes a non-file transfer service (fourth service), service data of the non-file transfer service is transmitted using the requested bandwidth of the non-file transfer service to prioritize the requested bandwidth of the non-file transfer service.

[0031] In a possible implementation, the method further includes: when the requested bandwidth of the fourth service changes or the fourth service is frozen, obtaining the first service information and the link information of the first link, and broadcasting a notification.

[0032] The above method triggers updating of link information and service information when non-file transfer services are stuck, so as to recalculate the speed limit value of the file transfer service and realize dynamic adjustment of the service bandwidth to reduce or eliminate the non-file transfer service stuck.

[0033] In one possible implementation, the second service information also includes the service type of the fifth service. The second link also carries the fifth service, and the service type of the fifth service is a file transfer service. The above-mentioned first electronic device determines the first speed limit value of the first service based on the first maximum effective rate, the required bandwidth of the second service, the required bandwidth of the fourth service, and the second maximum effective rate. A specific implementation can be: the first electronic device determines the first speed limit value of the first service based on the first maximum effective rate, the required bandwidth of the second service, the second maximum effective rate, and the number of file transfer services.

[0034] It can be understood that the number of file transfer services here may be the total number of file transfer services, or may be the number of some file transfer services.

[0035] In the above method, when other devices include file transfer services, the calculation of the speed limit value of the file transfer service takes the file transfer services on other devices into consideration, so as to more reasonably determine the speed limit value of the file transfer service.

[0036] In one possible implementation, the above-mentioned first electronic device determines the first speed limit value of the first service based on the first highest effective rate, the demanded bandwidth of the second service, the second highest effective rate, and the number of file transfer services. A specific implementation may be: the first electronic device determines the total time proportion of non-file transfer services based on the first highest effective rate, the demanded bandwidth of the second service, and the second highest effective rate; determines the total time proportion of file transfer services based on the total time proportion of non-file transfer services; determines the time proportion of each file transfer service based on the total time proportion and the number of file transfer services; and determines the first speed limit value based on the time proportion of each file transfer service and the first highest effective rate.

[0037] The above method provides a method for calculating the speed limit value of the file transfer service in a scenario of multiple electronic devices, which can prioritize the bandwidth required by the non-file transfer service in the second electronic device, thereby ensuring the QOS of the non-file transfer service.

[0038] The total time share of non-file transfer services is the sum of the ratio of the second service to the second highest effective rate and the ratio of the fourth service to the first highest effective rate; the total time share of file transfer services is the difference between 1 and the total time share of non-file transfer services; and the time share of each file transfer service is determined based on the total time share of file transfer services and the number of file transfer services, or based on the total time share of file transfer services, the number of file transfer services, and an anti-collision coefficient. The anti-collision coefficient is determined based on the number of sending terminals.

[0039] The above method calculates the speed limit value of the file transfer service taking into account the number of sending terminals, which can further ensure the QOS of the non-file transfer service.

[0040] Among them, when the product of the time proportion of each file transfer service and the first highest effective rate is greater than or equal to the preset speed limit value, the first speed limit value is the product of the time proportion of each file transfer service and the first highest effective rate; when the product of the time proportion of each file transfer service and the first highest effective rate is less than the preset speed limit value, the first speed limit value is the preset speed limit value.

[0041] The above method ensures that the speed limit value of the file transfer service is not less than the preset speed limit value, thereby avoiding transmission failure of the file transfer service.

[0042] In a possible implementation, the first highest effective rate is determined based on the modulation and coding strategy (MCS) rate of the first link; and the second highest effective rate is determined based on the MCS rate of the second link.

[0043] In combination with the above-mentioned first aspect or any possible application scenario provided by the first aspect, an embodiment of the present application provides a centralized (also called central) service quality optimization method. Among them, the second service information also includes the service type of the sixth service, and the second link also carries the sixth service, and the service type of the sixth service is a file transfer service; in the above-mentioned first aspect, the first speed limit value of the first service is determined based on the first highest effective rate, the demanded bandwidth of the second service and the second highest effective rate. A specific implementation can be: the first electronic device determines the first speed limit value of the first service and the second speed limit value of the sixth service based on the first highest effective rate, the demanded bandwidth of the second service, the second highest effective rate and the number of file transfer services. The method also includes: sending the second speed limit value to the second electronic device, the second speed limit value is used to determine the second bandwidth value of the second file data of the sixth service, and the second bandwidth value is less than or equal to the second speed limit value.

[0044] It should be understood that the second file data is service data of the sixth service. The number of file transfer services here can be the total number of file transfer services or the number of some file transfer services.

[0045] In the above 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 value. This not only reduces communication overhead but also improves QOS optimization efficiency.

[0046] In one possible implementation, before obtaining the first business information and the link information of the first link, the method also includes: broadcasting an update instruction when receiving indication information from the second electronic device; the indication information is used to indicate that the business information or link information has changed, or to indicate service quality optimization; the update instruction is used to request business information and link information.

[0047] In the above method, when the second electronic device needs QOS optimization, it notifies the first electronic device, and the first electronic device triggers the synchronization of QOS optimization of multiple electronic devices by sending an update instruction.

[0048] In a possible implementation, before obtaining the first service information and the link information of the first link, the method further includes: broadcasting an update instruction when it is detected that a trigger condition is met; the update instruction is used to request the service information and the link information.

[0049] The above method triggers the update of link information and service information when the trigger condition is met, so as to recalculate the speed limit value of the file transfer service and realize dynamic adjustment of the bandwidth of the service.

[0050] In a possible implementation, the method further includes: determining that a trigger condition is met when the first service is successfully created or when it is detected that the seventh service is closed; the seventh service is a service with the first electronic device as the sending end.

[0051] It can be understood that the seventh service and the first service are two different services, and the seventh service may be a service created by the first electronic device before acquiring the first service information and the link information of the first link.

[0052] The above method triggers updating of link information and service information when a service is created or closed, so as to recalculate the speed limit value of the file transfer service and realize dynamic adjustment of the bandwidth of the service.

[0053] In a possible implementation, the method further includes: updating the first highest effective rate when a change in the transmission rate of the first link is detected; and determining that a trigger condition is satisfied when the first highest effective rate is updated.

[0054] The above method triggers updating of link information and service information when the transmission rate of the link changes, so as to recalculate the speed limit value of the file transfer service and realize dynamic adjustment of the bandwidth of the service.

[0055] In one possible implementation, the method further includes: in response to a received user operation for instructing creation of the eighth service, determining whether the remaining bandwidth is less than the requested bandwidth of the eighth service; when the remaining bandwidth is not less than the requested bandwidth of the eighth service, creating the eighth service; and when the eighth service is successfully created, determining that the trigger condition is satisfied.

[0056] The above method triggers an update of link and service information when a non-file transfer service is created, recalculating the file transfer service's speed limit and dynamically adjusting the service's bandwidth. Furthermore, the creation of a non-file transfer service is permitted only when the remaining bandwidth exceeds the requested bandwidth of the newly created non-file transfer service, minimizing the impact of the newly created service on the QoS of existing non-file transfer services.

[0057] In a possible implementation, the first service information further includes a service type and a required bandwidth of an eighth service. The first link also carries an eighth service, and the service type of the eighth service is a non-file transfer service.

[0058] Determining a first rate limit value for the first service and a second rate limit value for the sixth service based on the first maximum effective rate, the requested bandwidth of the second service, the second maximum effective rate, and the number of file transfer services, specifically including: determining the first rate limit value for the first service and the second rate limit value for the sixth service based on the first maximum effective rate, the requested bandwidth of the second service, the requested bandwidth of the eighth service, the second maximum effective rate, and the number of file transfer services;

[0059] The method further includes: transmitting service data of the eighth service through the first link at the requested bandwidth of the eighth service.

[0060] In the above method, when the first electronic device includes a non-file transfer service (eighth service), service data of the non-file transfer service is transmitted using the requested bandwidth of the non-file transfer service to prioritize the requested bandwidth of the non-file transfer service.

[0061] In one possible implementation, the method further includes:

[0062] When the bandwidth required by the eighth service changes or the eighth service is frozen, the first service information and the link information of the first link are obtained, and a notification is broadcast.

[0063] The above method triggers updating of link information and service information when non-file transfer services are stuck, so as to recalculate the speed limit value of the file transfer service and realize dynamic adjustment of the service bandwidth to reduce or eliminate the non-file transfer service stuck.

[0064] In one possible implementation, a specific implementation of the above-mentioned determination of the first speed limit value of the first business and the second speed limit value of the sixth business based on the first highest effective rate, the demanded bandwidth of the second business, the demanded bandwidth of the eighth business, the second highest effective rate and the number of file transfer services may be: determining the total time proportion of non-file transfer services based on the first highest effective rate, the demanded bandwidth of the second business, the demanded bandwidth of the eighth business and the second highest effective rate; determining the total time proportion of file transfer services based on the total time proportion of non-file transfer services; determining the time proportion of each file transfer service based on the total time proportion and the number of file transfer services; determining the first speed limit value based on the time proportion of each file transfer service and the first highest effective rate; determining the second speed limit value based on the time proportion of each file transfer service and the second highest effective rate.

[0065] The total time share of non-file transfer services is the sum of the ratio of the second service to the second highest effective rate and the ratio of the eighth service to the first highest effective rate; the total time share of file transfer services is the difference between 1 and the total time share of non-file transfer services; and the time share of each file transfer service is determined based on the total time share of file transfer services and the number of file transfer services, or based on the total time share of file transfer services, the number of file transfer services, and an anti-collision coefficient. The anti-collision coefficient is determined based on the number of sending terminals.

[0066] Among them, when the product of the time proportion of each file transfer service and the first highest effective rate is greater than or equal to the preset speed limit value, the first speed limit value is the product of the time proportion of each file transfer service and the first highest effective rate; when the product of the time proportion of each file transfer service and the first highest effective rate is less than the preset speed limit value, the first speed limit value is the preset speed limit value; when the product of the time proportion of each file transfer service and the second highest effective rate is greater than or equal to the preset speed limit value, the second speed limit value is the product of the time proportion of each file transfer service and the first highest effective rate; when the product of the time proportion of each file transfer service and the second highest effective rate is less than the preset speed limit value, the second speed limit value is the preset speed limit value.

[0067] In a possible implementation, the first highest effective rate is determined based on the modulation and coding strategy (MCS) rate of the first link; and the second highest effective rate is determined based on the MCS rate of the second link.

[0068] In a second aspect, an embodiment of the present application further provides a method for optimizing quality of service, which is applied to a second electronic device, the method comprising: obtaining second service information and link information of a second link, the second link carrying a second service with the second electronic device as the sending end, the second service information including the service type and demanded bandwidth of the second service, and the link information of the second link including the second maximum effective rate and the identifier of the second channel; the demanded bandwidth and the second maximum effective rate of the second service are used to calculate the first speed limit value of the first service; the first service is a service carried on the first link with the first electronic device as the sending end, and the service type of the first service is a file transfer service; the link information of the first link includes 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;

[0069] The second service information and the link information of the second link are sent to the first electronic device.

[0070] In the above 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 value. This not only reduces communication overhead but also improves QOS optimization efficiency.

[0071] In one possible implementation, the second service information also includes the service type of the sixth service, the second link also carries the sixth service, the service type of the sixth service is a file transfer service, the required bandwidth and the second maximum effective rate of the second service are also used to calculate the second speed limit value of the sixth service, and the method also includes: receiving the second speed limit value from the first electronic device; transmitting second file data at the second bandwidth value through the second link, the second bandwidth value is less than or equal to the second speed limit value, and the second file data is the service data of the sixth service.

[0072] In a possible implementation, before acquiring the second service information and the link information of the second link, the method further includes: receiving an update instruction from the first electronic device, where the update instruction is used to request the service information and the link information.

[0073] In a possible implementation, the method further includes: when it is detected that a trigger condition is met, sending indication information to the first electronic device; the indication information is used to indicate a change in service information or link information, or to indicate service quality optimization.

[0074] In a possible implementation, the method further includes: when the second service is successfully created or when it is detected that the ninth service is closed, determining that a trigger condition is met, the ninth service being a service with the second electronic device as a sending end.

[0075] In a possible implementation, the method further includes: when detecting a change in the bandwidth required by the second service or a freeze in the second service, determining that a trigger condition is met.

[0076] In a possible implementation, the method further includes: updating the second highest effective rate when a change in the transmission rate of the second link is detected; and determining that a trigger condition is satisfied when the second highest effective rate is updated.

[0077] It should be noted that the first electronic device is not limited to the above-mentioned first business, second business and other services, first link and second link and other links. It can also obtain business information of more services and link information of links, and calculate the speed limit value based on the business information of more services and link information of more links.

[0078] In a third aspect, an embodiment of the present application provides an electronic device comprising: 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 a method as executed by the first electronic device in the first aspect or any one embodiment of the first aspect.

[0079] In a fourth aspect, an embodiment of the present application provides an electronic device comprising: 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 a method as executed by the second electronic device in the second aspect or any one of the embodiments of the second aspect.

[0080] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium comprising instructions, which, when executed on an electronic device, enables the electronic device to execute a method as executed by the first electronic device in the first aspect or any one of the embodiments of the first aspect.

[0081] In a sixth aspect, an embodiment of the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the method executed by the first electronic device in the first aspect or any one of the embodiments of the first aspect.

[0082] In a seventh aspect, an embodiment of the present application provides a chip system, which includes at least one processor for implementing the method executed by the first electronic device in the first aspect or any one embodiment of the first aspect.

[0083] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium comprising instructions, which, when executed on an electronic device, enables the electronic device to execute a method as executed by the second electronic device in the second aspect or any one of the embodiments of the second aspect.

[0084] In a ninth aspect, an embodiment of the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the method executed by the second electronic device in the second aspect or any one of the embodiments of the second aspect.

[0085] In the tenth aspect, an embodiment of the present application provides a chip system, which includes at least one processor for implementing the method executed by the second electronic device in the second aspect or any one of the embodiments of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0086] FIG1A is a schematic diagram of the structure of a communication system provided in an embodiment of the present application;

[0087] FIG1B is a schematic diagram of the structure of another communication system provided in an embodiment of the present application;

[0088] FIG2 schematically illustrates the centralized QOS optimization solution provided by this application;

[0089] FIG3 is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application;

[0090] FIG4 is a hardware and software architecture of an electronic device provided in an embodiment of the present application;

[0091] FIG5 is an application scenario of a QOS system provided in an embodiment of the present application;

[0092] FIG6A is a flowchart illustrating a QOS optimization method involved in a method in which device A creates a screen projection service to device B, provided in an embodiment of the present application;

[0093] FIG6B is a flowchart of a QOS optimization method involved in establishing a voice call service between device A and device B according to an embodiment of the present application;

[0094] FIG6C is a flowchart of a method for optimizing QOS when device A creates a file sharing service according to an embodiment of the present application;

[0095] 7A-7D are schematic diagrams of user interfaces involved in creating screen projection services provided in some embodiments of the present application;

[0096] 7E-7F are schematic diagrams of some user interfaces involved in creating voice call services provided in embodiments of the present application;

[0097] 7G-7H are schematic diagrams of user interfaces involved in creating file sharing services provided in embodiments of the present application;

[0098] FIG8 is a flow chart of a QOS optimization method caused by a change in WiFi transmission rate provided in an embodiment of the present application;

[0099] FIG9 is a flow chart of a QOS optimization process caused by shutting down a service according to an embodiment of the present application;

[0100] FIG10 is a flow chart of a distributed QOS optimization method provided in an embodiment of the present application;

[0101] FIG11 is a flow chart of a centralized QOS optimization method provided in an embodiment of the present application;

[0102] FIG12 is a flow chart of a method for calculating remaining bandwidth and determining whether the remaining bandwidth meets service requirements provided by an embodiment of the present application;

[0103] FIG13 is a flow chart of a method for calculating a speed limit value for a file transfer service according to an embodiment of the present application. DETAILED DESCRIPTION

[0104] The following is a clear and detailed description of the technical solutions in the embodiments of the present application in conjunction with the accompanying drawings. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in the text is only a description of the association relationship between related objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.

[0105] In the following, the terms "first", "second", etc. are used for descriptive purposes only and should not be understood to imply or suggest relative importance or implicitly indicate the number of the technical features indicated. Therefore, the features defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of this application, unless otherwise specified, "plurality" means two or more.

[0106] In this application, "electronic equipment" is also referred to as "device" for short.

[0107] The method provided in the embodiments of the present application can be applied to scenarios that are sensitive to or have high requirements for latency, such as scenarios where multiple devices are connected via WiFi. In this scenario, multiple devices include file transfer services such as file sharing, as well as call sharing, notification sharing, keyboard and mouse sharing, PC collaboration, PAD collaboration, screen projection, large-screen collaboration, screen mirroring / extension, video on demand / live broadcast, and one or more services that are sensitive to or have high requirements for latency.

[0108] FIG1A is a schematic diagram of the structure of a communication system provided in an embodiment of the present application. The communication system may include multiple QOS systems, and each QOS system may include one or more electronic devices. For example, FIG1A 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 multiple different QOS systems at the same time. For example, a notebook belongs to the first QOS system and the second QOS system at the same time.

[0109] Electronic devices in 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, used to transmit service data. Links in the same QoS system operate on the same channel or frequency band.

[0110] Among them, the same frequency band refers to the same 2.4GHz, 5GHz or other frequency bands. A frequency band may include multiple channels. For example, the available channels of an indoor access point (AP) in the 5GHz band can be divided into 13 channels such as 36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, and 165. The same channel in this application can be any channel provided by the above-mentioned 2.4GHz or 5.0GHz or other frequency bands. Taking wireless fidelity (WiFi) as an example of short-range communication, 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, they belong to the same basic service set (BSS) or the same extended service set (ESS). Alternatively, some links in a QoS system belong to the same BSS or ESS, some links belong to the Wi-Fi Direct network, and other links belong to other networks with the same frequency band or the same channel. Links in a QoS system operating in the same frequency band may mean that the channels on which the links in the QoS system operate belong to the same frequency band, such as 2.4 GHz, 5 GHz, or another frequency band.

[0111] FIG1B is an architecture diagram of a communication system, in which a QOS system is taken as an example for explanation.

[0112] For example, the communication system may include a QoS system consisting of multiple electronic devices. The multiple electronic devices can communicate with each other via short-range communication, establish at least one link, and operate in the same frequency band or channel. As shown in Figure 1B, the multiple electronic devices may include terminals such as mobile phones (11, 12, and 13), laptops 15, and large-screen devices 16.

[0113] Taking the example of a first device sending service data (such as screen projection service data) to a 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, the sending end and the receiving end of the service are both two devices in the QOS system. In another implementation, the sending end of the service is a device in the above-mentioned QOS system, and the receiving end of the service can be another device in the above-mentioned QOS system or a router in the communication system.

[0114] Services are carried on links. Links can include switching nodes, such as link 41 between mobile phones 11 and 12, which can include a switching node, such as a router. Links can also include no switching nodes, such as in Wi-Fi direct connections, such as link 42 between mobile phone 13 and laptop 15, link 44 between mobile phone 14 and large-screen device 16, and link 43 between mobile phone 13 and large-screen device 16.

[0115] Services running in the application layer can be divided into three types: real-time services, delay-sensitive services, and file transfer services. In other embodiments, they can also be divided into two types, such as file transfer services and non-file transfer services. Non-file transfer services include real-time services and delay-sensitive services. The following briefly describes these three types of services:

[0116] (1) Real-time services: Data to be transmitted is generated at a fixed period. For example, screen projection services typically generate a video frame every 16 milliseconds. To ensure real-time service transmission, this service typically requires a small average transmission delay.

[0117] (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.

[0118] (3) File transfer service: When the service is initiated, the content and amount of data to be transferred can be clearly specified, and requirements can also be placed on the data transfer completion time (i.e., the average transmission rate).

[0119] It can be understood that the application layer can identify the service type of each service based on the characteristics of each service mentioned above.

[0120] Among them, real-time services may include screen projection services, delay-sensitive services may include voice call services, video call services, video on demand services, etc., and file transfer services may include video file transfer services, text file transfer services, image file transfer services, web page transfer services, etc.

[0121] For example, in Figure 1B , mobile phone 11 and mobile phone 12 are conducting a voice call, and link 41 carries voice call service V1 sent from mobile phone 11 to mobile phone 12. Link 41 also carries 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. Link 42 carries file transfer service D1 sent from mobile phone 13 to laptop 15, and link 43 carries file transfer service D2 sent from mobile phone 13 to large-screen device 16. Mobile phone 14 projects its screen onto large-screen device 16, and link 44 carries screen projection service P1.

[0122] The above examples illustrate the services carried by each link. It should be understood that one link can carry one or more services.

[0123] The following embodiments of this application are described using WiFi communication as an example for short-range communication. It should be understood that in other embodiments, the short-range communication method may also be Bluetooth, near-field communication (NFC), etc. The short-range communication method may also include multiple methods. For example, the links 41, 42, and 43 are established via WiFi and all operate in the 2.4 GHz frequency band, and the links 44 and 45 are established via Bluetooth and operate in the 2.4 GHz frequency band.

[0124] It should be understood that the devices, services, links, etc. in Figure 1B above are only exemplary. In other embodiments, the QOS system may also include more or fewer electronic devices, the types of electronic devices may also be replaced with other devices, and the services between electronic devices may also be other services.

[0125] The electronic device may be a smart terminal device, which may be of various types, and the embodiments of the present application do not limit the specific types thereof. For example, it may be a mobile phone, and may 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 computer, a smart headset, a game console, and may also be an Internet of Things (IOT) device or a smart home device such as a smart TV, etc. Without being limited thereto, it may also include a laptop computer with a touch-sensitive surface or touch panel, a desktop computer with a touch-sensitive surface or touch panel, and other non-portable terminal devices, etc.

[0126] Multiple electronic devices operating in the same frequency band or on the same channel share bandwidth. The bandwidth resources of the same channel are limited, necessitating a reasonable allocation of link bandwidth between multiple electronic devices operating on the same channel. In one implementation, an electronic device can sense its own services and allocate bandwidth based on them, but cannot sense the services of other devices. This may result in the electronic device allocating a large amount of bandwidth to its own services. This can lead to insufficient bandwidth for services of other devices, preventing them from completing service transmission. For example, referring to Figure 1B above, mobile phone 13 only has two file transfer services, mobile phone 14 may have a screen projection service, and mobile phones 11 and 12 may have voice call services. However, mobile phone 13 allocates bandwidth based solely on its own services, increasing the bandwidth for the file transfer service. Therefore, the optimization strategy of increasing the bandwidth for the file transfer service will inevitably result in insufficient bandwidth for the screen projection service of mobile phone 14 and the voice call services of mobile phones 11 and 12, resulting in lags and increased latency in the screen projection and voice call services. This bandwidth allocation method can lead to irrational bandwidth allocation and cannot guarantee bandwidth for high-priority services of other devices in the QoS system.

[0127] Therefore, in order to ensure the service quality of services in the QOS system, this application provides a QOS optimization method to collect link information of links in the QOS system and business information of services, so as to reasonably allocate bandwidth in combination with the link information of all links in the QOS system and business information of services.

[0128] This application takes into account that the real-time requirements of file transfer services are not high, and non-file transfer services (i.e., real-time services or delay-sensitive services) are sensitive to delay. Therefore, when there are non-file transfer services such as real-time services or delay-sensitive services, the bandwidth requirements of real-time services or delay-sensitive services are given priority to ensure the QOS of non-file transfer services.

[0129] This application provides two types of QOS optimization solutions for multiple devices, distributed and centralized, which are explained below.

[0130] First, the distributed multi-device QOS optimization solution provided in the embodiment of the present application is described.

[0131] In one implementation, each device acting as a transmitter in a QoS system collects its own device link information and device service information and sends it to other devices. The device service information of a device includes service information for services with the device as the transmitter, and the device link information of a device includes link information for links carrying services with the device as the transmitter. 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 services, the information it sends is empty. Thus, devices in the QoS system can collect link information for all links in the QoS system and service information for services carried by each link, and based on this information, allocate bandwidth for the services they want to transmit. Specifically, a device in the QoS system can calculate a speed limit for its own file transfer service based on the received service information and link information, and then transmit the files to be transmitted by the file transfer service at a bandwidth value not greater than the speed limit, thereby limiting the transmission rate of the file transfer service. The above method optimizes the QoS of multiple devices in collaboration and limits the bandwidth of the file transfer service in the QoS system, thereby ensuring the bandwidth of latency-sensitive services in the QoS system.

[0132] It should be understood that in the distributed QOS optimization method, the first electronic device can be any one of the QOS system's senders of a file transfer service, and the second electronic device can be any one of the QOS system's senders of a non-file transfer service other than the first electronic device. The first service data can be the service data of the service with the first electronic device as the sender, the first service being a file transfer service among the services with the first electronic device as the sender, and the first link being the link that carries the file transfer service. The second service data can be the service data of the service with the second electronic device as the sender, the second service being a non-file transfer service among the services with the second electronic device as the sender, and the second link being the link that carries the non-file transfer service.

[0133] Not limited to the above-mentioned first service, second service and other services, first link and second link and other links, the first electronic device can also obtain service information of more services and link information of more links, and calculate the speed limit value based on the service information of more services and link information of more links.

[0134] The link information includes the link ID, maximum effective rate, and ID of the channel on which the link operates, and the service information includes the service ID, required bandwidth, service type, etc. The service information of the file transfer service may not include the required bandwidth.

[0135] The link identifier is used to distinguish links in the QoS system. It can be represented by the identifiers of the two devices that created the link. When a switching node (such as a router) exists in the link, the link identifier can also include the identifier of the switching node. Optionally, the device's own device link information can also include the number of links created with the device that operate on the same channel or frequency band, so that the device receiving the device link information can determine whether the required link information has been collected.

[0136] The maximum effective rate of a link reflects the maximum transmission rate that the link can achieve. It can be determined based on the link's modulation and coding scheme (MCS) rate. The MCS rate, also known as the negotiated rate, can be the MCS rate of the link or the MCS rate multiplied by a coefficient greater than 0 and less than 1, such as 0.7 or 0.8.

[0137] It should be understood that when the link includes a switching node (such as a router), if the link is a transmission channel from a first device to a second device through a router, then the maximum effective rate of the 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, which is greater than 0 and less than 1, such as 0.5, 0.25, etc.

[0138] Service identifiers are used to distinguish services within the QoS system. These identifiers can be represented by both the link identifier carrying the service and the service identifier within that link. The service identifier within the link is used to distinguish services within the same link. A device's service information can also include the number of services, allowing the device receiving the service information to determine whether all required service information has been collected.

[0139] Optionally, when the device sends the device link information and the 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.

[0140] For example, in the QOS system shown in FIG1B , mobile phone 11 sends the device link information of mobile phone 11 (including the identifier of link 41, the highest effective rate, the identifier of the working channel) and device service information (the identifier of voice call service V1, the requested bandwidth and service type) to other devices in the QOS system; mobile phone 12 sends the device link information of mobile phone 12 (including the identifier of link 41, the highest effective rate, the identifier of the working channel) and device service information (the identifier of voice call service V2, the requested bandwidth and service type) to other devices in the QOS system; mobile phone 13 .... The other devices in the QOS system send the device link information of the mobile phone 13 (including the identifier of the link 42, the maximum effective rate, the identifier of the channel on which it works, and the identifier of the link 43, the maximum effective rate, the identifier of the channel on which it works) and the device service information (the identifier and service type of the file transfer services D1 and D2, the identifier, the requested bandwidth and service type of the screen projection service P3); the mobile phone 14 sends the device link information of the mobile phone 14 (including the identifier of the link 45, the maximum effective rate, the identifier of the channel on which it works) and the device service information (the identifier, the requested bandwidth and service type of the screen projection service P1) to other devices in the QOS system. The notebook 15 sends the device link information of the notebook 15 (including the identifier of the link 42, the maximum effective rate, the identifier of the channel on which it works, and the identifier of the link 45, the maximum effective rate, the identifier of the channel on which it works) and the device service information (the identifier, the requested bandwidth and service type of the screen projection service P2) to other devices in the QOS system. Since the large-screen device 16 does not contain any 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 include any services that need to be sent, the large-screen device 16 may also send device link information and device service information. In this case, the device link information and device service information may be empty. Each device in the QOS system can collect link information for all links in the QOS system and service information for all services, and thus can calculate the speed limit value for its respective file transfer service. 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 for its file transfer service, while other devices that do not include a file transfer service do not need to calculate the speed limit value for the file transfer service.

[0141] It can be seen that: although mobile phone 13 has two file transfer services, when performing QOS optimization, mobile phone 13 will limit the speed of these two file transfer services to prioritize the bandwidth requirements of screen projection services P1, P2 and voice call services V1, V2 because it knows the bandwidth requirements of non-file transfer services with high real-time requirements in the QOS system, namely, screen projection services P1, P2 and voice call services V1, V2.

[0142] Among them, the method for devices in the QOS system to determine the speed limit value of the file transfer service can be: each device or the device containing the file transfer service can calculate the total time proportion of the non-file transfer service based on the requested bandwidth of the received non-file transfer service and the highest effective rate of the link carrying the non-file transfer service, and then determine the maximum total time proportion of the file transfer service, and then determine the speed limit value of each file transfer service based on the maximum total time proportion of the file transfer service. Each device can send the file transfer service with a bandwidth value not greater than the speed limit value to limit the speed of its own file transfer service, so as to utilize the bandwidth of the file transfer service to meet the requested bandwidth of delay-sensitive services (real-time services or delay-sensitive services) and improve the QOS of delay-sensitive services.

[0143] Moreover, the above method can be dynamically adjusted based on changes in the link information or service information of the QOS system, so as to adjust the speed limit value of the file transfer service in real time while giving priority to the QOS of services that are sensitive to delay, so as to make full use of communication resources and improve the QOS of the file transfer service.

[0144] The following describes a centralized multi-device QOS optimization solution provided in an embodiment of the present application.

[0145] A device in the QOS system acts as a central control device. This central control device collects not only its own device service information and device link information, but also that of other devices. Based on this information, it calculates the speed limit for each file transfer service in the system and sends each speed limit to the sender of the file transfer service. This allows the device to send the file transfer service at a bandwidth no greater than the speed limit, thereby limiting the speed of the corresponding file transfer service. This method optimizes QOS based on the service information of multiple devices and limits the bandwidth of file transfer services on multiple devices, thereby ensuring QOS for latency-sensitive services in the QOS system.

[0146] The method by which the central control device determines the speed limit value of the file transfer service is the same as the method by which the device determines the speed limit value of the file transfer service in the above-mentioned distributed QOS optimization solution.

[0147] The centralized QOS optimization solution provided by this application is schematically illustrated below with reference to FIG2 .

[0148] Taking the QOS system shown in FIG1B as an example, the exemplary central control device is the notebook 15. Each device in the QOS system or the device that needs to send a service sends its own device link information and device service information to the notebook 15, that is, the mobile phone 11 sends its own device link information (including the identifier of the link 41, the maximum effective rate and the identifier of the working channel) and device service information (the identifier of the voice call service V1, the requested bandwidth and service type) to the notebook 15; the mobile phone 12 sends its own device link information (including the identifier of the link 41, the maximum effective rate and the identifier of the working channel) and device service information (the identifier of the voice call service V1, the requested bandwidth and service type) to the notebook 15. The mobile phone 13 sends its own device link information (including the identifier of link 42, the maximum effective rate and the identifier of the channel on which it works, and the identifier of link 43, the maximum effective rate and the identifier of the channel on which it works) and device service information (the identifier and service type of file transfer services D1 and D2, the identifier, the required bandwidth and service type of screen projection service P3) to the notebook 15; the mobile phone 14 sends its own device link information (including the identifier of link 45, the maximum effective rate and the identifier of the channel on which it works) and device service information (the identifier, the required bandwidth and service type of screen projection service P1) to the notebook 15. The notebook 15 obtains its own device link information (including the identifier of link 42, the maximum effective rate, the identifier of the channel on which it works, and the identifier of link 45, the maximum effective rate, the identifier of the channel on which it works) and device service information (the identifier, the required bandwidth and service type of screen projection service P2). Since the large-screen device 16 does not contain any service that needs to be sent, there is no need to send its device link information and device service information to the notebook 15. Alternatively, although the large-screen device 16 does not contain any services that need to be sent, the large-screen device 16 can also send device link information and device service information. In this case, the device link information and device service information can be empty. Furthermore, the notebook 15 can collect the link information of each link and the service information of each service in the QOS system, and based on this, the speed limit value of each file transfer service can be calculated, that is, the speed limit value of file transfer services D1 and D2. The speed limit values ​​of file transfer services D1 and D2 are then sent to the device corresponding to the file transfer service (that is, the sending end of the file transfer service), that is, the mobile phone 13. Then, the mobile phone 13 sends the service data of file transfer service D1 with a bandwidth value not greater than the speed limit value of file transfer service D1, and sends the service data of file transfer service D2 with a bandwidth value not greater than the speed limit value of file transfer service D2, so as to limit the speed of file transfer services D1 and D2. In this embodiment, the sending of device link information and device service information can be reduced, and both can be sent to the central control device, which can be calculated by the central control device, and does not need to be calculated for each device. This not only reduces communication overhead but also improves QOS optimization efficiency.

[0149] In some embodiments, each device in the QoS system can detect events to trigger the aforementioned QoS optimization schemes. Devices can detect events such as service creation, closure, lag, changes in requested bandwidth, and changes in link transmission rate or maximum effective rate. Detecting these events can trigger the collection of device service information, device link information, and other information from each device in the QoS system, so that the aforementioned distributed or centralized QoS optimization methods can be executed based on this collected information.

[0150] It should be understood that the notebook 15 may also include file transfer services and / or non-file transfer services that need to be sent. In this case, the notebook 15 will also collect its own device service information and device link information. The above description uses the scenario shown in Figure 2 as an example. It should be understood that the QoS system may include more or fewer devices, services, and links than the system shown in Figure 2.

[0151] In one application scenario, mobile phone 13 is the first electronic device, mobile phone 14 is the second electronic device, and large-screen device 16 is the third electronic device. At this time, link 43 is the first link, link 44 is the second link, file transfer service D2 is the first service, and screen projection service P1 is the second service.

[0152] In another application scenario, mobile phone 13 is the first electronic device, mobile phone 14 is the second electronic device, notebook 14 is the third electronic device, and large-screen device 16 is the fourth electronic device. At this time, link 42 is the first link, link 44 is the second link, file transfer service D1 is the first service, and screen projection service P1 is the second service.

[0153] In another application scenario, the mobile phone 13 is the first electronic device, the notebook 14 is the second electronic device, and the large-screen device 16 is the third electronic device. At this time, the link 42 is the first link, the link 45 is the second link, the file transfer service D1 is the first service, and the screen projection service P2 is the second service.

[0154] In another application scenario, mobile phone 13 is the first electronic device, mobile phone 14 is the second electronic device, and large-screen device 16 is the third electronic device. At this time, link 42 is the first link, link 43 is the second link, file transfer service D1 is the first service, and screen projection service P3 is the second service.

[0155] It should be noted that the distributed or centralized QoS optimization method provided in the embodiments of the present application optimizes 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, services belonging to other QoS systems participate in the optimization of other QoS systems.

[0156] As shown in Figure 3, a hardware structure diagram of an electronic device 100 provided in an embodiment of the present application is shown. The electronic device 100 can be the mobile phone, notebook, large-screen device, central control device, etc. in Figures 1A, 1B, or 2 above, or can be device A, device B, device C, first electronic device, central control device, etc. in the method embodiments below, and is used to execute the methods executed by each device in the following method embodiments.

[0157] 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. The wireless communication module 103 may include a WLAN communication module, a Bluetooth communication module, etc. The above-mentioned multiple components may transmit data via a bus.

[0158] 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). Different processing units may be independent devices or integrated into one or more processors.

[0159] The memory 102 can be used to store computer executable program codes, which may include instructions. The processor 101 executes the instructions stored in the memory 102 to execute various functional applications and data processing of the electronic device 100, such as executing various methods provided in the embodiments of the present application.

[0160] The wireless communication function of the electronic device 100 can be implemented through the antenna 103A, the antenna 104A, the mobile communication module 104, the wireless communication module 103, the modem processor and the baseband processor.

[0161] Antenna 103A and antenna 104A can be used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 103A can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.

[0162] The mobile communication module 104 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the electronic device 100. The mobile communication module 104 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 104 can receive electromagnetic waves through the antenna 104A, and 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 of the functional modules of the mobile communication module 104 can be set in the processor 101. In some embodiments, at least some of the functional modules of the mobile communication module 104 can be set in the same device as at least some of the modules of the processor 101.

[0163] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium- or high-frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then 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 passed to the application processor. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 101 and be provided in the same device as the mobile communication module 104 or other functional modules.

[0164] The wireless communication module 103 can provide wireless communication solutions including wireless local area networks (WLAN), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (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 via the antenna 103A, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 101. The wireless communication module 103 can also receive the signal to be sent from the processor 101, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 103A.

[0165] 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 technology.

[0166] It should 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 shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0167] In the embodiment of the present application, the wireless communication module 103 can be used for WiFi connection between electronic devices, and transmission of data such as data or instructions.

[0168] The operations performed by the various components in the electronic device 100 may be specifically referred to the relevant description of the above method embodiment, which will not be elaborated here.

[0169] For example, FIG4 shows the software and hardware architecture of the electronic device 100 provided in an embodiment of the present application.

[0170] As shown in FIG4 , the software architecture of an electronic device can adopt a layered architecture. The layered architecture divides the system into several layers, each with a clear role and division of labor. Layers communicate with each other via software interfaces. In some embodiments, the system is divided into five layers: from top to bottom, the application layer, the application framework layer (framework), the system library and Android runtime (Android runtime), the hardware abstraction layer (HAL), and the driver layer. The application framework layer, the system library and Android runtime, and the hardware abstraction layer are not shown in FIG4 .

[0171] The application layer (application) can include a series of applications. For example, the application package can include WLAN applications, Bluetooth applications, application connection, call sharing, notification sharing, keyboard and mouse sharing, file sharing, screen projection, video and gallery applications, as well as other applications not shown, such as music, camera, browser, WeChat, etc. TM ,Tik Tok TM and other applications.

[0172] Among them, the WLAN application is mainly used to realize the opening, connection and setting of WLAN, etc., and the Bluetooth application is used to realize the opening, connection and setting of Bluetooth, etc. The application continuation application is used to realize the content and usage status of the application between this electronic device and nearby devices. The call sharing application is used to realize that nearby devices answer and continue calls from this electronic device. For example, the smart screen can answer calls from this electronic device, and tablets and computers also support making calls. Notification sharing is used to realize that nearby devices receive notifications from this electronic device and support processing on these devices. Keyboard and mouse sharing is used to share input devices with this electronic device and nearby computers, or the mouse, keyboard and touchpad of the computer or tablet are shared with this electronic device. It can also realize cross-device file transfer and cross-device window display and use. The file sharing application is used to realize wireless sharing of files with other electronic devices in the same network, and realize extremely fast sharing or printing of files. The screen projection application is used to realize the linking of this electronic device with a large-screen device to realize the display of videos and other content displayed on this electronic device through the large-screen device, or to realize the linking of this electronic device with a small-screen device to realize the display of videos and other content displayed on the small-screen device through the large screen of this electronic device. Here, "large screen" and "small screen" refer to the relative sizes of the display screens of electronic devices.

[0173] The application layer also includes a video transmission service interface, a message transmission service interface, an audio transmission service interface, a file transfer service interface, a keyboard and mouse transmission service interface, and a file stream transmission service interface, as well as the services corresponding to these interfaces, including video transmission service, message transmission service, audio transmission service, file transfer service, keyboard and mouse transmission service, and file stream transmission service. Among them, the video transmission service, message transmission service, audio transmission service, file transfer service, keyboard and mouse transmission service, and file stream transmission service are used to implement video transmission, message transmission, audio transmission, file transfer, keyboard and mouse transmission, and file stream transmission, respectively. The upper-layer application realizes the transmission of business data of the business it creates by calling these interfaces. For example, after creating the screen projection service, the upper-layer application "screen projection" calls the video transmission service interface, and the video transmission service responds to the call to realize the transmission of business data of the screen projection service.

[0174] The application layer may also include a QoS control engine, which may be an application invisible to the user and may include some or all of the following functional modules: bandwidth management system, information update system, QoS scheduling system, QoS bandwidth allocation system, sending system, and QoS monitoring system.

[0175] When creating a service, an application sends a connection request or service creation request to the bandwidth management system, along with the requested bandwidth for the service.

[0176] The bandwidth management system is used to calculate the remaining bandwidth after receiving the bandwidth request from the upper-layer application and determine whether the remaining bandwidth can meet the needs of the service to be established. The bandwidth management system is also used to establish links.

[0177] The information update system is used to collect its own service and link information, and receive service and link information from other devices in the QoS system. Upon receiving notifications or instructions from other devices to reschedule QoS, or upon identifying updates, additions, or reductions in service or link information in the QoS system, it sends a scheduling request to the QoS scheduling system to trigger QoS rescheduling. Service information includes service bandwidth requirements, and link information includes the maximum effective link rate.

[0178] The QOS scheduling system is used to respond to scheduling requests, determine whether the current QOS system includes file transfer services or whether the electronic device itself includes file transfer services. When the file transfer service is included, the speed limit value of the file transfer service is recalculated, and the requested bandwidth of its own non-file transfer service and the speed limit value of the file transfer service are sent to the QOS bandwidth allocation system.

[0179] The QOS bandwidth allocation system is used to allocate bandwidth to non-file transfer services based on the bandwidth requested by the non-file transfer services received, and to allocate bandwidth to non-file transfer services based on the speed limit value of the file transfer services, and to send the allocated bandwidth to each service to the sending system.

[0180] The sending system is used to send the service data of the service in the respective allocated bandwidth.

[0181] The QOS monitoring system is used to monitor changes in the service information of the service and 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 changes occur.

[0182] In some embodiments, the information update system is further configured to implement measurement of the highest effective rate of a link in the QOS system.

[0183] The application framework layer provides an application programming interface (API) and programming framework for applications in the application layer. The framework layer includes some predefined functions. For example, it may include an activity manager, a window manager, a view system, a resource manager, a notification manager, an audio service, a camera service, etc., which are not limited in this embodiment of the application.

[0184] The system library can include multiple functional modules, such as surface manager, media libraries, OpenGL ES, SGL, etc.

[0185] The Hardware Abstraction Layer (HAL) is an interface layer between the operating system kernel and the hardware circuitry. Its purpose is to abstract the hardware. It hides the details of the platform-specific hardware interfaces and provides the operating system with a virtual hardware platform, making it hardware-independent and portable across multiple platforms. From the perspective of software and hardware testing, both hardware and software testing can be performed independently within the HAL, enabling parallel testing of both software and hardware.

[0186] The driver layer includes drivers for various hardware. The driver layer can include Bluetooth drivers, Wi-Fi drivers, etc. Among them, the Bluetooth driver is used to drive the Bluetooth module. The Wi-Fi driver is used to drive the Wi-Fi module.

[0187] The following uses the QoS system composed of three devices shown in Figure 5, which communicate via WiFi, as an example to illustrate QoS optimization caused by events such as service creation, closure, lag, changes in requested bandwidth, and changes in link transmission rate.

[0188] Referring to the application scenario shown in Figure 5, the QoS system includes device A (e.g., a mobile phone), device B (e.g., a tablet), and device C (e.g., a PC). The mobile phone is connected to the tablet and PC via WiFi. The following links and services can be established in sequence:

[0189] ①The mobile phone and tablet establish a link L AB , the user can project the conference 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 connects to the tablet computer through the link L AC Send screen projection service P1 to the tablet computer;

[0190] ② The mobile phone transfers the call to the tablet computer, and the mobile phone creates a voice call service V1, which is connected to the tablet computer through the link L AB The service data of the voice call service V1 (that is, the voice information received by the mobile phone) is sent to the tablet computer, and the tablet computer creates the voice call service V2 through the link L AB Send the service data of the voice call service V2 (that is, the voice information collected by the tablet computer through the microphone) to the mobile phone.

[0191] ③ Mobile phone and PC establish link L AC , the mobile phone shares the file to be shared to the PC, and the mobile phone establishes the file sharing service D1 through the link L AC Send the service data of the file sharing service D1 (file to be shared) to the PC.

[0192] It should be understood that the above link L AB and L AC Work in the same channel or frequency band.

[0193] In this application, the above device A (mobile phone) is the first electronic device, device B (tablet computer) is the second electronic device, device C (PC) is the third electronic device, and link L AC That is the first link, link L AB For example, the file sharing service D1 is the first service, the voice call service V2 is the second service, or the voice call service V1 is the third service, and the screen projection service P1 is the fourth service. It should be understood that in other embodiments, the device B (tablet) can also be used as the first electronic device, the device A (mobile phone) and the device C (PC) can be the second electronic device and the third electronic device, respectively. Alternatively, the device C (PC) can also be used as the first electronic device, the device A (mobile phone) and the device B (tablet) can be the second electronic device and the third electronic device, respectively.

[0194] The above scenario is not limited to the above scenario, and other specific scenarios may also be included. The following uses this scenario as an example to illustrate.

[0195] In combination with the hardware architecture and software and hardware architecture of the electronic device shown in Figures 3 and 4 above, and the application scenario shown in Figure 5, the QOS optimization method provided by this application is described in detail below. The method is divided into the QOS optimization process caused by several stages such as service creation, WiFi transmission rate change, service demand change, jamming and service termination. It should be understood that during the life cycle of the service, the QOS optimization process caused by the change of WiFi transmission rate, the QOS optimization process caused by the change of service demand, the QOS optimization process caused by jamming, etc. QOS optimization processes may occur once or multiple times, or may not occur.

[0196] (1) QOS optimization process caused by service creation

[0197] Taking the creation of the screen projection service P1 in the scenario shown in FIG5 as an example, FIG6A exemplifies the QOS optimization method involved when device A in the QOS system creates a screen projection service to device B, which includes but is not limited to the following steps:

[0198] S101, the screen projection application of device A receives an operation to project the screen to device B.

[0199] For example, as shown in FIG7A , the user interface 71 of the "Settings" application may include a smart connection control 711 and a more connection control 712. Device A may detect a user operation on the more connection control 712. In response to this user operation, device A may display a user interface 72 as shown in FIG7B . This user interface 72 may include a file sharing control 721, a screen casting control 722, and the like. Device A may detect a user operation on the screen casting control 722 and display a user interface 73 as shown in FIG7C . This user interface 73 may include a wireless screen casting control 731. Device A detects the user operation on the wireless screen casting control 731, turns on Bluetooth, searches for available devices, and displays a user interface 74 as shown in FIG7D . This user interface 74 includes a list of available devices. For example, the list of available devices includes a device identifier 741 of device B. The screen casting operation to device B may be a user operation on device identifier 741. Device A detects the user operation on device identifier 741 and, in response to this user operation, initiates screen casting transmission to device B. It should be understood that device A can also initiate screen projection transmission to device B in other ways. For example, device A performs a pull-down operation on the top of the display screen to display the interface of the control center, which includes a screen projection icon. In response to the detected user operation on the screen projection icon, it searches for available devices under the same network and initiates screen projection transmission to the default device B.

[0200] S102, in response to receiving the screen projection operation, the screen projection application of device A sends a request for establishing a wireless fidelity (WiFi) connection with device B and the requested bandwidth of the screen projection service to the bandwidth management system.

[0201] For example, the required bandwidth of the screen projection service may be 30 Mbps.

[0202] S103 : The bandwidth management system of device A requests the WiFi driver to establish a WiFi connection with device B.

[0203] The WiFi connection can be a WiFi direct connection or a connection through a WiFi router. In another implementation, device A and device B can establish a WiFi connection in advance. At this time, S106 can be directly executed, and the bandwidth management system can send the requested bandwidth of the screen projection service to the information update system.

[0204] S104: The WiFi driver of device A establishes a WiFi connection with the WiFi driver of device B.

[0205] After the WiFi connection is established, a link L is established between device A and device B on channel K1. AB .

[0206] S105: The bandwidth management system of device A determines whether the remaining bandwidth meets the bandwidth requirement of the screen projection service.

[0207] The remaining bandwidth refers to the link L in the QOS system. AB The remaining bandwidth of the active channel K1 or link L 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.

[0208] The general calculation method of the remaining bandwidth can be the total time ratio 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 maximum 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 refer to the method for calculating the remaining bandwidth shown in Figure 13 below.

[0209] Because there is no non-file transfer service in the QOS system before the screen projection service is created, the maximum 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.

[0210] 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 bandwidth required by the screen projection service, execute S106.

[0211] S106, the bandwidth management system of device A sends a message to the screen projection application, which indicates that the remaining bandwidth meets the required bandwidth of the screen projection service.

[0212] After S106, the screen projection application of device A can be connected to the link L established between device A and device B. AB Send the business data of the screen projection service to device B, that is, execute S115, and S106 can also be executed at the same time.

[0213] S107, the bandwidth management system of device A sends the requested bandwidth of the screen projection service to the information update system.

[0214] S108, the information update system of device A collects its own device service information and device link information, and broadcasts a notification. Among them, the device service information collected by device A includes the identifier of the real-time service with device A as the sender, the required bandwidth and service type, the identifier of the delay-sensitive service, the required bandwidth and service type, and the identifier and service type of each file transfer service. The device link information collected by device A includes the identifier of the link that carries the service sent by device A, the maximum effective rate and the identifier of the channel, etc. At this time, device A collects the identifier of the projection service P1, the required bandwidth 30Mbps and service type 1, and the link L AB The identifier of , the maximum effective rate of 200 Mbps and the identifier of channel K1. Among them, service type 1 represents non-file transfer service, and service type 0 represents file transfer service.

[0215] After receiving the requested 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. In response to the notification, the information update systems of other devices (i.e., other devices in the QOS system except device A) 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, 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 is no service on device B and device C at this time, there is no need to collect their own device link information and device service information.

[0216] In some embodiments, notifications may not be sent. Each device in the QoS system may trigger the generation of a scheduling request upon receiving changed device service information and / or changed device link information sent by other devices. Alternatively, each device in the QoS system may trigger the generation of a scheduling request upon collecting service information and link information sent by all devices.

[0217] S109 , the information update system of device A sends its own device service information and device link information to other devices.

[0218] The information update system of device A can send the device link information and device service information of device A to other devices. At this time, it also sends the identification of the projection service P1, the requested bandwidth 30Mbps and service type 1, and the link L AB The identifier of the maximum effective rate is 200Mbps and the channel K1.

[0219] In other embodiments, the above S108-S109 may not be performed. Device A may also only send updated device link information and updated device service information to other devices. For example, the screen projection service is a created service, which is a newly added service. Device A sends the identification of the screen projection service, the required bandwidth 30Mbps and service type 1, and the identification of the link used to carry the screen projection service, the maximum effective rate 200Mbps and the identification of channel K1. The updated link information here includes the link information of the newly added link and the updated link information of the existing link; the updated service information refers to the service information of the newly added service and the updated service information of the existing service.

[0220] It should be understood that when other devices have services, the information update system of device A will also receive device service information and device link information from other devices. Since the screen projection service here is the first service created by the QOS system, device A will not receive device service information and device link information sent by other devices.

[0221] S110, the information update system of device A sends a scheduling request to the QOS scheduling system. The scheduling request carries the device link information and device service information received by device A. That is, it carries the identification of the projection service P1, the requested bandwidth 30Mbps and service type 1, and the link L AB The identifier of the maximum effective rate is 200Mbps and the channel K1.

[0222] The received device link information and device service information may be link information of all links in the current QOS system and service information of all services carried on each link, or may be link information of some links and service information of some services.

[0223] It should be understood that device A will collect device link information and device service information sent by other devices in the QOS system within a certain time interval (such as the first time period after the broadcast notification in S108 above, such as within 3 seconds), and execute S110 when the first time period is reached, or execute S110 after executing S109.

[0224] S111, the QOS scheduling system of device A responds to the scheduling request and determines whether the service to be sent includes file transfer service. If the service does not include file transfer service, the file speed limit value does not need to be calculated. If the service does include file transfer service, the speed limit value of the file transfer service needs to be calculated.

[0225] At this time, the service that device A wants to send is also the service with device A as the sender. Currently, the only service that device A wants to transmit is screen projection, not file transfer. Therefore, there is no need to calculate the speed limit value for file transfer service.

[0226] S112 : The QoS scheduling system of device A sends the requested bandwidth for its own non-file transfer service to the bandwidth allocation system.

[0227] In some embodiments, device A can send the bandwidth requested by all its non-file transfer services. In this case, device A includes the screen projection service, that is, it sends the bandwidth requested by the screen projection service, which is 30 Mbps.

[0228] In other embodiments, device A may only send the requested bandwidth of the newly added non-file transfer services and updated non-file transfer services of device A itself relative to the last scheduling request.

[0229] S113 , the bandwidth allocation system of device A allocates bandwidth to the non-file transfer service according to the bandwidth required by the non-file transfer service.

[0230] This application takes into account that non-file transfer services do not have high real-time requirements, and prioritizes allocating bandwidth to the non-file transfer services based on their requested bandwidth, so as to prioritize the QOS of the non-file transfer services.

[0231] The allocated bandwidth of the non-file transfer service may be its requested bandwidth, and the allocated bandwidth of the file transfer service may be less than or equal to its speed limit.

[0232] For example, the allocated bandwidth of the screen projection service is its required bandwidth, which is 30Mbps, and device A does not include the file transfer service that needs to be sent.

[0233] S114: The bandwidth allocation system of device A sends the allocated bandwidth of its own service to the sending system. At this time, device A includes the screen projection service and sends the allocated bandwidth of 30 Mbps for the screen projection service.

[0234] S115, the screen projection application of device A sends the business data of the screen projection service to the sending system.

[0235] S116 , the sending system of device A sends the service data of each service to the WiFi driver using the allocated bandwidth of its own service.

[0236] At this time, the service to be sent by device A includes the screen projection service, and the sending system of device A sends the service data of the screen projection service to the WiFi driver using the allocated bandwidth of the screen projection service. Specifically, the service data of the screen projection service can be packaged into data packets and then sent in sequence.

[0237] In another embodiment, for non-file transfer services, taking the aforementioned screen casting application as an example, after successfully creating the screen casting application, the screen casting application can send its requested bandwidth to the sending system (i.e., allocate bandwidth for it). The sending system can then send the service data of the screen casting service to the WiFi driver based on the requested bandwidth of the screen casting application. In this case, if step S111 determines that the service to be transmitted does not include file transfer service, the above steps S112-S114 can be omitted.

[0238] It should be understood that one implementation of sending the business data of the service based on the allocated bandwidth of the service may be that the rate at which the sending system sends the business data of the service will not exceed its allocated bandwidth, or the amount of business data of the service sent per unit time will not exceed the amount of data achieved by sending per unit time at the allocated rate of the service.

[0239] S117, the WiFi driver of device A drives the WiFi module to establish a link L between device A and device B AB Send the business data of each business to device B, that is, send the business data of the above-mentioned screen projection business to device B.

[0240] It should be noted that when device B includes a service that needs to be sent via WiFi, device B will also execute steps S109-S116 executed by device A. FIG6A illustrates this by taking device B as an example where no service is included.

[0241] After executing the method shown in FIG6A above, device A can also transfer the call flow to device B when receiving an incoming call, and device A and device B respectively establish voice call services. FIG6B exemplifies the QOS optimization method involved in establishing voice call services between device A and device B in the QOS system, which includes but is not limited to the following steps:

[0242] S118 , upon receiving the call request, the call application on device A sends an incoming call interface to device B.

[0243] Specifically, after the call sharing function of device A is enabled, when device A receives an incoming call, i.e., a call request, it displays the incoming call interface and sends the incoming call interface to device B. The incoming call interface can be user interface 75 as shown in Figure 7E, which 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.

[0244] S119 , when receiving the incoming call interface, the call application of device B displays the incoming call interface.

[0245] The incoming call interface displayed by device B is a user interface 76 shown in FIG7F , including an answer control 761 and a reject control 762 .

[0246] S120 , in response to the answering operation, the call application of device B sends an instruction for instructing the call application of device A to answer the call.

[0247] The answering operation may be a user operation acting on the answering control 761 on the user interface 76, as shown in FIG7F.

[0248] S121 : The call application of device A answers the call in response to the instruction for answering the call.

[0249] S122: The call application of device A sends a message indicating that the call has been answered to the call application of device B.

[0250] S123 , the call application of device A sends the requested bandwidth of 30 Mbps for the voice call service V1 to its bandwidth management system.

[0251] S124, the bandwidth management system of device A determines whether the remaining bandwidth meets the bandwidth requirement 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 will feedback 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 bandwidth requirement of the voice call service V1, the call application of device A can use the link L established between device A and device B. AB The service data of the voice call service V1 is sent to device B, that is, S138 is executed, and S125 can be executed at the same time.

[0252] For example, before creating the voice call service V1, the link information and service information included in the QOS system are as follows:

[0253] Link information includes: Link L AB : Maximum effective rate γ1 = 200 Mbps, identification of channel K1.

[0254] Business information includes: screen projection business P1, carried on link L AB The requested bandwidth is band1 = 30 Mbps and the service type is 1.

[0255] Based on the remaining bandwidth calculation method shown in Figure 13 below, the remaining bandwidth of device A is: (1-30 / 200)*200Mbps=200Mbps-30Mbps=170Mbps, which is greater than the required bandwidth of 20Mbps for voice call service V2. Therefore, the remaining bandwidth meets the requirements of voice call service V2.

[0256] S125 , the bandwidth management system of device A sends the requested bandwidth of the voice call service V1 to the information update system.

[0257] S126 , the information update system of device A collects device service information and device link information of device A itself, and broadcasts a notification to other devices.

[0258] Same as S108 above, at this time, the device A's own device service information includes the screen projection service P1 identifier, requested bandwidth 30Mbps and service type 1, the voice call service V1 identifier, requested bandwidth 20Mbps and service type 1, and the device link information includes link L AB The identifier of the maximum effective rate is 200Mbps and the channel K1.

[0259] S127 , the information update system of device A sends its own device service information and device link information to other devices.

[0260] Similar to device A creating the voice call service V1, after receiving the answering message from device A, the call application of device B executes the following steps S128-S132:

[0261] S128 , the call application of device B sends the requested bandwidth of 30 Mbps for the voice call service V2 to its bandwidth management system.

[0262] S129 , the bandwidth management system of device B determines whether the remaining bandwidth meets the bandwidth requirement of the voice call service V2 .

[0263] If the remaining bandwidth is insufficient, that is, it cannot meet the requirements of voice call service V2, the bandwidth management system of device B will feedback to the call application that the remaining bandwidth is insufficient. At this time, the creation of voice call service V2 fails. If the remaining bandwidth can meet the bandwidth required by voice call service V2, the call application of device B can use the link L established between devices A and B. AB The service data of the voice call service V2, ie, the voice information collected by the device B through the microphone, is sent to the device A. The call application of the device A will receive the voice information (not shown in FIG. 6B ), and the bandwidth management system of the device B can also execute S130 .

[0264] S130 , the bandwidth management system of device B sends the requested bandwidth of the voice call service V2 to the information update system.

[0265] S131 , the information update system of device B collects device service information and device link information of device B itself, and broadcasts a notification to other devices.

[0266] Similar to S108 above, the device B's own device service information at this time includes the identifier of the voice call service V2, the requested bandwidth 20 Mbps and the service type 1, and the device link information includes the link L ABThe identifier of the maximum effective rate is 200Mbps and the channel K1.

[0267] S132 , the information update system of device B sends its own device service information and device link information to other devices.

[0268] At this time, the information update system of device A receives device service information and device link information sent from other devices, such as device service information and device link information of device B.

[0269] For example, the information update system of device A receives the device service information (identification of voice call service V2, requested bandwidth 20 Mbps and service type 1) and device link information (link L) sent by device B. AB The maximum effective rate is 200Mbps and the channel K1 is marked).

[0270] At this point, the link information and service information received by device A includes:

[0271] The link information includes (the link identifier and channel identifier are not shown):

[0272] Link L AB , Device A (mobile phone) and Device B (tablet): Maximum effective rate γ1 = 200Mbps;

[0273] Business information includes (business identification):

[0274] Screen projection service P1, carried on link L AB For service type 1, the requested bandwidth is band1 = 30 Mbps.

[0275] Voice call service V1, carried on L AB For service type 1, the requested bandwidth is band2 = 20 Mbps.

[0276] Voice call service V2, carried on L AB For service type 1, the required bandwidth is band3 = 20 Mbps.

[0277] S133: 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 currently received by device A.

[0278] For example, taking the current QOS system including one link as an example, the link carries the screen projection service P1, voice call service V1 and voice call service V2. In practice, the QOS system can also include multiple links and more services, and device A may also receive device link information or device service information from other devices.

[0279] In step S134, device A's QoS scheduling system responds to the scheduling request and determines whether the services it intends to transmit include file transfer. If file transfer is not included, no file rate limit calculation is required. However, if file transfer is included, a rate limit calculation is required. At this point, device A's intended services include screen projection service P1 and voice call service V1, but not file transfer. Therefore, no rate limit calculation is required for file transfer.

[0280] S135 , the QoS scheduling system of device A sends the requested bandwidth for its own non-file transfer service to the bandwidth allocation system.

[0281] For example, the required bandwidth for sending the screen projection service P1 is 30 Mbps, and the required bandwidth band2 for the voice call service V1 is 20 Mbps.

[0282] In some embodiments, only the requested bandwidth of a newly added service or a service with changed service information may be sent. In this case, in S135 , the requested bandwidth of 20 Mbps for the voice call service V1 may be sent.

[0283] In step S136, the bandwidth allocation system of device A allocates bandwidth to the non-file transfer service based on the requested bandwidth of the non-file transfer service. At this point, device A only includes the screen projection service P1 and the voice call service V1. The requested bandwidth of 30 Mbps for the screen projection service P1 is the allocated bandwidth for the screen projection service P1, and the requested bandwidth of 20 Mbps for the voice call service V1 is the allocated bandwidth for the voice call service V1.

[0284] In step S137, the bandwidth allocation system of device A sends the allocated bandwidth of its own service to the sending system. At this time, since device A includes screen projection service and voice call service V1, the allocated bandwidth of 30Mbps for screen projection service and 20Mbps for voice call service V1 is sent.

[0285] S138 , the call application of device A sends the service data of the voice call service V1 to the sending system.

[0286] S139, the screen projection application of device A sends the business data of the screen projection service P1 to the sending system.

[0287] It should be understood that the services that device A currently needs to send also include the screen projection service P1, and its screen projection application will also send the business data of the screen projection service P1 to the sending system.

[0288] 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 service. ABThe upper carrier includes the screen projection service P1 and the voice call service V2. The sending system of device A sends the service data of the screen projection service P1 using the allocated bandwidth of the screen projection service P1, and sends the service data of the voice call service V1 using the allocated bandwidth of the voice call service V1. Specifically, the service data of these services can be packaged into data packets and sent sequentially.

[0289] S141, the WiFi driver of device A drives the WiFi module to establish a link L between device A and device B AB The service data of the voice call service V1 is sent to device B. Specifically, the service data may be packaged into a data packet for transmission.

[0290] It should be noted that, like device A, device B will also execute steps S133-S138 and S140 executed by the above-mentioned device A, which is not shown in Figure 6B. The difference is that in S135, device B sends the requested bandwidth of 20Mbps for voice call service V2. In S136-S137 and S140, device B allocates bandwidth for voice call service V2 and sends the service data of voice call service V2 with the requested bandwidth of voice call service V2 as the allocated bandwidth. The call application of device B sends the service data of voice call service V2 to its sending system. The sending system of device B sends the service data of voice call service V2 to the WiFi driver with the allocated bandwidth of the service, and then its WiFi driver drives the WiFi module to connect to the link L established by device B and device A. BA The service data of the voice call service V2 is sent to device A.

[0291] S142 , the call application of device A receives service data of the voice call service V2 from device B.

[0292] Specifically, the call application of device A receives service data of the voice call service V2 from device B through the WiFi module.

[0293] After executing the methods shown in FIG6A and FIG6B , device A can also share files, such as pictures, with device C. FIG6C exemplarily shows a method for optimizing the QOS involved in creating a file sharing service by device A in the QOS system, which includes but is not limited to the following steps:

[0294] S143 : The application of device A receives a user operation input by the user for instructing to share a file with device C.

[0295] As shown in Figure 7G, device A displays the user interface of the gallery, such as the user interface 77 containing the file to be shared 771. Device A can detect the user operation acting on the file to be shared 771 and display the sharing control 772; device A detects the user operation acting on the sharing control 772 and displays the sharing interface 78 shown in Figure 7H, which includes the file sharing control 781 for sharing to other devices; device A detects the user operation acting on the file sharing control 781, turns on Bluetooth, searches for available devices, and displays a list of available devices, showing that the list of available devices includes the device identifier of device C. Device A detects the user operation acting on the device C identifier, which is a user operation to share the file to be shared 771 to device C, and the user operation indicates that the file to be shared 771 is transmitted to device C.

[0296] S144 , in response to the user operation, the image library of device A sends a request for instructing to establish a wireless fidelity (WiFi) connection with device C to the bandwidth management system.

[0297] S145 , the bandwidth management system of device A requests the WiFi driver to establish a WiFi connection with device C.

[0298] At this time, device A establishes a WiFi connection with device C, and establishes a link L between device A and device C on channel K2. AC .

[0299] The WiFi connection can be a direct WiFi connection or a connection through a WiFi router. In another implementation, device A and device C can pre-establish a WiFi connection. In this case, step S147 can be directly executed, and the bandwidth management system can send the requested bandwidth of the screen projection service to the information update system. Channel K1 and channel K2 are the same channel or belong to the same frequency band.

[0300] S146 , the WiFi driver of device A establishes a WiFi connection with the WiFi driver of device C.

[0301] After the connection is established, the WiFi driver can send a notification to the gallery and bandwidth management system to inform that the link L has been established. AC Device A may then execute S152.

[0302] S147 , the bandwidth management system of device A sends information indicating the creation of the file sharing service D1 to the information updating system.

[0303] When the bandwidth management system of device A determines that the service type of the file sharing service D1 is the file transfer service, it does not need to determine whether the remaining bandwidth meets the required bandwidth of the service D1 and can execute S147.

[0304] 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. The difference is that at this time, device A not only collects the link L AB The service information of the screen projection service P1, the service information of the voice call service V1 and the link L AB Link information of device A and device C is also collected. AC The service information and link L of the file sharing service D1 carried on AC link information.

[0305] At this time, the device A's own device service information includes the screen projection service P1 identifier, requested bandwidth 30Mbps and service type 1, the voice call service V1 identifier, requested bandwidth 20Mbps and service type 1, the file sharing service D1 identifier and service type 0, and the device link information includes link L AB The maximum effective rate is 200Mbps and the channel K1 is marked, link L AC The identifier of , the maximum effective rate of 100Mbps and the identifier of channel K2.

[0306] S149 , the information update system of device A sends its own device service information and device link information to other devices, and broadcasts a notification.

[0307] The specific implementation of S149 is the same as that of S108, and will not be described in detail here.

[0308] S150 , the information update system of device A receives device service information and device link information from other devices.

[0309] After receiving the notification in step S149 , device B and device C may 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.

[0310] The device link information of device B includes link L AB Device C has no services to send, so it does not need to send device link information and device service information. Alternatively, it can send device link information and device service information, in which case the device link information and device service information can be left blank.

[0311] After S150, the link information and service information received by devices A, B, and C are as follows:

[0312] Link information includes:

[0313] Link L AB , Device A (mobile phone) → Device B (tablet): The maximum effective rate is 200Mbps;

[0314] Link L AC , Device A (mobile phone) → Device C (PC): The maximum effective rate is 100Mbps;

[0315] Business information includes:

[0316] Screen projection service P1, carried on link L AB For service type 1, the required bandwidth is 30 Mbps.

[0317] Voice call service V1, carried on L AB For service type 1, the required bandwidth is 20 Mbps.

[0318] Voice call service V2, carried on L AB For service type 1, the required bandwidth is 20 Mbps.

[0319] File sharing service D1, carried on L AC Above, business type 0.

[0320] S151: The information updating system of device A sends a scheduling request to the QoS scheduling system. The scheduling request includes the link information and service information currently received by device A.

[0321] S152, the QOS scheduling system of device A responds to the scheduling request and determines whether the service it wants to send includes the file transfer service. If the service does not include the file transfer service, it is not necessary to calculate the file speed limit value. If the service does include the file transfer service, it is necessary to calculate the file speed limit value.

[0322] S153 , the QOS scheduling system of device A determines that the services currently to be sent include file transfer services, and calculates the rate limit value of the file transfer service, that is, calculates the rate limit value of the file sharing service D1 .

[0323] It should be understood that only devices that include file transfer services need 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 file transfer services, device B and device C do not need to calculate the speed limit value.

[0324] The method for calculating the speed limit value of the file transfer service can be referred to the following embodiment of the method for calculating the speed limit value of the file transfer service, which will not be described in detail here.

[0325] For example, at this time, device A has a bandwidth requirement of 30Mbps based on the projection service P1, 20Mbps based on the voice call service V1, 20Mbps based on the voice call service V2, and 20Mbps based on the link L. AB The maximum effective rate is 200Mbps, link L AC The maximum effective rate is 100 Mbps. Calculate the speed limit value for file sharing service D1. Based on the speed limit calculation method shown in FIG13 below, the speed limit value for file sharing service D1 is calculated to be (1-30 / 200-20 / 200-20 / 200)*0.8=0.52. Here, 0.8 is the collision prevention coefficient, and the speed limit value of 0.52 indicates that within a unit time (e.g., 1 second), service data for file sharing service D1 is allowed to be sent within a time not greater than 0.52 times the unit time (0.52 seconds).

[0326] In another way of expressing the speed limit value of the file sharing service D1, it is 0.52*100 Mbps=52 Mbps.

[0327] It should be understood that device A can calculate the speed limit value of each file transfer service in the QOS system, or only calculate the speed limit value of device A's own file transfer service (ie, the file sharing service D1 that device A needs to send).

[0328] In step S154, the QOS scheduling system of device A sends the requested bandwidth of its non-file transfer service and the speed limit of its file transfer service to the bandwidth allocation system, that is, the requested bandwidth of 30Mbps for the screen projection service P1, the requested bandwidth of 20Mbps for the voice call service, and the speed limit of 52Mbps for the file sharing service D1.

[0329] S155 , the bandwidth allocation system of device A allocates bandwidth to each non-file transfer service according to the requested bandwidth of each non-file transfer service, and allocates bandwidth to each file transfer service according to the speed limit value of each file transfer service.

[0330] The allocated bandwidth for non-file transfer services is the requested bandwidth for each file transfer service. The allocated bandwidth for file transfer services is the speed limit for each file transfer service. For example, the allocated bandwidth for screen projection service P1 is its requested bandwidth of 30 Mbps, and the allocated bandwidth for voice call service V2 is its requested bandwidth of 20 Mbps. The allocated bandwidth for file sharing service D1 is its speed limit of 52 Mbps or less.

[0331] S156, the bandwidth allocation system of device A sends the allocated bandwidth of each service to the sending system, that is, the allocated bandwidth of 30Mbps for the screen projection service P1, the allocated bandwidth of 20Mbps for the voice call service V2, and the allocated bandwidth of 52Mbps for the file sharing service D1.

[0332] S157 , the application “Gallery” of device A sends the service data of the file sharing service D1 to the sending system.

[0333] 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 .

[0334] At this time, device A sends the business data of the screen projection service to the WiFi driver according to the allocated bandwidth of the screen projection service, and sends the business data of the file sharing service to the WiFi driver according to the allocated bandwidth of the file sharing service. Specifically, the business data of each service can be packaged into data packets and then sent in sequence.

[0335] S159, the WiFi driver of device A drives the WiFi module to establish a link L between device A and device C. AC The service data of the file sharing service D1 is sent to device C.

[0336] It should be noted that the business data of file sharing D1 is the file to be shared. The screen projection application of device A will also send the business data of the screen projection service P1 to the sending system. The call application of device A will also send the business data of the voice call service V1 to the sending system. The sending system of device A will also send the business data of the screen projection service P1 to the WiFi driver with the allocated bandwidth of the screen projection service P1, and send the business data of the voice call service V1 to the WiFi driver with the allocated bandwidth of the voice call service V1. Furthermore, the WiFi module will send these business data to the corresponding device, which is not shown in Figure 6C.

[0337] It should also be noted that after the above S150, device B and device C can also execute steps S151-S156 and S158 executed by device A in Figure 6C, which is not shown in Figure 6C. The difference is that in S152-S155, since device B and device C do not include file transfer services that need to be sent, they do not need to calculate the speed limit value of the file transfer service, nor do they need to allocate bandwidth for the file transfer service. In S154, device B sends the requested bandwidth of voice call service V2, 20Mbps. In S155-S156, device B allocates bandwidth for voice call service V2 and sends the allocated bandwidth for voice call service V2. The call application of device B also sends the service data of voice call service V2 to its sending system. The sending system of device B uses the allocated bandwidth of voice call service V2 to drive the service data of voice call service V2 to the WiFi driver. Then, its WiFi driver drives the WiFi module to establish a link L through device B and device A. AB The service data of the voice call service V2 is sent to device A.

[0338] Device C does not need to execute the above steps S151 to S159 because it has no business to send.

[0339] In the above example, the bandwidth allocated to each service in the QoS system is as follows:

[0340] The allocated bandwidth for screen projection service P1 is 30Mbps;

[0341] The allocated bandwidth for voice call service V1 is 20 Mbps;

[0342] The allocated bandwidth for voice call service V2 is 20 Mbps;

[0343] The allocated bandwidth for the file sharing service D1 is 52 Mbps.

[0344] It should be understood that Figures 6A-6C above illustrate the creation of screen projection services, voice call services, and file sharing services as examples. In other embodiments, each created service can be replaced with another service, and multiple services can be created. It should also be understood that an application can create one or more services at a time.

[0345] It should be understood that the above Figures 5, 6A-6C are illustrated by taking the example that the services that device A in the QOS system needs to send include screen projection service P1, voice call service V1 and file sharing service D1, and the services that device B needs to send include voice call service V2. In another scenario, device A may include more or fewer services that need to be sent than shown in Figure 6C, and device B may include more or fewer services that need to be sent than shown in Figures 5, 6A-6C. The above services can also be replaced by other services, or these services can be carried by other links in the same frequency band or channel.

[0346] (2) QOS optimization method caused by changes in WiFi transmission rate

[0347] FIG8 takes the WiFi transmission rate change with device B as an example to exemplify the QOS optimization method caused by the WiFi transmission rate change.

[0348] S201: The WiFi driver of device A detects a change in the WiFi transmission rate with device B.

[0349] The device can detect its own movement through its own motion sensors, such as accelerometers and gyroscopes. When it detects that the device is moving or the moving distance is greater than a preset threshold, such as 2m, the device position can be determined and the movement is sent.

[0350] When device B moves, the WiFi transmission rate between other devices and device B will change, that is, the maximum effective rate of the link with device B will change. Alternatively, when device A moves, the maximum effective rate of the link between device A and device B will also change.

[0351] S202: The WiFi driver of device A sends the updated maximum effective link rate to the bandwidth monitoring system.

[0352] In some embodiments, the WiFi driver of device A can reacquire the link L between device A and device B. AB The MCS rate of the link L is updated based on the negotiated rate. AB For example, the link L AB The maximum effective update rate is 150Mbps.

[0353] S203, the bandwidth monitoring system of device A sends the updated link information (ie, the updated link L) to the information updating system. AB In some other embodiments, the WiFi driver of device A sends a signal indicating the link L to the bandwidth monitoring system. ABAfter receiving the information about the change of the maximum effective rate of the device A, the bandwidth monitoring system of the device A sends a signal to the information update system for instructing to update the link L. AB The information update system of device A responds to the update request and remeasures the maximum effective rate of the link. The information update system obtains the link L from device A to device B. AB The MCS rate of the link L is updated based on the negotiated rate. AB The highest effective rate.

[0354] S204 , the information update system of device A collects its own device service information and device link information, and broadcasts a notification to other devices.

[0355] The specific implementation is the same as the above step S149. At this time, the device A's own device service information includes the identification of the screen projection service P1, the requested bandwidth 30Mbps and service type 1, the identification of the voice call service V1, the requested bandwidth 20Mbps and service type 1, the identification of the file sharing service D1 and service type 0, and the device link information includes link L AB The maximum effective rate is 150Mbps and the channel K1 is marked, link L AC The identifier of , the maximum effective rate of 100Mbps and the identifier of channel K2.

[0356] S205 , the information update system of device A sends its own device service information and device link information to other devices.

[0357] S206 , the information update system of device A receives device service information and device link information from other devices.

[0358] Illustratively, after receiving the notification broadcast in S204 , device B and device C may 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.

[0359] The device link information of device B includes link L AB Device C has no services to send, so it does not need to send device link information and device service information. Alternatively, it can send device link information and device service information, in which case the device link information and device service information can be left blank.

[0360] After S206, the link information and service information received by devices A, B, and C are as follows:

[0361] Link information includes:

[0362] Link L AB , Device A (mobile phone) → Device B (tablet): The maximum effective rate is 150Mbps;

[0363] Link L AC , Device A (mobile phone) → Device C (PC): The maximum effective rate is 100Mbps;

[0364] Business information includes:

[0365] Screen projection service P1, carried on link L AB For service type 1, the required bandwidth is 30 Mbps.

[0366] Voice call service V1, carried on L AB For service type 1, the required bandwidth is 20 Mbps.

[0367] Voice call service V2, carried on L BA For service type 1, the required bandwidth is 20 Mbps.

[0368] File sharing service D1, carried on L AC Above, business type 0.

[0369] S207: After collecting all the service information and link information in the QoS system, the information updating system of device A sends a scheduling request to the QoS scheduling system. The scheduling request may include the link information and service information received by device A.

[0370] S208, the QOS scheduling system of device A responds to the scheduling request and determines whether the service sent by itself includes the file transfer service. If the service does not include the file transfer service, the file speed limit value does not need to be calculated. If the service does include the file transfer service, the speed limit value of the file service needs to be calculated.

[0371] S209 , the QOS scheduling system of device A determines that the services sent by itself include file transfer services, and calculates the rate limit value of the file transfer service, that is, calculates the rate limit value of the file sharing service D1 .

[0372] At this time, device A requires a bandwidth of 30Mbps based on the screen projection service P1, a bandwidth of 20Mbps based on the voice call service V1, a bandwidth of 20Mbps based on the voice call service V2, and a link L AB The maximum effective rate is 150Mbps, link L ACThe maximum effective rate is 100 Mbps, and the speed limit value of the file sharing service D1 is calculated. For example, based on the speed limit value calculation method shown in FIG13 , the speed limit value of the file sharing service D1 is calculated to be (1-30 / 150-20 / 150-20 / 150)0.8=0.427.

[0373] In another way of expressing the speed limit value of the file sharing service D1, it is 0.427*100 Mbps=42.7 Mbps.

[0374] At step S210 , device A's QoS scheduling system sends its requested bandwidth for non-file transfer services and the speed limit for file transfer services to the bandwidth allocation system. Specifically, it sends the requested bandwidth of 30 Mbps for the screen projection service P1, 20 Mbps for the voice call service, and the speed limit of 42.7 Mbps for the file sharing service D1.

[0375] S211 , the bandwidth allocation system of device A allocates bandwidth to each non-file transfer service according to the requested bandwidth of each non-file transfer service, and allocates bandwidth to each file transfer service according to the speed limit value of each file transfer service.

[0376] S212: The bandwidth allocation system of device A sends the allocated bandwidth for each service to the sending system.

[0377] S213, the application of device A sends the business data of each business to the sending system, that is, the screen projection application sends the screen projection business P1 to the sending system, the call application sends the voice call business V1 to the sending system, and the application "Gallery" sends the business data of the file sharing business D1 to the sending system.

[0378] 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.

[0379] S215 , the WiFi driver of device A drives the WiFi module to send service data of each service, that is, to send service data of the screen projection service P1 , the voice call service V1 , and the file sharing service D1 .

[0380] Among them, except for the difference in data values ​​such as the speed limit value and the allocated bandwidth of the service, the specific implementation of S204-S215 can refer to the above steps S148-S159, which will not be repeated here.

[0381] It should be noted that device B also performs steps S207-S215 as performed by device A, which is not shown in Figure 8. The difference is that device B is sending a different service, namely voice call service V2. There is no file transfer service on the link with device B as the sender. Therefore, device B does not need to calculate the rate limit for the file transfer service or allocate bandwidth for it.

[0382] Since there is no service to be sent on device C, the above steps S204-S215 may not be executed.

[0383] In the above example, the bandwidth allocated to each service in the QoS system is as follows:

[0384] The allocated bandwidth for screen projection service P1 is 30Mbps;

[0385] The allocated bandwidth for voice call service V1 is 20 Mbps;

[0386] The allocated bandwidth for voice call service V2 is 20 Mbps;

[0387] The allocated bandwidth for file sharing service D1 is 42.7 Mbps.

[0388] At this time, device A passes link L AB The service data of the screen projection service P1 is sent to device B with the allocated bandwidth of 30Mbps; AB The service data of the voice call service V1 is sent to the device B with the allocated bandwidth of 20Mbps of the voice call service V1, and the service data of the voice call service V1 is sent to the device B via the link L AB The file to be shared is transmitted at a bandwidth less than or equal to the allocated bandwidth of 42.7 Mbps for the file sharing service D1. Device B transmits the file to be shared via link L AB The service data of the voice call service V2 is sent to device A using the allocated bandwidth of 20 Mbps for the voice call service V2.

[0389] The above is to detect the link L AB For example, when the transmission rate changes, it should be understood that when device A detects link L AC When the transmission rate changes, the above S202-S215 can also be triggered.

[0390] (3) QOS optimization methods caused by changes in business demand bandwidth

[0391] The device's QOS monitoring system can also monitor changes in the device's own service information, such as detecting changes in service demands. When a change in the service's demand bandwidth is detected, the updated demand bandwidth can be sent to its information update system. Furthermore, the device can execute S204-S215 in Figure 8 above. The specific implementation of S204-S215 can be found in the relevant description in Figure 8 above and will not be repeated here. The following is an example of the screen projection service in device A.

[0392] Specifically, the QOS monitoring system of device A detects the bit rate change of the screen projection service and determines the required bandwidth of the screen projection service.

[0393] The QOS monitoring system detects the bitrate of each service and the data traffic used per unit time. For example, the QOS monitoring system detects the bitrate of the service data sent by the screen projection application. When the user switches the definition of the screen projection display, the QOS monitoring system can monitor the change in the bitrate of the screen projection service. When the bitrate change of the screen projection service is detected, the required bandwidth of the screen projection service can be re-determined.

[0394] For example, there is a corresponding relationship between bitrate and requested bandwidth: when the bitrate decreases, the corresponding requested bandwidth decreases, and vice versa. For example, when the bitrate of screen projection service P1 changes to 50Mbps, the requested bandwidth of screen projection service P1 needs to be updated to the requested bandwidth of 50Mbps corresponding to the new bitrate.

[0395] The bandwidth monitoring system of device A sends the updated requested bandwidth of the screen projection service to the information update system, for example, it is updated to 50Mbps.

[0396] At this time, after S204-S206, the link information and service information received by device A, device B, and device C are as follows:

[0397] Link information includes:

[0398] Link L AB , Device A (mobile phone) → Device B (tablet): The maximum effective rate is 150Mbps;

[0399] Link L AC , Device A (mobile phone) → Device C (PC): The maximum effective rate is 100Mbps.

[0400] Business information includes:

[0401] Screen projection service P1, carried on link L AB The requested bandwidth is 50Mbps;

[0402] Voice call service V1, carried on L ABThe requested bandwidth is 20Mbps;

[0403] Voice call service V2, carried on L BA The requested bandwidth is 20Mbps;

[0404] File sharing service D1, carried on L AC superior.

[0405] At this time, device A requires a bandwidth of 50Mbps based on the screen projection service P1, a bandwidth of 20Mbps based on the voice call service V1, a bandwidth of 20Mbps based on the voice call service V2, and a link L AB The maximum effective rate is 150Mbps, link L AC The maximum effective rate is 100 Mbps, and the speed limit value of the file sharing service D1 is calculated. For example, based on the speed limit value calculation method shown in FIG13 , the speed limit value of the file sharing service D1 is recalculated as (1-50 / 150-20 / 150-20 / 150)*0.8=0.32.

[0406] In another way of expressing the speed limit value of the file sharing service D1, it is 0.32*100 Mbps=32 Mbps.

[0407] In the above example, the bandwidth allocated to each service in the QoS system is as follows:

[0408] The allocated bandwidth for screen projection service P1 is 50Mbps;

[0409] The allocated bandwidth for voice call service V1 is 20 Mbps;

[0410] The allocated bandwidth for voice call service V2 is 20 Mbps;

[0411] The allocated bandwidth for the file sharing service D1 is 32 Mbps.

[0412] At this time, device A passes link L AB The service data of screen projection service P1 is sent to device B with the allocated bandwidth of 50Mbps; AB The service data of the voice call service V1 is sent to the device B with the allocated bandwidth of 20Mbps of the voice call service V1, and the service data of the voice call service V1 is sent to the device B via the link L AB The file to be shared is transmitted at a bandwidth less than or equal to 32 Mbps allocated by the file sharing service D1. Device B transmits the file to be shared via link L AB The service data of the voice call service V2 is sent to device A using the allocated bandwidth of 20 Mbps for the voice call service V2.

[0413] (IV) QOS optimization process caused by jamming

[0414] The receiving end of the service can detect whether the service has experienced events such as freezes. When freezes are detected, an indication message can be sent to its QOS monitoring system or information update system to indicate that the service has experienced freezes. However, the cause of the freezes may be a change in the communication environment of the current QOS system and increased interference, which will cause the maximum effective rate of each link in the QOS system to decrease. At this time, the information update system of each device in the QOS system can re-collect their respective device link information and device service information, and recalculate the speed limit values ​​of each file transfer service in the QOS system to limit the speed of the file transfer service based on the new speed limit value, thereby ensuring the QOS of services that are sensitive to delays. Specifically, after the information update system receives the indication message, it triggers each device in each QOS system to execute S204-S215 in Figure 8 above. The specific implementation of S204-S215 can be found in the relevant description in Figure 8 above, which will not be repeated here. The following is an example of the freeze of the screen projection service in device A.

[0415] Taking the jamming of the screen projection service as an example, the screen projection application of device B detects the jamming of the screen projection and sends an indication message to its information update system. The indication message is used to indicate the jamming of the screen projection. The information update system of device B can re-collect the respective device link information and device service information and broadcast a notification, and send the collected information to other devices. In response to the notification, the information update systems of devices A and C also re-collect their respective device link information and device service information and send them to other devices. Assume that the link information and service information received by devices A, B, and C are as follows:

[0416] Link information includes:

[0417] Link L AB , Device A (mobile phone) → Device B (tablet): The maximum effective rate is 100Mbps;

[0418] Link L AC , Device A (mobile phone) → Device C (PC): The maximum effective rate is 80Mbps;

[0419] Business information includes:

[0420] Screen projection service P1, carried on link L AB The requested bandwidth is 50Mbps;

[0421] Voice call service V1, carried on L AB The requested bandwidth is 20Mbps;

[0422] Voice call service V2, carried on L BA The requested bandwidth is 20Mbps;

[0423] File sharing service D1, carried on L AC superior.

[0424] At this time, device A requires a bandwidth of 50Mbps based on the screen projection service P1, a bandwidth of 20Mbps based on the voice call service V1, a bandwidth of 20Mbps based on the voice call service V2, and a link L AB The maximum effective rate is 100Mbps, link L AC The maximum effective rate is 80 Mbps. Calculate the speed limit value of the file sharing service D1. For example, based on the speed limit calculation method shown in FIG13 , the speed limit value of the file sharing service D1 is recalculated as (1-50 / 100-20 / 100-20 / 100)*0.8=0.08.

[0425] In another way of expressing the speed limit value of the file sharing service D1, it is 0.08*80 Mbps=6.4 Mbps.

[0426] In the above example, the bandwidth allocated to each service in the QoS system is as follows:

[0427] The allocated bandwidth for screen projection service P1 is 50Mbps;

[0428] The allocated bandwidth for voice call service V1 is 20 Mbps;

[0429] The allocated bandwidth for voice call service V2 is 20 Mbps;

[0430] The allocated bandwidth for file sharing service D1 is 6.4 Mbps.

[0431] At this time, device A passes link L AB The service data of screen projection service P1 is sent to device B with the allocated bandwidth of 50Mbps; AB The service data of the voice call service V1 is sent to the device B with the allocated bandwidth of 20Mbps of the voice call service V1, and the service data of the voice call service V1 is sent to the device B via the link L AB The file to be shared is transmitted at a bandwidth less than or equal to the allocated bandwidth of 42.7 Mbps for the file sharing service D1. Device B transmits the file to be shared via link L AB The service data of the voice call service V2 is sent to device A using the allocated bandwidth of 6.4 Mbps for the voice call service V2.

[0432] (V) QOS optimization method caused by business termination

[0433] When the device's QOS monitoring system can also monitor changes in the device's own device service information, such as when it detects that a service is closed, it can send an indication message indicating the service information change to its information update system. Furthermore, the device can execute S204-S215 in Figure 8 above. The specific implementation of S204-S215 can be found in the relevant description in Figure 8 above, and will not be repeated here. The following is an example of the screen projection service in device A.

[0434] FIG9 takes closing the voice call service as an example to exemplify the QOS optimization process caused by closing the service.

[0435] S501: The call application of device B detects a user operation for instructing to end a call.

[0436] S502: In response to the user operation, the call application of device B sends an instruction to the call application of device A to end the call.

[0437] S503: The call application of device B closes the voice call service V2.

[0438] S504 : The call application of device A responds to the instruction, ends the call, and closes the voice call service V1 .

[0439] S505: The call application of device A sends an indication message to the information update system to indicate the change of the service information.

[0440] S506: The call application of device B also sends indication information to the information update system to indicate the change of service information.

[0441] S507, the information update system of device A collects its own device service information and device link information, and broadcasts it to other devices. At this time, the device service information of device A includes the identifier of the screen projection service P1, the requested bandwidth 50Mbps and service type 1, the identifier of the file sharing service D1 and service type 0. The device link information of device A includes link L AB The maximum effective rate is 150Mbps and the channel K1, link L AC The maximum effective rate is 80Mbps and the channel is K2.

[0442] S508 , the information update system of device A sends its own device service information and device link information to other devices.

[0443] S509 , the information update system of device A receives device service information and device link information from other devices.

[0444] Illustratively, after receiving the broadcast notification in S507 , device B and device C may 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.

[0445] Among them, neither device B nor device C has any service to send, so there is no need to send device link information and device service information. Alternatively, device link information and device service information can be sent, and in this case, the device link information and device service information can be empty.

[0446] After S509, the link information and service information received by devices A, B, and C are as follows:

[0447] Link information includes:

[0448] Link L AB , Device A (mobile phone) → Device B (tablet): The maximum effective rate is 100Mbps;

[0449] Link L AC , Device A (mobile phone) → Device C (PC): The maximum effective rate is 80Mbps;

[0450] Business information includes:

[0451] Screen projection service P1, carried on link L AB For service type 1, the required bandwidth is 50 Mbps.

[0452] File sharing service D1, carried on L AC Above, business type 0.

[0453] S510: After collecting all the service information and link information in the QoS system, the information update system of device A sends a scheduling request to the QoS scheduling system. The scheduling request may include the link information and service information received by device A.

[0454] S511, the QOS scheduling system of device A responds to the scheduling request and determines whether the service it sends includes file transfer service. If it does not include file transfer service, it is not necessary to calculate the file speed limit value. If it does include file transfer service, it is necessary to calculate the file speed limit value.

[0455] S512 , the QoS scheduling system of device A determines that the services sent by itself include file transfer services, and calculates the rate limit value of the file transfer service, that is, calculates the rate limit value of the file sharing service D1 .

[0456] At this time, device A, based on the projection service P1, requires a bandwidth of 50 Mbps and a link L AB The maximum effective rate is 100Mbps, link LAC The maximum effective rate is 80 Mbps. Calculate the speed limit value for file sharing service D1. For example, based on the speed limit calculation method shown in FIG. 13 , the speed limit value for file sharing service D1 is calculated to be (1-50 / 100)*0.9=0.45. At this point, the collision prevention coefficient is 0.9.

[0457] In another way of expressing the speed limit value of the file sharing service D1, it is 0.45*80 Mbps=36 Mbps.

[0458] In step S513, the QoS scheduling system of device A sends the requested bandwidth of its non-file transfer service and the speed limit of its file transfer service to the bandwidth allocation system. In this case, the requested bandwidth of 50 Mbps for the screen projection service P1 and the speed limit of 36 Mbps for the file sharing service D1 are sent.

[0459] S514, the bandwidth allocation system of device A allocates bandwidth to each non-file transfer service according to the bandwidth demanded by each non-file transfer service, and allocates bandwidth to each file transfer service according to the speed limit value of each file transfer service.

[0460] The allocated bandwidth for sending the screen projection service P1 is 50 Mbps, and the allocated bandwidth for the file sharing service D1 is less than or equal to the speed limit of 36 Mbps, such as equal to 36 Mbps.

[0461] S515, 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 50Mbps for the screen projection service P1 and the allocated bandwidth of 36Mbps for the file sharing service D1.

[0462] S516, the application of device A sends the business data of each business to the sending system, that is, the screen projection application sends the screen projection business P1 to the sending system, and the application "Gallery" sends the business data of the file sharing business D1 to the sending system.

[0463] S517 , 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.

[0464] S518 , 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 projection service P1 and the file sharing service D1.

[0465] The specific implementation of S507-S518 can refer to the above steps S148-S159, which will not be repeated here.

[0466] Since device B and device C do not have any services that need to be sent and there is no change in the service information, they do not need to perform the steps in S507 to S518 that device A needs to perform.

[0467] In the above example, the bandwidth allocated to each service in the QoS system is as follows:

[0468] The allocated bandwidth for screen projection service P1 is 50Mbps;

[0469] The allocated bandwidth for file sharing service D1 is 36 Mbps.

[0470] At this time, device A passes link L AB Send the service data of screen projection service P1 to device B with the allocated bandwidth of 50Mbps; and AB The file to be shared is transmitted at a bandwidth less than or equal to 32 Mbps allocated for the file sharing service D1.

[0471] In other embodiments, when there is no file transfer service in the device and there is no newly created or closed service in the device, and there is no service whose service information has changed, the device may not send a scheduling request, that is, use the original allocated bandwidth of the service to continue to send the service data of the service.

[0472] It should be understood that the voice call service V1 may be a third service that is closed.

[0473] It should be noted that in the distributed QOS optimization solution, the QOS system includes device A (first electronic device), device B (second electronic device) and device C (third electronic device), and the link includes link L AC (first link) and link L AB (Second link), the services include file sharing service D1 (first service), voice call service V2 (second service), and screen projection service P1, which is the fourth service, as an example. In other embodiments, more services may be included, such as device A through link L AC The screen projection service P2 is sent to device C. At this time, the screen projection service P2 is the fifth service. When the service information of the screen projection service P1 or the voice call service V1 changes, or there is a freeze, or the service is closed or a new service is created, the bandwidth required by the screen projection service P2 needs to be considered when recalculating the speed limit value (first speed limit value) of the file sharing service D1.

[0474] The embodiments shown in (1)-(5) above are all explained using distributed QoS optimization as an example. It should be understood that device A in the embodiments shown in (1)-(5) above can also be the central control device in a centralized QoS optimization method, in which case devices B and C are the controlled devices. In this case, device A does not determine whether the service it is sending includes file transfer services, but rather determines whether the QoS system includes file transfer services. When the service sent by device A, device B, or device C includes file transfer services, it calculates the speed limit value for the file transfer services to be sent by device A, device B, and device C, and sends the calculated speed limit value to the sender of the file transfer services. Devices B and C no longer need to generate and send scheduling requests, nor do they need to determine whether the service they are sending includes file transfer services, nor do they need to calculate the speed limit value. Other steps can be performed in the same manner as those performed by devices B and C in the distributed QoS optimization described above. The specific steps performed by devices A, device B, and device C can also be found in the relevant description of the centralized QoS optimization method shown in Figure 11 below.

[0475] In another scenario, the service that device B needs to send also includes a file transfer service D2, which is carried on the link L between device B and device C. BC , link L AB Or the link L between device B and other devices, such as device D BD At this point, in the distributed QOS optimization method, device A needs to consider the total number of file transfer services when calculating the speed limit for file sharing service D1. Device B needs to calculate the speed limit for file transfer service D2 and transmit the service data of file transfer service D2 at a bandwidth less than or equal to the speed limit for file transfer service D2.

[0476] In the centralized QOS optimization method, device A also needs to calculate the speed limit value of the file transfer service D2, and when setting the speed limit values ​​for services D1 and D2, the total number of file transfer services needs to be considered. Device A then needs to transmit the service data of service D1 at a bandwidth less than or equal to the speed limit value of service D1. Similarly, device B also needs to transmit the service data of file transfer service D2 at a bandwidth less than or equal to the speed limit value of file transfer service D2.

[0477] It should be noted that in the centralized QOS optimization solution, the device A can be the first electronic device, the device B can be the second electronic device, the device C can be the third electronic device, and the link L AC It can be the first link, link L ABIt can be the second link, the file sharing service D1 can be the first service, the voice call service V2 can be the second service, the voice call service V1 can be the seventh service, and the screen projection service P1 can be the eighth service.

[0478] In other embodiments, more services may be included, such as device B via link L BC When sending a video file to device C, file sharing service D2 becomes the sixth service. If the service information of screen projection service P1 or voice call service V1 changes, freezes, or an existing service is closed or a new service is created, the speed limit for file sharing service D1 and the speed limit for file sharing service D2 (the second speed limit) must be recalculated, taking into account the number of file transfer services.

[0479] The following describes a distributed QOS optimization method by taking a device in the QOS system shown in FIG. 1B as an example and combining FIG. 10 with a more general QOS system as an example.

[0480] In an embodiment of the present application, a QOS system includes multiple electronic devices, at least one link is established between the multiple electronic devices, these links operate in the same frequency band or the same channel, and each link carries one or more services, which can be non-file transfer services or file transfer services. In this application, electronic devices are also referred to as devices, and the first device is any electronic device in the QOS system.

[0481] In some embodiments, when each device in the QOS system creates a service, closes a service, changes the WiFi transmission rate, detects service freezes, or detects service information changes, the device's information update system will receive service information of the changed service sent by the bandwidth management system or QOS monitoring system, or receive indication information indicating the service information change of the service, thereby triggering the execution of the QOS optimization method shown in Figure 10. The QOS optimization methods caused by the above-mentioned service creation, service demand bandwidth changes, freezes, WiFi transmission rate changes, service termination, etc. can be referred to in the above embodiments and will not be repeated here.

[0482] Figure 10 shows a distributed QOS optimization method provided by the present application. In this method, the first device in the QOS system is taken as an example. It should be understood that each device in the QOS system or an electronic device that needs to send a service executes the following method, which may include but is not limited to some or all of the following steps.

[0483] S601: An information update system of a first device obtains its own device service information and device link information.

[0484] The first device's own device link information includes the link identifier, maximum effective rate, and channel identifier. The link carries the service with the first device as the transmitter. The first device's own device service information includes the identifier, service type, and requested bandwidth of the service with the first device as the transmitter (i.e., the service that the first device needs to send).

[0485] In some embodiments, when the first device creates or closes a service, detects service freezes, changes in link information, or service information, the triggering condition is met. The information update system of the first device receives service information regarding the service change from a bandwidth management system or a QoS monitoring system, or receives indication information indicating a service information change, thereby triggering the execution of step S601. For details, see the aforementioned QoS optimization methods for service creation, changes in service bandwidth requirements, freezes, changes in WiFi transmission rates, service termination, etc.

[0486] The application of the first device creates at least one service and sends the service data of the service to one or more other devices in the QOS system via WiFi. The service creation method can refer to the service creation method shown in Figures 6A-6C above and will not be repeated here.

[0487] S602: The information update system of the first device sends its own device service information and device link information to the information update systems of other devices.

[0488] Here, other devices refer to electronic devices other than the first electronic device in the QOS system, or are transmitting ends other than the first electronic device in the QOS system, where the transmitting end is a transmitting end of a service.

[0489] S603: The information update system of the first device receives device service information and device link information from information update systems of other devices.

[0490] In some embodiments, the first device may further broadcast a notification to other devices when or after executing S602 .

[0491] The notification is used to indicate an update of service information and link information or to indicate a change in the service information or link information of the QOS system. When other devices or information update systems of other transmitting terminals in the QOS system receive the notification, they will also collect their own device service information and device link information in response to the notification and send it to other devices (other devices or other transmitting terminals in the QOS system other than themselves), so that each device or each receiving terminal in the QOS system can collect link information of all links in the QOS system and service information of all services carried by each link.

[0492] In other embodiments, the first device may not send a notification. At this time, the device service information and device link information sent by the information update system of the first device to the information update system of other devices include its own updated link information and updated service information relative to the last time it sent the device link information and device service information. The updated link information here includes the link information of the newly added link and the updated link information of the existing link. The newly added link or the existing link both carry services with the first device as the sending end; the updated service information refers to the service information changes of the newly added service and the updated service information of the existing service. The newly added service and the existing service are services with the first device as the sending end. At this time, when other devices receive the device link information and device service information sent by the first device, they determine the link information of all current links in the QOS system and the service information of all services carried by each link based on the currently received device link information, device service information (that is, the updated link information, the updated service information) and the historically received device link information and device service information. Similarly, the first device may also determine the link information of all current links in the QOS system and the service information of all services carried by each link based on its updated link information, updated service information and historically received device link information and device service information.

[0493] S604: The information updating system of the first device sends a scheduling request to the QoS scheduling system. The scheduling request includes the currently received link information and service information.

[0494] Among them, the link information currently received by the first device may include the device link information of the first device itself and the device link information of devices other than the first device or the sending end in the QOS system, and the service information currently received by the first device may include the device service information of the first device itself and the device service information of devices other than the first device or the sending end in the QOS system.

[0495] In step S605, the QoS scheduling system of the first device responds to the scheduling request and determines whether the services it intends to send include file transfer services. If file transfer services are not included, the file rate limit does not need to be calculated, and steps S607-S611 are executed. If file transfer services are included, the rate limit for file transfer services needs to be calculated, and steps S606-S611 are executed.

[0496] The service to be sent by the first device itself is the service with the first device as the sending end.

[0497] In some embodiments, the QOS scheduling system responds to the scheduling request. When the service to be sent includes a file transfer service, it also needs to determine whether the current speed limit values ​​of the included file transfer services are all preset speed limit values. If so, there is no need to calculate the file speed limit value. Otherwise, the file speed limit value needs to be recalculated.

[0498] S606: The first device calculates a rate limit value of the file transmission service to be transmitted by itself.

[0499] The specific implementation of calculating the speed limit value can refer to the method for calculating the speed limit value shown in Figure 13 below, which will not be repeated here.

[0500] In another implementation, the first device may also calculate the speed limit value of each file transfer service in the QOS system.

[0501] S607: The QOS scheduling system of the first device sends the requested bandwidth of the non-file transfer service to be sent and the speed limit value of the file transfer service to be sent to the bandwidth allocation system.

[0502] It should be understood that when the services to be sent by the first device itself do not include non-file transfer services, there is no need to send the requested bandwidth for non-file transfer services. Similarly, there is no need to allocate bandwidth for non-file transfer services, nor is there any need to send the allocated bandwidth for non-file transfer services.

[0503] It should also be understood that when the services to be sent by the first device itself do not include the file transfer service, there is no need to send the speed limit value of the file transfer service, nor is there any need to send the allocated bandwidth of the file transfer service.

[0504] It should also be understood that the non-file transfer services corresponding to the requested bandwidth to be sent by the QOS scheduling system of the first device in step S607 can be all non-file transfer services with the first device as the sender, or can be non-file transfer services with the first device as the sender that were newly added to the first device itself relative to the last scheduling request, or non-file transfer services with a change in requested bandwidth. However, the speed limit value of the file transfer service to be sent by the QOS scheduling system of the first device in step S607 can be the speed limit value of all file transfer services with the first device as the sender, because the speed limit value of the file transfer service is generally updated.

[0505] S608: The bandwidth allocation system of the first device allocates bandwidth to each non-file transfer service according to the requested bandwidth of each non-file transfer service, and allocates bandwidth to each file transfer service according to the speed limit value of each file transfer service.

[0506] In one implementation of S608 , the allocated bandwidth for the non-file transfer service is the requested bandwidth for the non-file transfer service, and the allocated bandwidth for the file transfer service is less than or equal to the speed limit value for the file transfer service.

[0507] S609: The bandwidth allocation system of the first device sends the allocated bandwidth of the service to be sent by itself to the sending system.

[0508] Here, the services to be transmitted by the first device include non-file transfer services and file transfer services to be transmitted by the first device. The allocated bandwidth to be transmitted may include the allocated bandwidth for all file transfer services with the first device as the sender, as well as the allocated bandwidth for all non-file transfer services with the first device as the sender; or include the allocated bandwidth for non-file transfer services newly added to the first device or non-file transfer services requesting bandwidth changes relative to the last scheduling request, as well as the allocated bandwidth for all file transfer services with the first device as the sender.

[0509] S610: The sending system of the first device sends service data of each service to the WiFi driver according to the allocated bandwidth of the service to be sent.

[0510] Among them, one implementation of sending the business data of the service based on the allocated bandwidth of the service may be that the rate at which the sending system sends the business data of the service will not exceed its allocated bandwidth, or the amount of business data of the service sent per unit time will not exceed the amount of data achieved by sending per unit time at the allocated rate of the service.

[0511] S611: The WiFi driver of the first device drives the WiFi module to send service data of each service.

[0512] Specifically, the WiFi driver of the first device drives the WiFi module to send service data of the corresponding service through the link that carries each service.

[0513] It should be understood that other devices in the QoS system also need to execute the method executed by the first device in S601-S611 above. However, the services to be transmitted by each device are different. When a device does not have any services to be transmitted, it does not need to execute S604-S611 above. Alternatively, when a device does not have any file transfer services and its service information for non-file transfer services has not changed, it also does not need to execute S604-S611 above.

[0514] In some embodiments, the devices in the QOS system may further periodically trigger QOS optimization, that is, periodically trigger each device in the system to execute S601 - S611 .

[0515] The centralized QOS optimization method is described below.

[0516] The following describes a method for optimizing QOS in a QOS system with a central control device, taking the central control device and each controlled device in the QOS system shown in FIG. 2 as an example and a more general QOS system as an example.

[0517] Figure 11 shows a centralized QOS optimization method provided by the present application. 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 each controlled device. Each controlled device then limits the speed of the corresponding file transfer service based on the speed limit value of its own file transfer service.

[0518] S701: The information update system of each controlled device sends its own device service information and device link information to the information update system of the central control device.

[0519] The definitions of device service information and device link information can be found in the related description of the above-mentioned distributed QOS optimization method, which will not be repeated here.

[0520] In some embodiments, the central control device can periodically or proactively initiate QoS optimization in response to user operations, sending an update instruction to each controlled device, requesting the latest device service information and device link information. In response to the update instruction, each controlled device sends its own device service information and device link information to the central control device.

[0521] In other embodiments, when the controlled device creates a service, closes a service, detects service freezes, service information changes, link information changes, etc., the trigger condition is met, and the information update system of the controlled device will receive the service information or link information of the changed service sent by the bandwidth management system or QOS monitoring system, or receive indication information for indicating changes in service information or link information. Furthermore, the controlled device will send indication information to the central control device, and the indication information is used to indicate that the service information or link information in the QOS system has changed, or to indicate that QOS optimization is required. When the central control device receives the indication information, it responds to the indication information, collects its own device service information and device link information, and sends an update instruction to each controlled device, and the update instruction is used to request the latest device service information and device link information. Each controllable device sends its own device service information and device link information to the central control device in response to the update instruction.

[0522] For details on how the controlled device collects its own device service information and device link information when creating or closing a service, detecting service freezes, service information changes, or link information changes, please refer to the QOS optimization methods caused by service creation, service demand bandwidth changes, freezes, WiFi transmission rate changes, and service termination.

[0523] When the central control device creates or closes a service, detects service freezes, or detects changes in service information or link information, it triggers the central control device to collect its own device service information and device link information and send an update command to each controlled device. This update command is used to request the latest device service information and device link information. In response to this update command, each controllable device sends its own device service information and device link information to the central control device.

[0524] S702: The information update system of the central control device receives device service information and device link information sent by the controlled device.

[0525] In one implementation, after collecting its own device service information and device link information, the information update system of each controlled device or the sending controlled device will send all its own device service information and link information to the information update system of the central control device.

[0526] In another implementation, the information update system of the controllable device may send changed service information or changed link information. The information update system of the central control device may determine the service information of all services and the link information of all links in the current QOS system based on the historically received service information and link information and the changed service information and link information.

[0527] S703: The information updating system of the central control device sends a scheduling request to the QoS scheduling system. The scheduling request includes the link information and service information received by the central control device.

[0528] Among them, the link information currently received by the central control device may include the device link information of the central control device itself and the device link information of the device or the sending end other than the central control device in the QOS system. The service information currently received by the central control device may include the device service information of the central control device itself and the device service information of the device or the sending end other than the central control device in the QOS system.

[0529] S704, the QOS scheduling system of the central control device responds to the scheduling request and determines whether the current QOS system includes file transfer services. If the file transfer service is not included, the file speed limit value does not need to be calculated; if the file transfer service is included, the speed limit value of the file service needs to be calculated and S705 is executed.

[0530] When the service information received by the central control device includes service information of the file transfer service, the current QOS system includes the file transfer service; otherwise, the current QOS system does not include the file transfer service.

[0531] In some embodiments, the QOS scheduling system responds to the scheduling request. When the QOS system's services include file transfer services, it also needs to determine whether the current speed limit values ​​of the included file transfer services are all preset speed limit values. If so, there is no need to calculate the file speed limit value. Otherwise, the file speed limit value needs to be recalculated.

[0532] Optionally, when the file speed limit value does not need to be calculated, the central control device can broadcast instruction information indicating that QOS optimization is not required to the controlled device. After receiving the instruction information, the controlled device does not need to perform QOS optimization and sends its own services with the original allocated bandwidth.

[0533] S705: The QOS scheduling system of the central control device calculates the speed limit value of each file transfer service.

[0534] Here, the central control device needs to calculate the speed limit value of each file transfer service in the QOS system. The method for calculating the speed limit value can be referred to the method shown in Figure 13 below, which will not be repeated here.

[0535] S706: The QOS scheduling system of the central control device sends the speed limit value of each file transfer service to its information update system.

[0536] It should be understood that the QOS scheduling system of the central control device also needs to send its requested bandwidth for non-file transfer services and the speed limit value for its own file transfer services to the bandwidth allocation system to execute the steps executed by the controlled device in S709-S712 below.

[0537] S707: The information update system of the central control device sends the speed limit value of each file transmission service to the information update system of each controlled device.

[0538] For example, the information update system of the central control device sends the speed limit value of the file transmission service to be sent by the first controlled device to the information update system of the first controlled device. The first controlled device is any controlled device in the QOS system.

[0539] Optionally, when the maximum effective rate of the link is calculated by the central control device, the central control device may further send the maximum effective rate of the link to each controlled device.

[0540] S708 : The information updating system of the controlled device sends its requested bandwidth for non-file transfer services and the speed limit value for file transfer services to its bandwidth allocation system.

[0541] S709 , the bandwidth allocation system of the controlled device allocates bandwidth to each non-file transfer service according to the requested bandwidth of each non-file transfer service to be sent, and allocates bandwidth to each file transfer service according to the speed limit value of each file transfer service to be sent.

[0542] S710 , the bandwidth allocation system of the controlled device sends the allocated bandwidth of its own service to its sending system.

[0543] S711 , the sending system of the controlled device sends service data of each service according to the allocated bandwidth of its own service.

[0544] S712: The WiFi driver of the controlled device drives the WiFi module to send service data of each service.

[0545] The specific implementation of the above S708-S712 can refer to the steps S607-S611 in the above distributed QOS optimization method, which will not be repeated here.

[0546] It should be understood that when the central control device has services to be transmitted, it will also execute the above S708 - S712 .

[0547] In another implementation, when the controlled device does not include file transfer services, the controlled device may not execute S707-S709, and the sending system of the controlled device directly uses the requested bandwidth of its non-file transfer services as the allocated bandwidth to send its service data.

[0548] It should also be understood that in the above Figures 10 and 11, although the above S607-S611 and S708-S712 describe the speed limit value and allocated bandwidth of the file transfer service together with the demanded bandwidth and allocated bandwidth of the non-file transfer service, in fact, the sending of the demanded bandwidth of the non-file transfer service, the determination of the allocated bandwidth, and the sending of the service data of the non-file transfer service in S607-S611 and S708-S712 can be executed immediately after the creation of the above-mentioned non-file transfer service, or at any time after the service is created, and there is no limitation here.

[0549] Calculate the remaining bandwidth and determine whether the remaining bandwidth meets business needs.

[0550] Figure 12 shows a method provided by the present application for calculating the remaining bandwidth and determining whether the remaining bandwidth meets the service requirements. This method can be implemented by the bandwidth management system and information update system in the above-mentioned device, and includes but is not limited to the following steps:

[0551] S801: The bandwidth management system obtains the requested bandwidth or allocated bandwidth of all non-file transfer services in the current QOS system from the information update system.

[0552] S802 : The bandwidth management system determines a total time proportion T1 of the real-time services based on the bandwidth required by the real-time services and the highest effective rate of the links where each real-time service is located.

[0553] Among them, V i is the bandwidth demanded by the i-th real-time service in the current QOS system. It should be understood that when the demand bandwidth of the service is inconsistent with the allocated bandwidth, V i The bandwidth can be allocated to the i-th real-time service. i It is the maximum effective rate of the link where the i-th real-time service is located in the current QOS system. N1 is a positive integer and is the total number of real-time services in the current QOS system.

[0554] S803 : The bandwidth management system determines a total time proportion T2 of the delay-sensitive services based on the required bandwidth of the delay-sensitive services and the maximum effective rate of the links where each delay-sensitive service is located.

[0555] Among them, V j is the bandwidth demanded by the jth delay-sensitive service in the current QOS system. It should be understood that when the demand bandwidth of the service is inconsistent with the allocated bandwidth, V j Bandwidth can be allocated to the jth delay-sensitive service. j It is the maximum effective rate of the link where the jth delay-sensitive service in the current QOS system is located. N2 is a positive integer, which is the total number of delay-sensitive services in the current QOS system, and j is a positive integer.

[0556] S804 : Determine the remaining time proportion based on the total time proportion T1 of the real-time service and the total time proportion T2 of the delay-sensitive service.

[0557] The sum of the total time proportion T1 of real-time services and the total time proportion T2 of delay-sensitive services is the total time proportion of non-file insertion loss services.

[0558] The remaining time ratio, that is, the total time ratio of the file transfer service is T3, where T3 = 1 - T1 - T2.

[0559] S805: 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.

[0560] The remaining bandwidth V is:

[0561] V=T3*γ

[0562] Here, γ is the maximum effective rate of the link where the service to be created is located.

[0563] The bandwidth management system determines whether the remaining bandwidth ratio is not less than the required bandwidth of the service to be created. If so, it determines that the remaining bandwidth can meet the requirements of the service to be created. Otherwise, it determines whether the remaining bandwidth can meet the requirements of the service to be created.

[0564] The method for determining and calculating the remaining bandwidth is not limited to the above method, and the remaining bandwidth may also be calculated in other ways.

[0565] In other embodiments, the bandwidth management system does not calculate the remaining time proportion T3, but the bandwidth allocation system calculates it. After the bandwidth allocation system calculates T3, it updates it to the bandwidth management system.

[0566] Calculate the speed limit for file transfer services.

[0567] FIG13 shows a method for calculating the speed limit value of a file transfer service provided by the present application. The method can be implemented by the bandwidth allocation system in the above-mentioned device, and the method includes but is not limited to the following steps:

[0568] S901 : The bandwidth allocation system determines a total time proportion T1 of the real-time services based on the bandwidth required by the real-time services and the highest effective rate of the links where each real-time service is located.

[0569] S902 : The bandwidth allocation system determines the total time proportion T2 of the delay-sensitive services based on the required bandwidth of the delay-sensitive services and the maximum effective rate of the links where each delay-sensitive service is located.

[0570] S903 , the bandwidth allocation system determines a maximum total time proportion T3 of the file transfer service based on the time proportion T1 of the real-time service and the time proportion T2 of the delay-sensitive service.

[0571] The total time proportion of the file transfer service is T3, which is the remaining time proportion, T3 = 1 - T1 - T2.

[0572] S904 , the bandwidth allocation system determines a time proportion T4 of each file transfer service in the QOS system based on the maximum total time proportion T3 of the file transfer service.

[0573] T4 = T3 / M, or

[0574] T4 = T3 / M*P, or

[0575] T4=T3 / M*a,

[0576] Where M is the number of file transfer services in the QoS system, and p is the collision prevention coefficient, which is related to the number of sending devices for file transfer services in the QoS system. For example, P = 1-N / 10, where N is the number of sending devices. 0 < a < 1, for example, a is 0.5 or 0.7.

[0577] S905 , the bandwidth allocation system determines a speed limit value for the file transfer service based on the time proportion T4 of each file transfer service.

[0578] In some embodiments, the speed limit of the file transfer service is represented by the time proportion T4 of the file transfer service. Based on the calculation method of the above-mentioned time proportion T4 of the file transfer service, it can be seen that the speed limit of each file transfer service generated in the QOS system is the same.

[0579] In some embodiments, the rate limit value of the file transfer service is expressed as the sending rate / bandwidth of the file transfer service.

[0580] For example, the speed limit value of each file transfer service on the same link is the same, and the speed limit value of each file transfer service on the kth link is U k for:

[0581] U k =T4*γ k .

[0582] As another example, the speed limit values ​​of various file transfer services on the same link may also be different. For example, the speed limit value of the file transfer service may be determined based on the data volume or file type of the file transfer service. For example, the speed limit value U of the sth file transfer service carried on the kth link is k,s for:

[0583] U k,s =N3*T4*γ k *W s .

[0584] Wherein, N3 is the number of file transfer services carried on the kth link, and Ws is the ratio of the data volume of the sth file transfer service to the total data volume of N3 file transfer services carried on the kth link.

[0585] In some embodiments, when the speed limit value of the file transfer service calculated above 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; and when the speed limit value of the file transfer service calculated 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, so as to avoid the speed limit value of the file transfer service being too small, resulting in the inability to transmit the file transfer service.

[0586] For a rate limit value expressed using sending rate / bandwidth, the preset rate limit value may be 0.02, 0.03, and so on.

[0587] For the speed limit value expressed as a time percentage, the preset speed limit value may be 2 Mbps, 5 Mbps, and the like.

[0588] The calculation process is explained below through an example.

[0589] The QOS system includes three devices: a PC, a PAD, and a foldable phone. The link information and service information are as follows:

[0590] The link information is as follows:

[0591] Link 1, PC→mobile phone, maximum effective rate γ1=100.

[0592] Link 2, PC→PAD, maximum effective rate γ2=300.

[0593] Link 3, mobile phone → PAD, maximum effective rate γ3 = 200.

[0594] Link 4, mobile phone → PC, maximum effective rate γ4 = 100.

[0595] Real-time business information includes:

[0596] Service 1, PC to mobile phone (link 1): Requested bandwidth: band1 = 30

[0597] Service 2, PAD → PC (link 2): Requested bandwidth band2 = 30

[0598] Service 3, PAD → mobile phone (link 2): requested bandwidth band3 = 40

[0599] Service 4, mobile phone → PAD (link 3): requested bandwidth band4 = 20

[0600] Business information of file transfer service includes:

[0601] Service 5, PC→PAD (Link 2): File Flow

[0602] Service 6, mobile phone → PC (link 4): file flow

[0603] Calculates the file streaming rate.

[0604] 1) The sum of the total time proportion T1 of real-time services and the total time proportion T2 of delay-sensitive services:

[0605] T1+T2=band1 / γ1+band2 / γ3+band3 / γ2+band4 / γ3=30 / 100+30 / 300+40 / 200+20 / 200=0.3+0.1+0.2+0.1=0.7.

[0606] 2) The maximum total time proportion of the file transfer service is T3, where T3 = 1 - T1 - T2 = 0.3.

[0607] 3) The maximum total time proportion of a single file transfer service is T4 = T3 / M*(1–N / 10) = 0.3 / 2*0.8 = 0.12, where M = 2 and N = 2.

[0608] 4) The speed limit value for the file transfer service on link 4 (mobile phone → PC) is: γ4*T4=100*0.12=12.

[0609] 5) The rate limit value for the file transfer service on link 2 (PC→PAD) is introduced: γ2*T4=300*0.12=36.

[0610] Added screen projection service and QOS optimization process.

[0611] Assume that a screen projection service is added to link 6 (mobile phone → PC), requiring bandwidth band7 = 20. Recalculate the speed limit for the file transfer service:

[0612] 1) Added the screen projection service from mobile phone to PC, with bandwidth requirement of band5 = 20.

[0613] 2) Broadcast this new service information to surrounding devices, triggering all devices to update and calculate QOS bandwidth allocation.

[0614] 3) Recalculate the time lengths allocated to real-time services and delay-sensitive services. According to the previous calculation, the real-time service duration is 0.7, and the new T1+T2=0.7+20 / 100=0.9.

[0615] 4) Recalculate the maximum total time proportion of the file transfer service as T3 = 1 - T1 - T2 = 1 - 0.9 = 0.1.

[0616] 5) Single file task time T4 = T3 / M*(1–N / 10) = 0.1 / 2*0.8 = 0.04.

[0617] 6) The speed limit value for the file transfer service on link 4 (mobile phone → PC) is: γ4*T4=100*0.04=4.

[0618] 7) The rate limit value for the file transfer service on link 2 (PC→PAD) is introduced: γ2*T4=300*0.04=12.

[0619] It should be noted that the correspondence between the first electronic device, the second electronic device, the third electronic device, and the fourth electronic device in this application and the devices in the above-mentioned embodiments may also be other correspondences. The correspondence between the above-mentioned first business to the eighth business and the business in the above-mentioned embodiments may also be other correspondences. The corresponding first link, the second link and the links in the above-mentioned embodiments may also be other correspondences. Different correspondences may exist at different angles.

[0620] For example, in the distributed QOS optimization method, device B may be understood as a first electronic device, and device A may be understood as a second electronic device.

[0621] It should be understood that each step in the above method embodiment can be completed by hardware integrated logic circuits in a processor or by software instructions. The method steps disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware processor, or by a combination of hardware and software modules in a processor.

[0622] The present application also provides an electronic device, which may include: a memory and a processor. The memory may be used to store a computer program; the processor may be used to call the computer program in the memory to enable the electronic device to execute the method executed by the device in any of the above embodiments.

[0623] The present application also provides a chip system, which includes at least one processor for implementing the functions involved in the device in any of the above embodiments.

[0624] In one possible design, the chip system further includes a memory, which is used to store program instructions and data, and the memory is located inside or outside the processor.

[0625] The chip system can be composed of chips, or can include chips and other discrete devices.

[0626] Optionally, there may be one or more processors in the chip system. The processor may be implemented in hardware or software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented in software, the processor may be a general-purpose processor implemented by reading software code stored in a memory.

[0627] Optionally, the memory in the chip system may be one or more. The memory may be integrated with the processor or may be provided separately from the processor, which is not limited in the embodiments of the present application. For example, the memory may be a non-transient processor, such as a read-only memory (ROM), which may be integrated with the processor on the same chip or provided on different chips. The embodiments of the present application do not specifically limit the type of memory or the configuration of the memory and the processor.

[0628] 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 processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD) or other integrated chips.

[0629] The present application also provides a computer program product, which includes: a computer program (also referred to as code, or instruction), which, when executed, enables a computer to execute the method executed by the device in any of the above embodiments.

[0630] The present application also provides a computer-readable storage medium storing a computer program (also referred to as code or instruction). When the computer program is executed, the computer executes the method executed by the device in any of the above embodiments.

[0631] The various implementation modes of this application can be combined arbitrarily to achieve different technical effects.

[0632] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented 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, all or part of the processes or functions described herein are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated therein. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0633] Those skilled in the art will appreciate that all or part of the process steps in the above-described method embodiments can be implemented by a computer program instructing the relevant hardware. The program can be stored in a computer-readable storage medium, and when executed, the program can include the process steps in the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.

[0634] In short, the above description is only an embodiment of the technical solution of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent replacements, improvements, etc. made based on the disclosure of this application should be included in the scope of protection of this application.

Claims

1. A method for optimizing service quality, characterized in that: Applied to a first electronic device, the method includes: Acquire first service information and link information of a first link, where the first link carries a first service with the first electronic device as a transmitter, the first service information includes a service type of the first service, and the link information of the first link includes a first maximum effective rate and an identifier of a first channel; receiving second service information and link information of a second link sent by a second electronic device, the second link carrying a second service with the second electronic device as a transmitter, the second service information including a service type and a required bandwidth of the second service, the link information of the second link including a second maximum effective rate and an 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 the service type of the first service is a file transfer service and the service type of the second service is a non-file transfer service, determining a first rate limit value of the first service based on the first maximum effective rate, the required bandwidth of the second service and the second maximum effective rate; The first file data is transmitted through the first link with a first bandwidth value, where the first bandwidth value is less than or equal to the first speed limit value, and the first file data is service data of the first service.

2. The method according to claim 1, characterized in that: The first link is a link between the first electronic device and the second electronic device, and the second link is a link between the second electronic device and a third electronic device.

3. The method according to claim 1, characterized in that The first link is a link between the first electronic device and a third electronic device, and the second link is a link between the second electronic device and the third electronic device.

4. The method according to claim 1, characterized in that: The first link is a link between the 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.

5. The method according to claim 1, characterized in that The first link is a link between the first electronic device and a third electronic device, and the second link is a link between the second electronic device and a fourth electronic device.

6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: The first service information and link information of the first link are sent to a second electronic device.

7. The method according to any one of claims 1 to 6, characterized in that: The acquiring the first service information and the link information of the first link includes: When a trigger condition is met, obtaining the first service information and the link information of the first link, and broadcasting a notification; or, when a notification is received, obtaining the first service information and the link information of the first link; The notification is used to indicate that the link information and the service information are updated, or to indicate that the service information or the link information is changed.

8. The method according to claim 7, characterized in that When the trigger condition is met, before acquiring the first service information and the link information of the first link, the method further includes: When the first service is successfully created or when it is detected that the third service is closed, it is determined that the trigger condition is met; the third service is a service with the first electronic device as the sending end.

9. The method according to claim 7, characterized in that: When the trigger condition is met, before acquiring the first service information and the link information of the first link, the method further includes: When a transmission rate change of the first link is detected, updating the first maximum effective rate; When the first highest effective rate is updated, it is determined that the trigger condition is satisfied.

10. The method according to claim 7, characterized in that When the trigger condition is met, before acquiring the first service information and the link information of the first link, the method further includes: In response to a received user operation for instructing to create a fourth service, determining whether the remaining bandwidth is less than a requested bandwidth of the fourth service; When the remaining bandwidth is not less than the requested bandwidth of the fourth service, creating the fourth service; When the fourth service is created successfully, it is determined that the trigger condition is satisfied.

11. The method according to claim 10, characterized in that The first service information further includes a service type and a required bandwidth of the fourth service. The first link also carries the fourth service, and the service type of the fourth service is a non-file transfer service. The determining the first rate limit value of the first service based on the first highest effective rate, the requested bandwidth of the second service and the second highest effective rate specifically includes: determining the first rate limit value of the first service based on the first highest effective rate, the requested bandwidth of the second service, the requested bandwidth of the fourth service and the second highest effective rate; The method further includes: transmitting the service data of the fourth service through the first link at the required bandwidth of the fourth service.

12. The method according to claim 11, characterized in that The method further comprises: When the requested bandwidth of the fourth service changes or the fourth service is frozen, the first service information and the link information of the first link are acquired, and a notification is broadcasted.

13. The method according to claim 10, characterized in that The second service information further includes a service type of a fifth service. The second link also carries a fifth service, and the service type of the fifth service is a file transfer service. The determining of the first speed limit value of the first service based on the first highest effective rate, the demanded bandwidth of the second service, the demanded bandwidth of the fourth service and the second highest effective rate specifically includes: determining the first speed limit value of the first service based on the first highest effective rate, the demanded bandwidth of the second service, the second highest effective rate and the number of file transfer services.

14. The method according to claim 13, characterized in that The determining a first rate limit value of the first service based on the first highest effective rate, the required bandwidth of the second service, the second highest effective rate, and the number of file transfer services includes: Determine a total time proportion of non-file transfer services based on the first highest effective rate, the required bandwidth of the second 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 and the number of file transfer services; The first rate limit value is determined based on the time proportion of each file transfer service and the first highest effective rate.

15. The method according to claim 14, characterized in that When the product of the time proportion of each file transfer service and the first highest effective rate is greater than or equal to a preset speed limit value, the first speed limit value is the product of the time proportion of each file transfer service and the first highest effective rate; When the product of the time proportion of each file transfer service and the first highest effective rate is less than the preset speed limit value, the first speed limit value is the preset speed limit value.

16. The method according to any one of claims 1 to 5, characterized in that: The second service information further includes a service type of a sixth service, the second link also carries the sixth service, and the service type of the sixth service is a file transfer service; The determining the first rate limit value of the first service based on the first highest effective rate, the requested bandwidth of the second service, and the second highest effective rate specifically includes: determining the first rate limit value of the first service and the second rate limit value of the sixth service based on the first highest effective rate, the requested bandwidth of the second service, the second highest effective rate, and the total number of file transfer services; The method further includes: sending the second speed limit value to the second electronic device, where the second speed limit value is used to determine a second bandwidth value of second file data of the sixth service, and the second bandwidth value is less than or equal to the second speed limit value.

17. The method according to claim 16, characterized in that Before acquiring the first service information and the link information of the first link, the method further includes: When receiving indication information from the second electronic device, broadcast an update instruction; the indication information is used to indicate that the service information or link information has changed, or to indicate that the service quality is optimized; the update instruction is used to request the service information and link information.

18. The method according to claim 16, characterized in that Before acquiring the first service information and the link information of the first link, the method further includes: When it is detected that the trigger condition is met, an update instruction is broadcast; the update instruction is used to request service information and link information.

19. The method according to claim 18, characterized in that The method further comprises: When the first service is successfully created or when it is detected that the seventh service is closed, it is determined that the trigger condition is met; the seventh service is a service with the first electronic device as the sending end.

20. The method according to claim 18, characterized in that The method further comprises: When a transmission rate change of the first link is detected, updating the first maximum effective rate; When the first highest effective rate is updated, it is determined that the trigger condition is satisfied.

21. The method according to claim 18, characterized in that The method further comprises: In response to a received user operation for instructing to create an eighth service, determining whether the remaining bandwidth is less than a requested bandwidth of the eighth service; When the remaining bandwidth is not less than the requested bandwidth of the eighth service, creating the eighth service; When the eighth service is created successfully, it is determined that the trigger condition is satisfied.

22. The method according to claim 21, characterized in that The first service information further includes a service type and a required bandwidth of the eighth service. The first link also carries the eighth service, and the service type of the eighth service is a non-file transfer service. The determining the first speed limit value of the first service and the second speed limit value of the sixth service based on the first highest effective rate, the demanded bandwidth of the second service, the second highest effective rate and the total number of file transfer services specifically includes: determining the first speed limit value of the first service and the second speed limit value of the sixth service based on the first highest effective rate, the demanded bandwidth of the second service, the demanded bandwidth of the eighth service, the second highest effective rate and the number of file transfer services; The method further includes: transmitting the service data of the eighth service through the first link at the required bandwidth of the eighth service.

23. The method according to claim 22, characterized in that The method further comprises: When the requested bandwidth of the eighth service changes or the eighth service is frozen, the first service information and the link information of the first link are acquired, and a notification is broadcasted.

24. The method according to claim 22 or 23, characterized in that The determining, based on the first highest effective rate, the requested bandwidth of the second service, the requested bandwidth of the eighth service, the second highest effective rate, and the number of file transfer services, a first rate limit value of the first service and a second rate limit value of the sixth service specifically includes: Determine a total time proportion of non-file transfer services based on the first highest effective rate, the requested bandwidth of the second service, the requested bandwidth of the eighth 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 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 first highest effective rate; The second rate limit value is determined based on the time proportion of each file transfer service and the second highest effective rate.

25. The method according to claim 24, characterized in that When the product of the time proportion of each file transfer service and the first highest effective rate is greater than or equal to a preset speed limit value, the first speed limit value is the product of the time proportion of each file transfer service and the first highest effective rate; When the product of the time proportion of each file transfer service and the first highest effective rate is less than the preset speed limit value, the first speed limit value is the preset speed limit value; When the product of the time proportion of each file transfer service and the second highest effective rate is greater than or equal to the preset speed limit value, the second speed limit value is the product of the time proportion of each file transfer service and the first highest effective rate; When the product of the time proportion of each file transfer service and the second highest effective rate is less than the preset speed limit value, the second speed limit value is the preset speed limit value.

26. The method according to any one of claims 1 to 25, characterized in that The first highest effective rate is determined based on the modulation and coding strategy MCS rate of the first link; and the second highest effective rate is determined based on the MCS rate of the second link.

27. A method for optimizing service quality, characterized in that: Applied to a second electronic device, the method includes: Acquire second service information and link information of a second link, where the second link carries a second service with the second electronic device as the sending end, the second service information includes a service type and a required bandwidth of the second service, and the link information of the second link includes a second maximum effective rate and an identifier of a second channel; the required bandwidth of the second service and the second maximum effective rate are used to calculate a first rate limit value of the first service; the first service is a service carried on the first link with the first electronic device as the sending end, and the service type of the first service is a file transfer service; the link information of the first link includes an identifier of a 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 second service information and link information of the second link are sent to the first electronic device.

28. The method according to claim 27, characterized in that The second service information also includes a service type of a sixth service, the second link also carries the sixth service, the service type of the sixth service is a file transfer service, the requested bandwidth of the second service and the second maximum effective rate are also used to calculate a second rate limit value of the sixth service, and the method further includes: receiving the second speed limit value from the first electronic device; The second file data is transmitted through the second link at a second bandwidth value, where the second bandwidth value is less than or equal to the second speed limit value, and the second file data is service data of the sixth service.

29. The method according to claim 27 or 28, characterized in that Before acquiring the second service information and the link information of the second link, the method further includes: An update instruction is received from the first electronic device, where the update instruction is used to request service information and link information.

30. The method according to any one of claims 27 to 29, characterized in that: The method further comprises: When it is detected that a trigger condition is met, indication information is sent to the first electronic device; the indication information is used to indicate that the service information or link information has changed, or to indicate that the service quality is optimized.

31. The method according to claim 30, characterized in that The method further comprises: When the second service is successfully created or when it is detected that the ninth service is closed, it is determined that the trigger condition is met, and the ninth service is a service with the second electronic device as the sending end.

32. The method according to claim 30, characterized in that The method further comprises: When it is detected that the bandwidth demanded by the second service changes or the second service is stuck, it is determined that the trigger is satisfied. condition.

33. The method according to claim 30, characterized in that The method further comprises: When a transmission rate change of the second link is detected, updating the second highest effective rate; When the second highest effective rate is updated, it is determined that the trigger condition is satisfied.

34. 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-26 or 27-33.

35. 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-33.

Citation Information

Patent Citations

  • Communication resource cooperation method and electronic equipment

    CN115150897A

  • Bandwidth control method and device, equipment and storage medium

    CN116346743A

  • Session management method and electronic equipment

    CN117135199A

  • Method for transmiting data using unused capacity

    KR1020010011137A