Wireless local area network quality of service (QOS) optimization method and electronic equipment
By dynamically adjusting the speed limit value of file transfer services in wireless LAN, QOS optimization problems in multi-device and multi-service scenarios are solved, and bandwidth allocation of delay-sensitive services and throughput of file transfer services are improved.
Patent Information
- Application Number
- CN202311309206.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-10
- Publication Date
- 2025-04-18
AI Technical Summary
In the wireless LAN scenario of multiple devices and services, the prior art is difficult to effectively optimize the quality of service (QOS), resulting in the inability to obtain sufficient bandwidth for delay-sensitive services, which affects the user experience.
By collecting service information of each service in the WiFi system and link information of each link, dynamically adjusting the total time proportion of file transfer services, and determining the speed limit value of file transfer services based on the observed round-trip delay (RTT), to ensure that the RTT of non-file transfer services meets the needs and maximize the throughput of file transfer services.
It realizes that in multi-device and multi-service scenarios, the bandwidth allocation of delay-sensitive services is improved, the user experience is ensured, and the throughput of file transfer services is maximized.
Smart Images

Figure CN119854861A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a wireless local area network QOS optimization method and electronic equipment. Background Art
[0002] In the near-field communication scenario, multiple devices, such as one or more mobile phones, tablets, personal computers, large-screen devices (such as TVs), etc., need to transmit multiple business data concurrently under limited network bandwidth. For example, at the same time, some devices are transmitting large files, while others are transmitting high-definition videos. At this time, it is necessary to reasonably allocate broadband resources through the Quality of Service (QOS) mechanism to ensure orderly data communication.
[0003] 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. Summary of the invention
[0004] The present application provides a wireless local area network QOS optimization method and electronic device, which limits the speed of file transfer services to ensure the transmission requirements of delay-sensitive services and improve the user experience of the delay-sensitive services.
[0005] In a first aspect, a method for optimizing the quality of service (QOS) of a wireless local area network is provided, which is applied to a first electronic device in a wireless fidelity WiFi system, wherein the WiFi system includes multiple electronic devices in the same cell, the multiple electronic devices include the first electronic device, and the multiple electronic devices form at least one link, and the method includes:
[0006] Collecting service information of each service and link information of each link in the WiFi system; the services include non-file transfer services and file transfer services, and the service information of the non-file transfer services includes an observed round-trip delay RTT of the non-file transfer services;
[0007] Based on the observed RTT of each non-file transfer service in the WiFi system, a first total time proportion of the file transfer service that enables the WiFi system to reach a stable state is determined; the first total time proportion is used to determine a first speed limit value for each file transfer service in the WiFi system.
[0008] The above method provides a solution for multiple devices to jointly perform QOS optimization, adjusts the total time proportion of the file transfer service in the WiFi system based on the observed RTT of the non-file transfer service, and allocates a speed limit value for the file transfer service in the WiFi system based on the total time proportion, so as to obtain the maximum total time proportion of the file transfer service when the RTT of the non-file transfer service meets the demand (that is, the WiFi reaches a stable state), thereby maximizing the throughput of the file transfer service.
[0009] In a possible implementation, before collecting the service information of each service and the link information of each link in the WiFi system, the method further includes:
[0010] Under the influence of the second total time proportion of the file transfer service in the WiFi system, the RTT of the first non-file transfer service is observed to obtain the observed RTT of the first non-file transfer service; the first non-file transfer service is the file transfer service of the first electronic device itself; under the influence of the second total time proportion of the file transfer service in the WiFi system, the total time proportion of the file transfer service in the WiFi system is not greater than the second time proportion.
[0011] In a possible implementation, the method further includes: determining, based on the observed RTT of each non-file transfer service in the WiFi system, a first total time proportion of the file transfer service that enables the WiFi system to reach a stable state, including:
[0012] Determining whether the WiFi system has reached a stable state based on the observed RTT of each non-file transfer service in the WiFi system;
[0013] When the WiFi system has not reached a stable state, updating the second total time proportion;
[0014] The second total time proportion when the WiFi system reaches a stable state is the first total time proportion.
[0015] The above method dynamically adjusts the total time proportion of the file transfer service to determine the first total time proportion of the file transfer service that enables the WiFi system to reach a stable state, thereby improving optimization efficiency.
[0016] In a possible implementation, the WiFi system includes at least one first non-file transfer service whose observed RTT is within the RTT stability interval of the first non-file transfer service and the observed RTT of each second non-file transfer service in the WiFi system is less than the lower bound of the corresponding RTT stability interval in the most recent N observations, the second non-file transfer service is a non-file transfer service in the WiFi system except the first non-file transfer service, and N is a positive integer.
[0017] The above method defines the stable state of the WiFi system and can improve the optimization efficiency.
[0018] Optionally, the upper bound of the RTT stability interval of the i-th non-file transfer service in the WiFi system is the target RTT of the i-th non-file transfer service, the lower bound of the RTT stability interval of the i-th non-file transfer service is less than the target RTT of the i-th non-file transfer service, i is a positive integer, and i is not greater than the total number of non-file transfer services in the WiFi system.
[0019] In a possible implementation, when the WiFi system has not reached a stable state, updating the second total time proportion includes:
[0020] When the WiFi system has not reached a stable state, determining a change step of the second total time proportion based on the observed RTT of the non-file transfer service in the WiFi system observed for the most recent N times;
[0021] The second total time proportion is updated based on the determined change step size.
[0022] The above method provides a way to update the second total time proportion based on the change step size, and the optimization efficiency can be improved by dynamically adjusting the change step size.
[0023] In a possible implementation, determining the change step of the second total time proportion based on the observed RTT of the non-file transfer service in the WiFi system observed for the most recent N times includes:
[0024] If, in the most recent N observations of the WiFi system, there is at least one non-file transfer service whose observed RTT is higher than the upper limit of the corresponding delay stability interval, then the WiFi system satisfies the first condition, and the change step length of the second total time proportion is determined to be a negative initial value; and / or,
[0025] If the observed RTTs of all non-file transfer services of the WiFi system observed in the most recent N times are all lower than the lower bound of the corresponding delay stability interval, the WiFi system meets the second condition, and the change step of the second total time proportion is determined to be a positive initial value.
[0026] In a possible implementation, if the WiFi does not satisfy the first condition and does not satisfy the second condition, determining the change step of the second total time proportion based on the observed RTT of the non-file transfer service in the WiFi system observed for the most recent N times further includes:
[0027] In the most recent observation, the observed RTT of all non-file transfer services of the WiFi system is lower than the upper bound of the corresponding delay stability interval and the current change step is greater than 0, then the direction of the change step is determined to be the opposite of the current change step and the size is not greater than the current change step;
[0028] In the most recent observation, if the observed RTT of all non-file transfer services of the WiFi system is lower than the upper bound of the corresponding delay stability interval and the current change step is less than 0, the direction of the change step is determined to be the current change step;
[0029] In the most recent observation, if the observed RTT of at least one non-file transfer service of the WiFi system is higher than the upper bound of the corresponding delay stability interval and the current change step is less than 0, then the direction of the change step is determined to be the opposite of the current change step and the size is not greater than the current change step;
[0030] In the most recent observation, if the observed RTT of at least one non-file transfer service of the WiFi system is higher than the upper limit of the corresponding delay stability interval and the current change step is greater than 0, then the direction of the change step is determined to be the current change step.
[0031] In a possible implementation, if the WiFi does not satisfy the first condition and does not satisfy the second condition, determining the change step of the second total time proportion based on the observed RTT of the non-file transfer service in the WiFi system observed for the most recent N times further includes:
[0032] In the most recent observation, the observed RTT of all non-file transfer services of the WiFi system is lower than the upper bound of the corresponding delay stability interval, and the change step size is determined to be Δt F and -a*Δt F The minimum value of Δt F is the current change step, 0<a<1; or,
[0033] In the most recent observation, the observed RTT of at least one non-file transfer service of the WiFi system is higher than the upper bound of the corresponding delay stability interval, and the change step size is determined to be Δt F and -a*Δt F The maximum value of the Δt F is the current change step, 0<a<1.
[0034] In a possible implementation, the method further includes:
[0035] A second speed limit value for the file transfer service in the WiFi system is calculated based on the updated second total time proportion; the second speed limit value is not less than the minimum speed limit value.
[0036] In a possible implementation, calculating the second rate limit value of the file transfer service in the WiFi system based on the updated second total time proportion includes:
[0037] The time proportion of the first file transfer service is determined based on the updated second total time proportion and the allocation ratio of the first file transfer service; the first file transfer service is any one of the file transfer services in the WiFi system, or is the file transfer service of the first electronic device itself.
[0038] In a possible implementation, the allocation ratio of each file transfer service in the WiFi system is the same, and the allocation ratio is 1 / M or 1 / M*P, where M is the total number of file transfer services in the WiFi system, and P=1-N / 10, where N is the number of sending devices in the WiFi system.
[0039] In a possible implementation, the second rate limit value of the first file transfer service is a time proportion of the first file transfer service.
[0040] In a possible implementation, the second rate limit value of the first file transfer service is the product of the time proportion of the first file transfer service and the maximum effective rate of the link where the first file transfer service is located.
[0041] In a possible implementation, the collecting service information of each service and link information of each link in the WiFi system includes:
[0042] Collecting service information of each service and link information of each link of the first electronic device itself;
[0043] Sending service information of each service of the first electronic device and link information of each link to electronic devices other than the first electronic device in the WiFi system;
[0044] The service information of each service and the link information of each link sent by the electronic devices other than the first electronic device in the WiFi system are received.
[0045] In a possible implementation, the method further includes:
[0046] The first speed limit value of the second file transfer service is calculated based on the first total time proportion; the second file transfer service is the file transfer service of the first electronic device itself;
[0047] The service data of the second file transfer service is delivered based on the first rate limit value of the second file transfer service.
[0048] In a possible implementation, the collecting service information of each service and link information of each link in the WiFi system includes:
[0049] Sending a request to an electronic device other than the first electronic device in the WiFi system, wherein the request is used to obtain service information and link information;
[0050] The service information of each service and the link information of each link sent by the electronic devices other than the first electronic device in the WiFi system are received.
[0051] In a possible implementation, the method further includes:
[0052] Calculate a first speed limit value for each file transfer service in the WiFi system based on the first total time proportion;
[0053] The first speed limit value of each file transfer service in the WiFi system is sent to the electronic device to which it belongs.
[0054] In a second 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 executed by the first electronic device in the first aspect or any one of the embodiments of the first aspect.
[0055] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, comprising instructions, which, when executed on an electronic device, enable the electronic device to execute a method executed by the first electronic device in the first aspect or any one of the embodiments of the first aspect.
[0056] In a fourth aspect, an embodiment of the present application provides a computer program product. When the computer program product runs on a computer, it 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. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1A A schematic diagram of a data transmission process in a controllable device provided in an embodiment of the present application;
[0058] Figure 1B A schematic diagram of a definition of RTT provided in an embodiment of the present application;
[0059] Figure 2A An example diagram of a WiFi system in an application scenario provided by an embodiment of the present application;
[0060] Figure 2B An example diagram of a WiFi system in another application scenario provided by an embodiment of the present application;
[0061] Figure 2C An example diagram of a WiFi system in another application scenario provided by an embodiment of the present application;
[0062] Figure 3 A schematic diagram of a framework of a solution for QOS optimization of multiple devices and multiple services provided in an embodiment of the present application;
[0063] Figure 4 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application;
[0064] Figure 5 The software architecture of the electronic device provided in the embodiment of the present application;
[0065] Figure 6 A schematic diagram of a distributed QOS optimization method provided in an embodiment of the present application;
[0066] Figure 7 A flowchart of a centralized QOS optimization method provided in an embodiment of the present application;
[0067] Figure 8 A flowchart of a method for updating the total time proportion of a file transfer service provided in an embodiment of the present application;
[0068] Fig. 9 An example diagram of a pseudo code for implementing the total time percentage of updating a file transfer service provided in an embodiment of the present application. DETAILED DESCRIPTION
[0069] The technical solutions in the embodiments of the present application will be described clearly and in detail below 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 of associated 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.
[0070] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.
[0071] The terms involved in the embodiments of the present application are described below.
[0072] (1) Access category (AC)
[0073] Based on the provisions of the IEEE802.11e standard for wireless local area network (WLAN), the current wireless fidelity (WiFi) system mainly uses a competition mechanism based on carrier sense multiple access (CSMA) to distribute transmission time between distributed devices, and the quality of service (QOS) required by different transmission services is mainly guaranteed by different transmission priorities. That is, the priority between transmission services is distinguished by different AC queues, and the data to be transmitted by the electronic device is placed in the corresponding AC queue, and the channel competition is carried out according to the CSMA mechanism, and the data is transmitted after obtaining the transmission opportunity.
[0074] like Figure 1A FIG. 1 is a schematic diagram of a data transmission process in a controllable device provided by an embodiment of the present application. After entering the media access control MAC layer, the service data of the application layer is mapped to different AC queues. It should be understood that the AC queue is also called a priority queue.
[0075] The protocol specifies four types of AC queues, which are classified in descending order of priority into voice stream (voice, represented by AC_VO, also represented by AC 0), video stream (video, represented by AC_VI, also represented by AC 1), best-effort stream (best-effort, represented by AC_BE, also represented by AC 2), and background stream (background, represented by AC_BK, also represented by AC 3). These queues are used to ensure that high-priority classified messages have priority in occupying wireless channels and being sent, thereby ensuring better service quality for applications such as voice and video in wireless networks.
[0076] Each AC queue obtains the opportunity to send through a competition mechanism and is then transmitted by the transmitter at the physical layer.
[0077] However, the above-mentioned priority-based mechanism is difficult to guarantee the QOS requirements of application layer services. For example, in a scenario where screen projection services and file transfer services coexist, since the file transfer service always has data waiting to be sent before the transmission is completed, multiple low-priority file transfer services may still occupy excessive system transmission time, resulting in the data throughput required by the screen projection service not being met, encountering large delays, and even queue buffer overflows. This is because the QOS mechanism based on physical layer transmission priority cannot understand and implement the business needs of the application layer.
[0078] (2) Controllable devices, uncontrollable devices, and interfering devices.
[0079] Definition: The transceiver devices in the WiFi system in the same time and space can be divided into controllable devices, uncontrollable devices, and interference devices. Among them, the devices that can cooperate with the device for controlling QOS optimization (also called the central control device) for QOS optimization or can be used with other controllable devices for QOS optimization are called controllable devices; the devices that cannot cooperate with the central control device for QOS optimization or cannot be used with other controllable devices for QOS optimization are called uncontrollable devices; the devices that interfere with the cell are called interference devices.
[0080] Specifically, the controllable device is a device in this cell that has a built-in QOS optimization program on the controllable device side in the embodiment of the present application, and can execute the controllable device side method in the QOS optimization method provided in the embodiment of the present application. Uncontrollable devices cannot implement the functions that the above-mentioned controllable devices can implement, and may include access point devices (AP) of this cell, such as routers.
[0081] (3) Controllable link, perceptible link, interference link and full link.
[0082] Among them, a link is a data transmission line from one device to another, with no other switching nodes in between. Based on the device types at the transmitting and receiving ends of the link, the link is divided into controllable links, perceptible links, and interference links. Among them, a controllable link is a link where the transmitting end is a controllable device of the cell, a perceptible link is a link where the receiving end is a controllable device of the cell, and an interference link is a link where both the receiving and transmitting ends are uncontrollable devices of the cell, or both the receiving and transmitting ends are devices of the interfering cell.
[0083] The full link is that both the receiving end and the transmitting end are controllable devices, and there can be a switching node between the receiving end and the transmitting end, such as a WiFi router. The full link is divided into a full link with a switching node and a full link without a switching node. Among them, the full link without a switching node is also a controllable link; since the WiFi router is an uncontrollable device, the full link with a switching node (such as the full link from controllable device A to controllable device B through the WiFi router) is composed of a controllable link from controllable device A to the WiFi router and a perceptible link from the WiFi router to controllable device B.
[0084] (4) Maximum effective rate.
[0085] In the embodiment of the present application, the maximum effective rate of a link is: when all other controllable links and perceptible links must transmit data, the transmission rate that the link can achieve. The maximum effective rate can reflect the maximum transmission rate that the link can achieve.
[0086] The maximum effective rate can be used for overall scheduling and channel allocation of WiFi transmission. The maximum effective rate can be measured by shutting down data transmission of other controllable links and perceptible links. However, this method is difficult to efficiently measure the maximum effective rates of all controllable links and perceptible links.
[0087] The maximum effective rate of the controllable link or the perceptible link can also be obtained through the joint measurement method provided in the embodiment of the present application, or determined based on the modulation and coding scheme (MCS) of the link.
[0088] A full link without a switching node is also a controllable link, and its maximum effective rate can be obtained by a measurement method of the maximum effective rate of the controllable link, or determined based on the negotiated rate of the controllable link.
[0089] The maximum effective rate of the entire link with the switching node can be obtained based on the maximum effective rates of the controllable links and the perceptible links constituting the entire link.
[0090] For example, the maximum effective rate of the entire link from controllable device A to controllable device B through the WiFi router is γ AB is the maximum effective rate of the controllable links constituting the whole link γ A and the maximum effective rate of the perceived link γ B The minimum value in .
[0091] Again illustratively, it is calculated by the following formula:
[0092]
[0093] (5)Business type.
[0094] In the embodiment of the present application, the link is used to transmit services in each priority queue, and a priority queue may include one or more services. The services running in the application layer can be divided into three categories, including real-time services, delay-sensitive services, and file transfer services, among which real-time services and delay-sensitive services can also be called non-file transfer services.
[0095] The application layer can also divide the real-time services into screen projection services based on more detailed scenarios, delay-sensitive services can include voice call services, video call services, video on demand services, etc., and file transfer services can include video file transfer services, text file transfer services, web page transfer services, etc. It should also be understood that file transfer services can also be divided into large file transfer services and small file transfer services based on the amount of data transmitted by the service. File transfer services that are larger than a preset threshold, such as 10M or 20M, can be called large file transfer services, and files that are smaller than a preset threshold can be called small file transfer services.
[0096] The following is a brief introduction to these three business types:
[0097] Real-time services: generate data to be transmitted at a fixed period. For example, screen projection services usually generate a video frame every 16 milliseconds. In order to ensure the real-time transmission of services, this service usually requires a smaller average transmission delay.
[0098] Delay-sensitive services: These services randomly generate data to be transmitted and have requirements on the average transmission delay of the data.
[0099] 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 set for the data transfer completion time (i.e., the average transfer rate).
[0100] It can be understood that the application layer can identify the service type of each service based on the characteristics of the above-mentioned services, and can determine the AC queue in which the service is located when it is transmitted to the MAC layer based on its corresponding tag label.
[0101] (6) Link information.
[0102] In this application, the "device" in "device link information" or "device's own link information" refers to a controllable device.
[0103] In some embodiments, "link information of a device" or "link information of the device itself" refers to the link information of all full links in which the device is located, specifically including the link information of each full link in which the device is located. It should be understood that a full link in which a controllable device is located may include one or more links. In this case, the link information includes at least one of the identifier of the full link, the maximum effective rate, the number of full links, the transmitting end and the receiving end, etc.
[0104] In other embodiments, the "link information of the device" or "link information of the device itself" in the present application refers to the link information of all full links and all controllable links where the device is located, specifically including the link information of each controllable link where the device is located and the link information of each full link where the device is located. It should be understood that a full link or controllable link where a controllable device is located may include one or more links. At this time, the link information includes at least one of the identification of the full link, the maximum effective rate, the number of full links, the transmitting end and the receiving end, the number of controllable links, the maximum effective rate, the number of full links, the transmitting end and the receiving end, etc.
[0105] Among them, the identification of the link (controllable link, full link or perceptible link, etc.) is used to distinguish the links in the WiFi system, and the identification of the link can be represented by the identification of the transmitting end of the link and the identification of the receiving end. The identification of the full link including the existence of a switching node can also include the identification of the switching node. The highest effective rate of the link is used to indicate that the link can compete for the maximum bandwidth. The number of controllable links, the transmitting end and the receiving end are used for the receiving end of the link information to know the number of controllable links where the device is located, as well as the transmitting end and the receiving end of each controllable link. Similarly, the number of full links, the transmitting end and the receiving end are used for the receiving end of the link information to know the number of full links where the device is located, as well as the transmitting end and the receiving end of each controllable link, so that the receiving end of the link information can determine whether the required link related information has been collected.
[0106] (7)Business information.
[0107] In this application, the "device" in "device business information" or "device's own business information" refers to a controllable device. "Device business information" or "device's own business information" refers to the business information of all services created by the device. For multiple services created by a device, the links for transmitting each service can be the same or different.
[0108] The service information of a link, that is, the service information of the service transmitted on the link, is also the service information of the service transmitted on the link created by the sending device (which is a controllable device) of the link.
[0109] The service information of the non-file transfer service may include a round-trip time (RTT) of the service.
[0110] The service information may also include the required bandwidth of the service, and the service information may also include the number of services, the type of service, the service identifier, etc.
[0111] The number of services can be used by the receiver of service information to know the number of services on the device, and then know the total number of services transmitted in the current WiFi system to determine whether the relevant information of the required services has been collected. The types of services can be divided into three categories, including real-time services, delay-sensitive services and file transfer services, among which real-time services and delay-sensitive services can also be called non-file transfer services. Service identifiers can be used to distinguish services on the same link.
[0112] It should be noted that, unless otherwise stated, the "link" in this application refers to a full link, or a controllable link and a full link.
[0113] (8) According to different service types, the embodiments of the present application provide two QOS performance indicators, namely, average throughput and round-trip time (RTT) of application layer data packets.
[0114] The average throughput is suitable for measuring the QOS of file transfer services and is defined as follows: unit The data volume of the file transfer service is R file , then its average throughput x aver for:
[0115]
[0116] RTT is a transmission delay measurement indicator that is easy to measure. It is used to measure the QOS of real-time services and delay-sensitive services (i.e., non-file transfer services). Figure 1B As shown, RTT is defined as follows:
[0117] The transmitter (Tx) completes the transmission of an application layer data packet within time t1, wherein one application layer data packet includes N UDP (user datagram protocol) packets.
[0118] When the receiver (Rx) receives the complete application layer data packet at time t′1, it replies with a small data packet (including a UDP packet).
[0119] The sender receives the reply UDP packet after time t1 and time t2. The RTT can be calculated as:
[0120] RTT=t1+t2
[0121] It can be seen that for large application layer data packets, the RTT is slightly higher than the average transmission delay; for small application layer data packets, the RTT is approximately equal to twice the average transmission delay.
[0122] There is mutual interference in the data transmission of multiple devices in the same channel WiFi network, and all the devices in the same channel network share the bandwidth. Based on the QOS optimization strategy of a single device, a single device in the WiFi system cannot perceive the service data between other devices, and its QOS strategy will misjudge, resulting in conflicts in bandwidth allocation. The more devices there are, the greater the misjudgment. Moreover, a single device has a fixed bandwidth ratio for different service types, which cannot guarantee the bandwidth of high-priority services to the greatest extent. For example, when the bandwidth ratio of the stream type is exhausted, the bandwidth of the file type cannot be used, and the bandwidth is statically allocated once, without a dynamic adjustment process, and cannot resist network changes.
[0123] Therefore, the present application provides a solution for multiple devices to jointly perform QOS optimization.
[0124] In one implementation, the application layer of each device in the WiFi system detects the RTT of its own non-file transfer service (i.e., observed RTT), collects service information of its own service (including the RTT of its own non-file transfer service) and link information, and sends them to other devices. Each device in the WiFi system can collect service information of all services and link information of all links in the WiFi system, and dynamically adjust the total time proportion of the file transfer service in the WiFi system based on the observed RTT of the non-file transfer service, and allocate a speed limit value for the file transfer service in the WiFi system based on the total time proportion, so as to obtain the maximum total time proportion of the file transfer service when the RTT of the real-time service and the delay-sensitive service meet the requirements, thereby maximizing the throughput of the file transfer service.
[0125] In another implementation, a device in a WiFi system (also called a central control device) can collect not only the service information of its own service (including the observed RTT of its own non-file transfer service) and link information, but also the service information of other devices (including the observed RTT of its own non-file transfer service) and link information, and dynamically adjust the total time proportion of the file transfer service in the WiFi system based on the observed RTT of the non-file transfer service, allocate a speed limit value to each file transfer service in the WiFi system based on the total time proportion, and send the speed limit value of each file transfer service to the device to which each file transfer service belongs. In this way, the device in the WiFi system can limit the speed of the corresponding file transfer service based on the speed limit value of its own file transfer service, so as to obtain the maximum total time proportion of the file transfer service when the RTT of the real-time service and the delay-sensitive service meets the requirements, thereby maximizing the throughput of the file transfer service.
[0126] Optionally, the speed limit value is not less than a specified minimum speed limit value, so as to ensure that the file transfer service has a throughput not less than the minimum speed limit value, thereby avoiding interruption of the file transfer service.
[0127] 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, and also include 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.
[0128] See Figure 2A An example diagram of a WiFi system in an application scenario is shown. Exemplarily, the WiFi system may include a wireless access point (AP) 10 in the cell, at least one controllable device (such as controllable devices 11a-11e), and may also include at least one uncontrollable device 12a in the cell. In this scenario, the controllable devices in the cell may be surrounded by devices 16a and 16b that interfere with the cell. Among them, AP 10 is an uncontrollable device in the cell, such as a router. Among them, 11a-11e are controllable devices 11c.
[0129] Links may be formed between the AP 10 and a controllable device 11a - 11e , between two controllable devices 11a - 11e , between a controllable device 11a - 11e and an uncontrollable device 12a , and so on.
[0130] For example, forming Figure 2A Link shown.
[0131] A controllable link is a link whose transmitting end is a controllable device in this cell, such as Figure 2A The controllable links 13a, 13b, 13c, and 13d in FIG. For example, the controllable link 13a carries the video streaming service; the controllable link 13b carries the file transfer service; the controllable link 13c carries the screen projection service; and the controllable link 13d carries the screen projection service.
[0132] A perceptible link is a link whose receiving end is a controllable device in the cell, such as Figure 2A The perceptible link 14a in FIG. The perceptible link 14a is a reverse link of the controllable link 13b and carries the video stream service.
[0133] The interference link is when both the transmitter and receiver are uncontrollable devices in the cell, or are interfering cell devices. Figure 2A The interference links 15a and 15b in FIG. 15a carries the voice call service.
[0134] The above exemplary shows the services carried by each link. It should be understood that a link can carry one or more services. Figure 2A Let’s take a business as an example.
[0135] In the embodiment of the present application, the set of controllable links is denoted as Lc, the set of perceptible links is denoted as Ls, and the total set of controllable links and perceptible links is denoted as L, that is, Lc∩Ls.
[0136] It should be understood that the AP 10, the controllable devices 11a-11e and the uncontrollable device 12a work in the same cell, also referred to as being located in the same cell, also referred to as the "present cell" or the "cell to be tested".
[0137] It should also be understood that, in some embodiments, the WiFi system may include a central control device, which may be one of the controllable devices 11a - 11e and may perform the functions of the controllable device.
[0138] The controllable devices 11a-11e may include devices belonging to the same basic service set (BSS) or the same extended service set (ESS), and may also include devices working in the same WiFi channel for direct transmission, such as WiFi direct devices.
[0139] Controllable devices, perceptible devices and central control devices can be intelligent terminal devices, which can be of various types, and the embodiments of the present application do not limit their specific types. For example, it can be a mobile phone, and can also include a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, a smart screen, a wearable device, an augmented reality (AR) device, a virtual reality (VR) device, an artificial intelligence (AI) device, a car machine, a smart headset, a game console, and can also be an Internet of Things (IOT) device or a smart home device such as a smart TV, etc. Not limited to this, it can also include a laptop computer with a touch-sensitive surface or a touch panel, a desktop computer with a touch-sensitive surface or a touch panel, and other non-portable terminal devices, etc.
[0140] Not limited to Figure 2A The system shown may not include a perceptible link in some other WiFi systems.
[0141] It should be noted that, unless otherwise specified, the system referred to by "WiFi system" in the following embodiments of this application does not include interference links, and what is optimized is the QOS of the WiFi system composed of controllable links alone or the QOS of the WiFi system composed of controllable links and perceptible links. Unless otherwise specified, the "link" in the following application refers to the controllable link and / or the perceptible link.
[0142] Some examples of specific application scenarios to which the embodiments of the present application can be applied are described below.
[0143] Example 1, see Figure 2B In the scenario shown, the WiFi system includes a PAD, a PC, and a mobile phone, all of which are controllable devices. The PC acts as an AP and is connected to the PAD and mobile phone through WiFi direct connection (P2P), respectively, to achieve sharing of the PC's keyboard and mouse between the tablet, PC, and mobile phone. The user can use the keyboard or mouse to drag the conference window on the PC to the display of the PAD. The PC detects the user operation and establishes a screen projection service to the PAD. The user can also use the keyboard or mouse to drag the picture on the mobile phone to the display of the PC. The mobile phone detects the user operation and establishes a file sharing service to send the picture to the PC. When the mouse moves, a mouse service is generated.
[0144] In this scenario, while ensuring the RTT requirements of the screen projection service and the mouse service, the file sharing service is increased as much as possible to limit the speed, so as to fully utilize communication resources and improve the throughput of the file sharing service.
[0145] Example 2, see Figure 2C In the scenario shown, the WiFi system includes PAD, PC and mobile phone, which are all controllable devices. The mobile phone is connected to PAD and computer WiFi direct (P2P) as AP. The following services can be established: users can project the conference window on the mobile phone to the PAD, and establish a mobile phone to PAD screen projection service; users can share the files to be shared on the mobile phone to the PC, and establish a mobile phone to computer file sharing service; users can share the call on the PAD to the mobile phone, and establish a PAD to mobile phone call service.
[0146] In this scenario, while ensuring the RTT requirements of the screen projection service and the call service, the speed limit of the file sharing service is increased as much as possible to fully utilize communication resources and improve the throughput of the file sharing service.
[0147] It is not limited to the above scenarios, but may also include other specific scenarios.
[0148] Combine as follows Figure 3 The framework of the solution for QOS optimization of multiple devices and multiple services in this application is described.
[0149] The WiFi system includes multiple devices, forming L links, namely link 1, link 2, link 3, ..., link L, where L is a positive integer. Each link can transmit one or more services. Exemplarily, the first controllable device transmits service 1 through link 1, the second controllable device transmits service 2 through link 2, ..., and the Lth controllable device transmits service L through link L.
[0150] The controllable devices or central control devices in the WiFi system can periodically trigger or trigger link speed measurement, service information collection, and QOS scheduling strategies based on monitored events.
[0151] The controllable devices or central control devices in the WiFi system can monitor events such as service creation, closure, freeze, change in bandwidth demand, etc., and can also monitor changes in link transmission rate. When these events are detected, link speed measurement and service information collection can be initiated, and further, QOS scheduling strategies can be executed based on the collected link information and service information.
[0152] The scheduling strategies for link speed measurement and QOS can adopt distributed scheduling or centralized scheduling.
[0153] When measuring the link speed, distributed scheduling is adopted, and each controllable device is required to test the actual transmission rate of the controllable link. Each controllable device needs to send the actual transmission rate of the controllable link obtained by its test to other controllable devices, and each controllable device can calculate the maximum effective rate of each controllable link. The reverse link of the perceptible link is a controllable device, and the maximum effective rate of the perceptible link can be considered to be equal to the maximum effective rate of its reverse link. The method for measuring the maximum effective rate of the link can be found in the patent application with application number 202310855251.7, the entire contents of which are incorporated herein by reference, and the patent application discloses a method for measuring the maximum effective rate of the link.
[0154] There are many types of QOS scheduling strategies, which can be divided into inter-device scheduling and intra-device scheduling. Inter-device scheduling and intra-device scheduling can also coexist.
[0155] The scheduling between devices exemplarily includes the following:
[0156] 1. The QOS optimization method provided in the embodiments of the present application.
[0157] 2. Online QOS optimization based on average transmission delay. For specific implementation, please refer to the patent application with application number 202310862296.7. The entire content of this patent application is incorporated herein by reference.
[0158] 3. Simulation-based QOS optimization. For specific implementation, please refer to the patent application with application number 202310862256.2. The entire content of the patent application is incorporated herein by reference.
[0159] 4. Stability-based QOS optimization. For specific implementation, please refer to the patent application with application number 202310857615.5. The entire content of this patent application is incorporated herein by reference.
[0160] It should be noted that the specific meaning of the service information may be different in different QOS optimization methods, and the details can be found in various patent applications.
[0161] like Figure 4 FIG. 1 is a schematic diagram of the hardware structure of an electronic device 100 provided in an embodiment of the present application. The electronic device 100 may be the Figure 2A-2C The controllable devices, central control devices, mobile phones, PCs and PADs in the method embodiments described below may also be devices A, devices B, devices C, controllable devices, central control devices, etc., which are used to execute the methods executed by each device in the method embodiments described below.
[0162] 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 multiple parts may transmit data via a bus.
[0163] 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 processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0164] The memory 102 may be used to store computer executable program codes, which may include instructions. The processor 101 executes the instructions stored in the memory 102 to perform various functional applications and data processing of the electronic device 100, such as executing various methods provided in the embodiments of the present application.
[0165] 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.
[0166] 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 the utilization of antennas. For example, antenna 103A can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.
[0167] 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 by the antenna 104A, and filter and amplify 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 arranged in the processor 101. In some embodiments, at least some of the functional modules of the mobile communication module 104 can be arranged in the same device as at least some of the modules of the processor 101.
[0168] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be sent into a medium-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 the low-frequency baseband signal is processed by the baseband processor, it 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 set in the same device as the mobile communication module 104 or other functional modules.
[0169] 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., which are 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, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 101. The wireless communication module 103 can also receive the signal to be sent from the processor 101, modulate the frequency of the signal, amplify it, and convert it into electromagnetic waves for radiation through the antenna 103A.
[0170] 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.
[0171] It is to be understood that the structure illustrated in the embodiment 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 in the figure, or combine some components, or separate some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0172] In the embodiment of the present application, the wireless communication module 103 can be used for WiFi connection, transmission of data such as data or instructions between electronic devices.
[0173] 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.
[0174] For example, Figure 5 The software architecture of the electronic device 100 provided in the embodiment of the present application is shown.
[0175] like Figure 5As shown, the software architecture of the electronic device can adopt a layered architecture, which divides the system into several layers, each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the system is divided into five layers, from top to bottom, namely, the application layer, the application framework layer (framework), the system library and the Android runtime (android runtime), the hardware abstraction layer (HAL), and the driver layer. Among them: the application framework layer, the system library and the Android runtime, the hardware abstraction layer, not shown in Figure 5 Shown in.
[0176] The application layer (application) may include a series of applications. For example, the application package may include WLAN applications, Bluetooth applications, application continuation, 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.
[0177] Among them, the WLAN application is mainly used to realize the opening, connection and setting of WLAN, and the Bluetooth application is used to realize the opening, connection and setting of Bluetooth. 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 the call from this electronic device. For example, the smart screen can answer the call from this electronic device, and the tablet and computer 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, and can also realize cross-device file transmission 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 connection between this electronic device and a large-screen device to realize the display of videos and other content displayed on this electronic device through a large-screen device, or to realize the connection between the display of this electronic device and a small-screen device to realize the display of videos and other content displayed on a small-screen device through a large screen on this electronic device. Here, "large screen" and "small screen" refer to the relative sizes of the display screens of electronic devices.
[0178] The application layer also includes video transmission service interface, message transmission service interface, audio transmission service interface, file transfer service interface, keyboard and mouse transmission service interface and file stream transmission service interface, as well as the services corresponding to these interfaces (also called interface services), 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, 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 realize 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. Exemplarily, 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.
[0179] In addition, the interface services for implementing business data transmission of non-file transfer services, such as video transmission service, message transmission service, audio transmission service, keyboard and mouse transmission service, etc., may include a dynamic cache system or unit, which is used to store application layer data packets (including N UDP packets) and cache the data packets (including one UDP) received from the receiving end, and calculate the RTT of the non-file transfer service based on recording the sending time and receiving time of the UDP packet.
[0180] 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 functional modules such as a bandwidth management system, an information update system, a QOS scheduling system, a QOS bandwidth allocation system, a sending system, and a QOS monitoring system. Among them:
[0181] When creating a service, the application sends a connection request or service creation request and the requested bandwidth of the service to the bandwidth management system. After receiving the request and requested bandwidth from the upper-layer application, the bandwidth management system calculates the remaining bandwidth and determines whether the remaining bandwidth can meet the needs of the service to be created. The bandwidth management system is also used to establish channels.
[0182] The information update system is used to collect its own service information and link information, and receive service information and link information of other devices in the WiFi system. When receiving notifications or instructions sent by other devices to indicate rescheduling of QOS, or identifying that service information or link information in the WiFi system is updated, increased or decreased, it sends a scheduling request to the QOS scheduling system to trigger the rescheduling of QOS. Among them, the service information of non-file transfer services includes the observed RTT of the service. Link information includes the maximum effective rate of the link.
[0183] The QOS scheduling system is used to respond to the scheduling request, dynamically adjust the total time proportion of the file transfer service based on the observed RTT of each non-file transfer service in the WiFi system, recalculate the speed limit value of the file transfer service based on the total time proportion, and send the speed limit value of its own file transfer service to the QOS bandwidth allocation system.
[0184] The QOS bandwidth allocation system is used to limit the speed of the file transfer service based on the speed limit value of the file transfer service. In one implementation, the speed limit value of the file transfer service may be the transmission time of the file transfer service per unit time, and the QOS bandwidth allocation system may be implemented by controlling the transmission time of the file transfer service per unit time. In another implementation, the speed limit value of the file transfer service may be the product of the transmission time of the file transfer service per unit time and the highest effective rate of the transmission link, that is, the average throughput, and the QOS bandwidth allocation system may be implemented by controlling the amount of data transmitted by the file transfer service per unit time.
[0185] The sending system is used to send its business data based on the file transfer business rate limit value.
[0186] The QOS monitoring system is used to perform periodic monitoring or monitoring events, including monitoring changes in service information and changes in link information of links. For example, when monitoring the creation and closure of services, changes in the bandwidth required by services, service freezes, changes in the transmission rate of links, etc., the information update system is triggered to update the service information and link information of the WiFi system when changes occur, so as to further trigger QOS optimization.
[0187] In some embodiments, the information update system is also used to implement the measurement of the maximum effective rate of the link in the WiFi system. For the specific implementation of the measurement of the maximum effective rate of the link in the WiFi system, please refer to the patent application with application number 202310855251.7, the entire content of which is incorporated herein by reference, which discloses a method for measuring the maximum effective rate of the link.
[0188] The application framework layer (framework) can provide an application programming interface (API) and a programming framework for the application programs 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., and the embodiments of the present application do not impose any restrictions on this.
[0189] The system library can include multiple functional modules, such as surface manager, media libraries, OpenGL ES, SGL, etc.
[0190] The hardware abstraction layer is an interface layer between the operating system kernel and the hardware circuit, and its purpose is to abstract the hardware. It hides the hardware interface details of a specific platform and provides a virtual hardware platform for the operating system, making it hardware-independent and portable on multiple platforms. From the perspective of software and hardware testing, the testing of software and hardware can be completed based on the hardware abstraction layer, making it possible to conduct software and hardware testing in parallel.
[0191] The driver layer includes drivers for various hardware. The driver layer may include Bluetooth drivers, WiFi drivers, etc. Among them, the Bluetooth driver is used to drive the Bluetooth module. The WiFi driver is used to drive the WiFi module.
[0192] Before the introduction, the principle of QOS optimization in this application is first explained.
[0193] In an embodiment of the present application, the speed limit value of the file transfer service is adaptively adjusted based on the observed RTT of the non-file transfer service fed back by the controllable device in the WiFi system, so as to determine the maximum total time proportion of the file transfer service when the observed RTT of the non-file transfer service meets the delay requirement, and then, based on the total time proportion, a speed limit value is allocated to the file transfer service in each link, and the average throughput of the file transfer service in each link is constrained, i.e., speed-limited, so as to improve the throughput of the file transfer service when the observed RTT of the non-file transfer service meets the delay requirement.
[0194] In order to simplify the QOS optimization process, considering the different maximum effective rates of different links (or different MCS), and the impact of the speed limit value (i.e., throughput) of the file transfer service on the overall system performance, the total time proportion (fraction) of the file transfer service is controlled as a single variable. Let t F It represents the ratio of the sum of the transmission time of all file services to the total transmission time, that is, the total time ratio of the file transfer service. The transmission time of each file service in the WiFi system is allocated according to a certain ratio. That is, in unit time, the transmission time of the file transfer service (l, a, i) is β l,a,i *t F , where β l,a,i The allocation ratio for the file transfer service (l, a, i). (l, a, i) represents the i-th service in the a-th priority queue on the l-th link in the WiFi system, where l is the index of the link, a is the index of the priority queue, and i is the index of the service. l, a, i are all positive integers.
[0195] We maximize the total time share of file transfer services under the given minimum throughput constraints of file transfer services and the latency constraints of real-time services and latency-sensitive services. The mathematical description of this problem is:
[0196] Objective function:
[0197]
[0198] Optimization variables:
[0199] t F
[0200] There are two constraints, namely, the file transfer service meets the minimum bandwidth requirement, and the RTT of real-time services and delay-sensitive services meets the delay constraint, which can be expressed as:
[0201]
[0202]
[0203] in, It is a collection of all real-time services in the WiFi system. It is a collection of all real-time services in the WiFi system. It is a collection of all real-time services in the WiFi system. Represents a collection of non-file transfer services in WiFi.
[0204] The variable to be optimized is t F ,The speed limit value of each file transfer service can be achieved by controlling the transmission time of the file transfer service in unit time through a controllable device.
[0205] Tput l,a,i (t F ) represents the file transfer service (l, a, i) in the optimization variable t F The actual throughput under the action, Tput l,a,i (t F )With t F Rise and fall.
[0206] is the minimum speed limit value of the file transfer service (l, a, i), indicating the minimum bandwidth requirement of the file transfer service (l, a, i). Optionally, the minimum speed limit values of different file transfer services may be the same or different. The minimum speed limit value may be determined based on the amount of data to be transmitted by the file transfer service. The larger the amount of data, the larger the minimum speed limit value. Optionally, the speed limit value is determined based on the maximum effective rate of the link that transmits the file transfer service. That is, the larger the maximum effective rate, the larger the speed limit value of the file transfer service on the link. At this time, the minimum speed limit values of different file transfer services on the same link are the same.
[0207] RTT l,a,i (t F ) indicates that the business (l, a, i) optimizes the variable t F The actual RTT value under the action (also called observed RTT in this application), RTT l,a,i (t F )With t F Rise and fall. The target RTT of the service (l, a, i) represents the RTT constraint of the service (l, a, i) and represents the maximum acceptable delay of the service (l, a, i). The service here refers to non-file transfer service.
[0208] By optimizing the variable t F So that the objective function P(t F ) is the largest, since P(t F )With t F rises and falls, so when t F When the maximum value is reached, P(t F ) is the largest. Therefore, the problem is transformed into finding the maximum t that satisfies the constraints. F Therefore, controlling t F ≥t F,min To meet the minimum bandwidth of file transfer, where t F,min Indicates the minimum total time percentage t required for file transfer F . And because of RTT l,a,i (t F )With t F We need to find a sufficiently large t while satisfying the delay constraint. F To maximize the throughput of file transfer services.
[0209] To this end, the embodiment of the present application defines the RTT stability interval (also called the delay stability interval) of real-time services and delay-sensitive services, which is expressed as 0<∈<1. Different services have corresponding When the observed RTT of non-file transfer services in the WiFi system is within the corresponding delay stability interval, it means that the total time proportion of file transfer services is increased. F , then the RTT of the non-file transfer service is likely to be greater than its corresponding target RTT, that is, the RTT of some non-file transfer services does not meet the requirements. Therefore, it is defined that when the observed RTT of at least one non-file transfer service is in its corresponding delay stability interval and the observed RTTs of other non-file transfer services are all less than the lower bound of the delay stability interval, the WiFi system reaches a stable state. At this time, the total time of file transfer services accounts for t F is the best.
[0210] In the embodiment of the present application, the total time proportion of periodic detection in non-file transmission business is t F The observed RTT of each non-file transfer service in the WiFi system under the action of the non-file transfer service is dynamically adjusted based on the relationship between the observed RTT of the non-file transfer service and its corresponding stable interval. F , and get t that makes the WiFi system stable F , which is the optimal t F To find the optimal t as quickly as possible F The embodiment of the present application also defines the total time proportion t F The change step length Δt F , and the change step size Δt F Initial value of By adjusting t F The change step length Δt F The size of t can be used to quickly find the optimal F .
[0211] The QOS optimization process of the WiFi system provided by the embodiment of the present application is described as follows. The QOS optimization of the WiFi system includes distributed QOS optimization and centralized QOS optimization, which are described separately as follows.
[0212] Distributed QOS optimization process.
[0213] like Figure 6 As shown, the method may include but is not limited to some or all of the following steps:
[0214] S101: The QOS scheduling system of the controllable device sets an initial total time proportion and an initial change step size of the file transfer service.
[0215] Here, the total time of file transfer service accounts for t F is the total time proportion of all file transfer services in the WiFi system, and the change step length is Δt Fis the change step of the total time proportion. Initial total time proportion It can be a preset value, such as 0.6, 0.5, 0.3, etc., which is greater than the total time proportion of the file transfer service in the WiFi system when the file transfer service is at the minimum speed limit. It can be 0.1, 0.05, 0.2, 0.01 or other values.
[0216] S102, the total time proportion of the interface service of the controllable device in the non-file transfer service t F Under the effect, the RTT of each non-file transfer service of the server is observed to obtain the observed RTT.
[0217] The RTT of the non-file transfer service observed here is also referred to as the observed RTT value of the non-file transfer service. It should be understood that the total time of the non-file transfer service accounts for t F The total time proportion of all file transfer services in the WiFi system under the action of t F .
[0218] Specifically, the interface service can cache the application layer data packets of each non-file transfer service, record the start time and completion time of each data packet, and record the reception time of the data packet replied by the receiving end, and then calculate the observed RTT of each non-file transfer service. Among them, the difference between the transmission completion time and the start transmission time is t1 in the above formula. The difference between the reception time and the transmission completion time of the replied data packet is t2 above.
[0219] For example, when the screen projection application needs to transmit business data of the screen projection service, it will call the video transmission interface. The video transmission service will cache the application layer data packets sent by the screen projection application, and receive reply data packets from the receiving end (large screen device), and then record or calculate t1 and t2 to obtain the observed RTT of the screen projection service.
[0220] It should be understood that the controllable device can trigger the observation of RTT regularly or periodically. It can also be triggered when the trigger conditions are met. The trigger conditions may include but are not limited to creating a service, closing a service, service information changes, link information changes, detecting a freeze or freeze change, detecting a RTT delay change, etc. Meeting any one of them triggers the observation of RTT. When a controllable device detects that a trigger condition is met, it can send a notification to other controllable devices, and other controllable devices trigger the QOS optimization process in response to the notification.
[0221] It should be noted that in the first observation, the observation is based on the initial total time ratio. The RTT of each non-file transfer service under its own effect, the service information of the service in the WiFi system and the link information of the link need to be collected before observation. At this time, the collected service information does not include the observed RTT of the non-file transfer service, and then based on the initial total time proportion of the file transfer service The speed limit value of its own file transfer service is calculated, and the calculation method is the same as the following step S111. The controllable device limits the speed of its own file transfer service based on the determined speed limit value, and the method is the same as the following S112-S113.
[0222] S103: The interface service of the controllable device sends the detected observed RTT of the non-file transfer service to the information update system.
[0223] Here, the interface service of the controllable device sends the observed RTT of its own non-file transfer service to its information update system.
[0224] S104, the information update system of the controllable device collects the service information of each service of itself and the link information of the link, wherein the service information of the file transfer service includes the identifier of the file transfer service, and the service information of the non-file transfer service includes the identifier of the non-file transfer service and the observed RTT. The link information of the link includes the identifier of the link, the maximum effective rate of the link, etc.
[0225] S105, the information update system of the controllable device sends its own service information and link information to the information update systems of other controllable devices.
[0226] S106, the information update system of the controllable device receives the service information and link information from other controllable devices.
[0227] It should be understood that each controllable device in the WiFi system will execute the above steps S101-S105, so each controllable device will send its own service information and link information to other controllable devices, and will also receive service information and link information from other controllable devices in the WiFi system.
[0228] In another implementation, the controllable device does not need to send all the service information and link information, but only sends the changed service information and link information.
[0229] Exemplarily, when the link to which the controllable device belongs does not change and the maximum effective rate of the link does not change, the controllable device may not send the link information of the link to which it belongs.
[0230] As another example, when the file transfer service of the controllable device is not newly added or closed, the service information of the file transfer service may not be generated.
[0231] As another example, when the link information and the service information of the file transfer service of the controllable device have not changed, the controllable device only sends the identifier and observed RTT of each of its current non-file transfer services.
[0232] S107, after collecting the service information of each service and the link information of each link in the WiFi system, the information update system of the controllable device sends a scheduling request to the QOS scheduling system, wherein the scheduling request includes the service information of each service and the link information of each link in the WiFi system. The services include file transfer services and non-file transfer services. Non-file transfer services include real-time services and delay-sensitive services.
[0233] It should be understood that when the controllable device sends updated service information and link information, the controllable device obtains the service information of each service and the link information of each link in the WiFi system based on the service information and link information received historically and the updated service information and link information currently received.
[0234] S108, the QOS scheduling system of the controllable device responds to the scheduling request and determines whether the WiFi system has reached a stable state. If yes, execute S109, otherwise, execute S110.
[0235] The controllable device determines whether the WiFi system has reached stability based on the observed RTT of each non-file transfer service, which can also be called determining whether the currently observed RTT is stable.
[0236] In one implementation, if there is at least one non-file transfer service whose observed RTT is within the delay stabilization interval, and the observed RTTs of other non-file transfer services are continuously lower than the lower bound of their corresponding delay stabilization interval, it means that the file transfer service maintains a stable transmission speed, and the total time share of the file transfer service remains unchanged, waiting for the next observation. Otherwise, the WiFi system is unstable. Among them, "the observed RTT of a non-file transfer service is continuously lower than the lower bound of its corresponding delay stabilization interval" can be understood as the observed RTT of the non-file transfer service obtained in the last N observations (including this time) is lower than the lower bound of its corresponding delay stabilization interval. For example, N = 2 or 3, etc.
[0237] It can be seen that under this method, there are one or more non-file transfer services in the WiFi system whose observed RTT is within the corresponding delay stability interval. If the total time proportion of the file transfer service is further reduced, it is very likely that the observed RTT of the non-file transfer service is higher than the upper limit of the corresponding delay stability interval. At this time, it can be considered that under the condition that the RTT of the non-file transfer service in the WiFi system meets the requirements, the total time proportion of the current file transfer service is optimal, that is, the bandwidth of the file transfer service is optimal.
[0238] Among them, the delay stability intervals of different non-file transfer services may be different, and the service information of the non-file transfer service may also include the delay stability interval corresponding to the non-file transfer service, or include the target RTT and variable ∈ corresponding to the non-file transfer service. Among them, the target RTT and variable ∈ are used to determine the delay stability interval.
[0239] Exemplarily, the delay stability interval of the non-file transfer service may be: [target_rtt·∈, target_rtt], or may be expressed as target_rtt.∈ to target_rtt. Wherein, target_rtt is the target RTT, and ∈ is a variable greater than 0 and less than 1. In some embodiments, ∈ is a fixed value, such as 0.9 or 0.8, etc., in which case the service information may not include the variable.
[0240] For example, there are 4 non-file transfer services in the WiFi system with delay requirements (i.e., target RTT), which are called service 1, service 2, service 3, and service 4, and their target RTT is [40, 40, 18, 40]. If the variable ∈ of the delay stability interval is 0.9, then the delay stability intervals corresponding to service 1, service 2, service 3, and service 4 are 36-40, 36-40, 16.2-18, and 36-40, respectively. If the observed RTTs of the 4 non-file transfer services are [24.5, 26.5, 17.5, 25.6], it can be seen that service 3 is within its corresponding delay stability interval, and the other services are all below the lower bound of their corresponding delay stability intervals. At this time, the WiFi system remains stable.
[0241] S109, the QOS scheduling system of the controllable device sends an indication message to the interface service, where the indication message is used to indicate waiting for the next round of monitoring of the RTT of the non-file transfer service.
[0242] S110, the QOS scheduling system of the controllable device updates the total time proportion of the file transmission service.
[0243] For the specific implementation, please refer to the following update method, which will not be repeated here.
[0244] S111, the QOS scheduling system of the controllable device calculates the speed limit value of its own file transfer service according to the updated total time proportion of the file transfer service.
[0245] In some embodiments, the speed limit value of the file transfer service is the transmission time of the file transfer service per unit time, also known as the time proportion of the file transfer service.
[0246] For example, the transmission time of the file transmission service (l, a, i) is β l,a,i *t F Among them, β l,a,iAllocate a ratio for the file transfer service (l, a, i).
[0247] Optionally, Where M is the total number of file transfer services in the WiFi system. That is, the allocation ratio of each file transfer service in the WiFi system is the same. The time proportion of file transfer service (l, a, i) is t l,a,i for:
[0248] t l,a,i =*t F / M, or, t l,a,i =*t F / M*P
[0249] Wherein, p is a collision prevention coefficient, and p is related to the number of sending devices of the file transmission service in the WiFi system. Exemplarily, P=1-N / 10, where N is the number of sending devices.
[0250] Alternatively, the file transfer service Among them, R F is the total amount of service data to be transmitted by all file transfer services in the WiFi system, R l,a,i is the total amount of service data to be transmitted by the file transmission service (l, a, i). This method allows large file transmission services to be allocated more transmission time, while small file transmission services to be allocated less transmission time.
[0251] Optionally, the transmission time or allocation ratio of each file transfer service may be allocated based on the highest effective rate of the link where the file transfer service is located.
[0252] In some other embodiments, the speed limit value of the file transfer service is the amount of data transmitted by the file transfer service per unit time, also known as the average throughput of the file transfer service.
[0253] Specifically, the controllable device may determine the speed limit value of each file transfer service based on the time proportion of the file transfer service.
[0254] For example, the speed limit values of the file transfer services on the same link are the same, and the speed limit value V of the file transfer service (l, a, i) on the lth link is l,a,i for:
[0255] V l,a,i =t l,a,i *Y l
[0256] Among them, Y l is the maximum effective rate of the lth link.
[0257] In other embodiments, 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 also be determined based on the size of the file volume or the file type of the file transfer service.
[0258] It should also be understood that the speed limit value of the file transfer service is greater than its corresponding minimum speed limit value. When the speed limit value of the file transfer service determined by the updated total time proportion is less than its minimum speed limit value, its speed limit value is the minimum speed limit value.
[0259] S112, the QOS scheduling system of the controllable device sends the speed limit value of its own file transmission service to the sending system.
[0260] S113, the sending system of the controllable device sends the service data of the corresponding file transfer service based on the speed limit value of its own file transfer service.
[0261] The sending system can control the transmission time of the file transfer service per unit time according to the time proportion of the file transfer service to achieve the speed limit target, or it can achieve the speed limit target by controlling the amount of data transmitted by the file transfer service per unit time.
[0262] Optionally, the QOS scheduling system of the controllable device or each application that creates a non-file transfer service can also send a service demand of the non-file transfer service to the sending system. The sending system of the controllable device can also send the service data of the corresponding file transfer service based on the service demand of its own non-file transfer service. The service demand can include the demanded bandwidth.
[0263] S114: The QOS scheduling system of the controllable device sends indication information to the interface service, where the indication information is used to indicate waiting for the next monitoring of the RTT of the non-file transfer service to find the total time proportion of the file transfer service that makes the WiFi system stable.
[0264] Centralized QOS optimization process.
[0265] like Figure 7 As shown, the method may include but is not limited to some or all of the following steps:
[0266] S201, the QOS scheduling system of the central control device sets an initial total time proportion and an initial change step of the file transfer service.
[0267] S202, the QOS scheduling system of the central control device sends a request to the information update system of the controllable device, where the request is used to instruct the acquisition of service information and link information or to instruct the acquisition of updated service information and link information.
[0268] Optionally, the central control device may send the request periodically, that is, implement periodic QOS optimization, for example, once every 2 minutes or once every 5 minutes.
[0269] Optionally, the central control device may also be triggered when a trigger condition is met, such as when a service information change or a link information change in the WiFi system is monitored, such as when the creation or shutdown of a service or a link transmission rate change is monitored.
[0270] S203: The information updating system of the controllable device sends an observation instruction to the interface service in response to the request.
[0271] S204, the controllable device is an interface service responding to the observation instruction, and the total time of the non-file transfer service accounts for t F The RTT of each non-file transmission service of the controllable device itself is observed under the action of the controllable device, and the observed RTT of each non-file transmission service of the controllable device itself is obtained.
[0272] The specific implementation of observing the RTT of the non-file transmission service can refer to the above S102, which will not be repeated here.
[0273] Among them, in the first observation, the observation is the initial total time ratio The central control device needs to collect the service information of the services in the WiFi system and the link information of the links before observation. The collected service information does not include the observed RTT of the non-file transfer services, and then based on the initial total time proportion of the file transfer services, the central control device collects the service information of the services in the WiFi system and the link information of the links. Calculate the speed limit value of each file transfer service and send the speed limit value of each file transfer service to the respective controllable device. The calculation method is the same as the above step S111. The controllable device limits the speed of its own file transfer service based on the speed limit value. The method is the same as the above S112-S113.
[0274] S205: The service interface of the controllable device sends the detected observed RTT of the non-file transfer service to the information update system.
[0275] S206, the information update system of the controllable device collects the service information of each service of itself and the link information of the link, wherein the service information of the file transfer service includes the identifier of the file transfer service, and the service information of the non-file transfer service includes the identifier of the non-file transfer service and the observed RTT. The link information of the link includes the identifier of the link, the maximum effective rate of the link, etc.
[0276] S207, the information update system of the controllable device sends its own service information and link information to the information update system of the central control device.
[0277] Among them, the central control device is also a controllable device, and its information update system will also collect its own business information and link information.
[0278] It should be understood that each controllable device in the WiFi system will execute the above steps S203-S206, so each controllable device will send its own service information and link information to the central control device.
[0279] In another implementation, the controllable device does not need to send all the service information and link information, but only sends the changed service information and link information.
[0280] Exemplarily, when the link to which the controllable device belongs does not change and the maximum effective rate of the link does not change, the controllable device may not send the link information of the link to which it belongs.
[0281] As another example, when the file transfer service of the controllable device is not newly added or closed, the service information of the file transfer service may not be generated.
[0282] As another example, when the link information and the service information of the file transfer service of the controllable device have not changed, the controllable device only sends the identifier and observed RTT of each of its current non-file transfer services.
[0283] S208, after collecting the service information of each service and the link information of each link in the WiFi system, the information update system of the central control device sends a scheduling request to the QOS scheduling system, wherein the scheduling request includes the service information of each service and the link information of each link in the WiFi system. The services include file transfer services and non-file transfer services. Non-file transfer services include real-time services and delay-sensitive services.
[0284] It should be understood that when the controllable device sends updated service information and link information, the central control device can obtain the service information of each service and the link information of each link in the WiFi system based on the service information and link information received historically and the updated service information and link information currently received.
[0285] S209, the QOS scheduling system of the central control device responds to the scheduling request and determines whether the WiFi system has reached a stable state. If yes, wait for the next observation and execute S202 at the next observation time, otherwise, execute S210.
[0286] The central control device determines whether the WiFi system has reached stability based on the observed RTT of each non-file transfer service, which can also be called determining whether the currently observed RTT is stable. For specific implementation, please refer to the above S108.
[0287] S210, the QOS scheduling system of the central control device updates the total time proportion of the file transmission service.
[0288] For the specific implementation, please refer to the following update method, which will not be repeated here.
[0289] S211, the QOS scheduling system of the central control device calculates the speed limit value of its own file transfer service according to the updated total time proportion of the file transfer service.
[0290] The specific implementation of calculating the speed limit value of the own file transfer service can refer to the above step S111, which will not be repeated here.
[0291] S212: The QOS scheduling system of the central control device sends the speed limit value of the respective file transmission service to the information updating system or the QOS scheduling system of each controllable device.
[0292] Exemplarily, the central control device sends the rate limit value of the file transmission service created by the first controllable device to the first controllable device.
[0293] The central control device may also wait for the next observation after S211 or S212, and trigger the execution of S202 at the next observation time to find the total time proportion of the file transfer service that makes the WiFi system stable.
[0294] S213, the information updating system or the QOS scheduling system of the controllable device sends the speed limit value of its own file transmission service to the sending system.
[0295] S214: The sending system of the controllable device sends the service data of the corresponding file transfer service based on the speed limit value of its own file transfer service.
[0296] The specific implementation is the same as the above step S113 and will not be repeated here.
[0297] The following describes a method for updating the total time proportion of the file transfer service.
[0298] like Figure 8 As shown, the method is executed by each controllable device or central control device in the WiFi system, or by the QOS scheduling system in the controllable device or central control device. The method may include but is not limited to the following parts or steps:
[0299] S1, initializing the time proportion of the file transfer service and its change step. The specific implementation can refer to the above S101, which will not be repeated here.
[0300] S2, obtaining the observed RTT of each non-file transmission service in the WiFi system. The specific implementation can refer to the above S102-S106, which will not be repeated here.
[0301] S3, judging whether the WiFi system is stable based on the observed RTT of each non-file transfer service in the WiFi system, for details, see the above S108. If it is stable, then execute S2, waiting for the next observation of the RTT of the non-file transfer service. On the contrary, if it is unstable, then execute the following steps based on the unstable situation:
[0302] If the observed RTT of at least one non-file transfer service in the most recent observation is greater than the upper limit of the corresponding delay stability interval, the total time proportion of the file transfer service needs to be reduced.
[0303] If the most recently observed RTT of all non-file transfer services is less than the upper bound of the corresponding delay stability interval, the total time proportion of the file transfer service needs to be increased.
[0304] Among them, unstable situations can be divided into the following three types:
[0305] A) The observed RTT of at least one non-file transfer service is continuously higher than the upper bound of the corresponding delay stability interval.
[0306] It should be understood that "there is at least one non-file transfer service whose observed RTT is continuously higher than the upper limit of its corresponding delay stability interval" can be understood as at least one non-file transfer service having an observed RTT higher than the lower limit of its corresponding delay stability interval in the latest N observations (including this one). For example, N=2 or 3. N is also called the number of observation windows.
[0307] It should also be understood that, under the above N observations, the non-file transmission services for which the observed RTT is higher than the upper bound of the corresponding delay stability interval may be different.
[0308] B) The observed RTT of all non-file transfer services is continuously lower than the lower bound of the corresponding delay stability interval.
[0309] It should be understood that "the observed RTT of all non-file transfer services is continuously higher than the upper limit of the corresponding delay stability interval" can be understood as the observed RTT of all non-file transfer services obtained in the last N observations (including this time) is lower than the upper limit of the corresponding delay stability interval. For example, N=2 or 3. N is also called the number of observation windows.
[0310] C) Other situations except situations A and B above.
[0311] Other situations besides situations A and B above include the following:
[0312] ①, in this observation, the observed RTT of all non-file transfer services is less than the lower bound of the corresponding delay stability interval, and the last observation also meets this condition, that is, the observed RTT of all non-file transfer services in the last observation is less than the lower bound of the corresponding delay stability interval, which means that the last observation is the total time proportion t of file transfer services F The operation is to increase, and the increase is insufficient. This observation needs to continue to increase. The total time accounts for t F Change step Δt F The direction of the step does not change, and the step size can be increased, decreased, or unchanged, such as 1.2 times the original, or 0.8 times the original, or unchanged (i.e., Δt F ←Δt F ). The following descriptions are all based on the example of unchanged. The symbol “←” means “changed to”.
[0313] ②, in this observation, the observed RTT of all non-file transfer services is less than the lower bound of the corresponding delay stability interval, and the last observation did not meet this condition (that is, in the last observation, at least one non-file transfer service had an observed RTT higher than the upper bound of the corresponding delay stability interval or the WiFi system was stable). If it is the former, then the last observation accounts for t F The operation is to reduce, and the reduction is excessive. This observation needs to be reversed, that is, the total time proportion t needs to be increased. F , change step Δt F The direction is reversed, and the step size can be reduced, such as 0.5 times the original (i.e. ), or 0.6 times the original. The following is an example of the reverse direction being half of the original. If it is the latter, the last observation is stable for the WiFi system, and the total time accounts for t F unchanged. At this time, the change step size can be the change step size used in the previous observation, or it can be the positive initial change step size or 0.5 times, 0.6 times, etc. of the positive initial change step size.
[0314] ③, in this observation, there is at least one non-file transfer service whose observed RTT is higher than the upper limit of the corresponding delay stability interval, and the last observation also meets this condition, that is, the last observation also has at least one non-file transfer service whose observed RTT is higher than the upper limit of the corresponding delay stability interval, which means that the measure taken after the last observation is to reduce the total time proportion t F , and the t that has decreased since the last observation F Insufficient, this observation needs to be further reduced, the total time accounts for t F Change step Δt F The direction of the step does not change, and the step size can be increased, decreased, or unchanged, such as 1.2 times the original, or 0.8 times the original, or unchanged (i.e., Δt F ←Δt F ). The following explanations are all based on the unchanged state.
[0315] ④, in this observation, there is at least one non-file transfer service whose observed RTT is higher than the upper bound of the corresponding delay stability interval, and the last observation does not meet this condition (that is, the last observation of all non-file transfer services whose observed RTT is lower than the upper bound of the corresponding delay stability interval or the WiFi system is stable). If it is the former, then the last observation is the percentage of the total time t F The operation is to increase, and the increase is excessive. This observation needs to be reversed, that is, the total time proportion t needs to be reduced. F , change step Δt F The direction is reversed, and the step size can be reduced, such as 0.5 times the original (i.e. ), or 0.6 times the original. The following is an example of the reverse direction being half of the original. If it is the latter, the last observation is stable for the WiFi system, and the total time accounts for t F unchanged. At this time, the change step size can be the change step size used in the previous observation, or it can be the negative initial change step size or 0.5 times, 0.6 times, etc. of the negative initial change step size.
[0316] For the above situation A, it means that the total time of file transfer business accounts for too large a proportion and needs to be reduced. Perform the following steps:
[0317] S4, the change step is reset to the negative initial value. That is, Here the symbol "←" indicates "update to".
[0318] Further, S11 is executed to update the total time proportion of the file transmission service based on the determined change step size.
[0319] In case B above, the total time proportion of file transfer business still has a large room for improvement. Perform the following steps:
[0320] S5, the change step is reset to the positive initial value. That is,
[0321] Further, S11 is executed to update the total time proportion of the file transmission service based on the determined change step size.
[0322] For the above situation C, perform the following steps:
[0323] S6, determine whether the observed RTT of all non-file transfer services is lower than the upper limit of the corresponding delay stability interval. If so, it is necessary to increase the total time proportion of the file transfer service, and execute S7; otherwise, there is at least one non-file transfer service whose observed RTT is greater than the upper limit of the corresponding delay stability interval, and execute S8.
[0324] S7, determining whether the current change step is greater than 0.
[0325] Among them, if the current change step is greater than 0 (that is, a positive number), it means that the most recent observation of the total time proportion of the file transfer service is an increase, or the operations of the most recent two observations are respectively an increase and an unchanged. At this time, if the currently observed RTT of all non-file transfer services is lower than the upper limit of the corresponding delay stability interval, it means that the total time proportion of the file transfer service still has room to increase, and the change step can remain unchanged, and the total time proportion of the file transfer service continues to increase, and S9 is executed.
[0326] On the contrary, if the current change step is less than 0 (i.e., a negative number), it means that the most recent observation of the total time proportion of the file transfer service is a decrease, or the operations of the most recent two observations are respectively a decrease and an unchanged. At this time, if the currently observed RTT of all non-file transfer services is lower than the upper limit of the corresponding delay stability interval, it means that the total time proportion of the file transfer service in the last observation has decreased excessively. At this time, the change step needs to be reversed, and S10 is executed.
[0327] S8, determine whether the current change step is less than 0.
[0328] Among them, if the current change step is greater than 0 (that is, a positive number), it means that the operation of the total time proportion of the file transfer service in the most recent observation is an increase, or the operations in the most recent two observations are respectively an increase and an unchanged. At this time, if the currently observed RTT of at least one non-file transfer service is greater than the upper limit of the corresponding delay stability interval, it means that the total time proportion of the file transfer service in the last observation has increased excessively. At this time, the change step needs to be reversed, and S9 is executed.
[0329] On the contrary, if the current change step is less than 0 (i.e., a negative number), it means that the most recent observation of the total time proportion of the file transfer service is a decrease, or the operations of the most recent two observations are respectively a decrease and an unchanged. At this time, if the currently observed RTT of at least one non-file transfer service is greater than the upper limit of the corresponding delay stability interval, it means that the total time proportion of the file transfer service observed in the last observation is insufficient to be reduced. At this time, the change step remains unchanged, and the total time proportion of the file transfer service continues to be reduced, and S10 is executed.
[0330] S9, the change step size is reversed and changed to half of the original one.
[0331] S10, the step size remains unchanged.
[0332] The above steps S7-S10 are not necessary steps. In another implementation, the following method may be used to determine the change step size of this observation.
[0333] When the judgment result of S6 is yes, the change step is Δt F and It should be understood that when ΔtF When it is negative, Δt F minimum, at which point the change step size remains unchanged; when Δt F When is a positive number, The above 1 / 2 can also be replaced by other values between 0 and 1 (excluding 0 and 1).
[0334] On the contrary, when the judgment result of S6 is no, that is, there is at least one non-file transfer service whose observed RTT is greater than the upper bound of the corresponding delay stability interval, the change step size is Δt F and It should be understood that when Δt F When it is a negative number, Maximum, at this time the change step is reversed and is half of the original; when Δt F When Δt is positive, F The above 1 / 2 can also be replaced by other values between 0 and 1 (excluding 0 and 1).
[0335] S11, updating the time proportion of the file transmission service based on the determined change step size.
[0336] Among them, t F ←t F +Δt F .t F It is the proportion of the total time of file transfer business.
[0337] S12: Limit the speed of the file transfer service based on the updated time proportion.
[0338] Getting new t F After that, each controllable device can calculate the speed limit value of its own file transfer service, or the central control device can calculate the speed limit value of each file transfer service in the WiFi system. The specific implementation of determining the speed limit value of the file transfer service can refer to the above S111. Further, the speed limit of the file transfer service based on the speed limit value can be specifically implemented by referring to the above steps S112-S113, or S213-S214.
[0339] The pseudo code for implementing the total time proportion of the above-mentioned update file transfer service is as follows: Fig. 9 As shown in the figure, "observed_rtt" is the observed RTT, "target_rtt" is the upper limit of the delay stability interval, "x+=y" is "x=x+y", "x-=y" is "x=xy", "counter" is the counter, and "window_size" is the size / number of observation windows.
[0340] The optimization process is explained with a specific example as follows:
[0341] In order to clearly illustrate the total time proportion of the above optimized file transfer business t F The specific implementation of t is given as an example F Calculation process. In this example, the WiFi system has four non-file transfer services (i.e., four delay-sensitive services, referred to as four services) called service 1, service 2, service 3, and service 4, respectively, with a delay requirement of [40, 40, 18, 40]. If the variable in the stable interval ∈=0.9, the following initialization parameters are used, t F The initial value is 0.6, and the initial change step size is is 0.1, the stability interval ∈=0.9, the minimum transmission limit is 0.05, and the observation window is 3 (ie, N=3).
[0342] The first observation, t F =0.6, the observed RTTs of the four services are [21, 25, 15, 24]. At this moment, all observed RTTs are less than the lower bound of their corresponding delay stability intervals. Then t F ←t F +Δt F =0.7.
[0343] The second observation, t F =0.7, the observed RTT of the four services becomes [26, 30, 19, 29]. At this time, it can be observed that the observed RTT of a service (service 3) exceeds the upper bound of its corresponding delay stability interval. Then, according to the iteration principle, the step size t F ←t F +Δt F =0.65.
[0344] The third observation, t F =0.65, the observed RTTs of the four services are [24.5, 26.5, 17.5, 25.6]. At this moment, the observed RTT of service 3 is in the corresponding stable delay interval, and the observed RTTs of other services are all lower than the lower bound of the corresponding stable delay interval. F =0.65, the WiFi system remains stable.
[0345] The fourth observation, t F =0.65. Due to the increase in interference, the observed RTTs of the four services become [34.5, 36.5, 20.5, 35.6]. The observed RTT of service 3 exceeds the standard (that is, the observed RTT of service 3 is higher than the upper limit of the corresponding delay stability interval). The step size Δt F ←Δt F =-0.05, tF ←t F +Δt F =0.6.
[0346] The fifth observation, t F =0.60, the observed RTT of the four services becomes [31.5, 35.5, 19.5, 34.6]. At this moment, the observed RTT of one service (service 3) still exceeds the standard (that is, the observed RTT of service 3 is higher than the upper limit of the corresponding delay stability interval). Then, according to the iteration principle, the step size remains unchanged at Δt F ←Δt F =-0.05, t F ←t F +Δt F =0.55.
[0347] The sixth observation, t F =0.55, the observed RTTs of the four services are [30.5, 34.5, 18.5, 33.6]. At this time, it can be observed that the observed RTT of service 3 exceeds the standard. At this time, the service delay exceeds the standard three times in a row. Then, according to the iteration principle, the change step size increases to the negative initial change step size, that is, t F ←t F +Δt F =0.45.
[0348] The seventh observation, t F =0.45, the RTT of the four services is [29.5, 32.5, 17.5, 31.6]. At this time, all services meet the requirements and service 3 is located in the corresponding delay stability interval. At this time, wait for the next observation, t F =0.45, unchanged.
[0349] The eighth observation, t F =0.45, the interference disappears, and the observed RTT of the four services becomes [20, 20, 14, 20]. At this moment, the observed RTT of all services is less than the next term of the corresponding delay stability interval. According to the iteration principle, Then t F ←t F +Δt F =0.475.
[0350] The ninth observation, t F =0.475, the observed RTTs of the four services are [20.3, 21, 15.1, 20.6]. At this moment, the observed RTTs of all services are less than the lower bound of the corresponding delay stability interval. The current Δt F Greater than 0, Δt F ←Δt F =0.025, then tF ←t F +Δt F =0.5.
[0351] The tenth observation, t F =0.5, the observed RTTs of the four services are [21.1, 21.9, 15.8, 21.7]. At this moment, it can be observed that the observed RTTs of all services are less than the next term of the delay stability interval for three consecutive times, Δt F is the positive initial change step size, Then t F ←t F +Δt F =0.6.
[0352] The eleventh observation, t F =0.6, the observed RTTs of the four services are [21, 25, 15, 24]. At this moment, the observed RTTs of all services are less than the lower bound of the corresponding delay stability interval, Δt F unchanged, Δt F ←Δt F =0.1, then t F ←t F +Δt F =0.7.
[0353] Twelfth observation, t F =0.7, the observed RTT of the four services becomes [26, 30, 19, 29]. At this time, it can be observed that the delay of a service (service 3) is higher than the upper bound of its corresponding delay stability interval. Then, according to the iteration principle, the current Δt F greater than 0, t F ←t F +Δt F =0.65.
[0354] Thirteenth observation, t F =0.65, the observed RTTs of the four services are [24.5, 26.5, 17.5, 25.6]. At this moment, the observed RTT of service 3 is in the corresponding stable delay interval, and the observed RTTs of other services are all lower than the lower bound of the corresponding stable delay interval). F =0.65, the WiFi system remains stable.
[0355] In some embodiments, when the triggering condition is met in the WiFi system, a round of RTT observation may also be triggered to trigger the above-mentioned QOS optimization process, that is, Figure 6 Steps S102-S113 or Figure 7 Steps S202-S214. The triggering condition includes at least one of the following:
[0356] Detection of changes in business information, such as detection of business creation or closure;
[0357] Detecting changes in link information, such as detecting changes in WiFi transmission rate;
[0358] Business freeze or freeze level change detected;
[0359] Detection of changes in business requirements;
[0360] RTT change detected.
[0361] Exemplarily, the WiFi driver of the controllable device detects that the WiFi transmission rate of the link has changed. When a device in the WiFi system moves, the WiFi transmission rate of other devices and the device will change, that is, the maximum effective rate of the link with the y mobile device changes. The device can detect its own movement through its own motion sensors, such as accelerometers, gyroscopes, etc. When it is detected that the device moves or the moving distance is greater than a preset threshold, such as 2m, a second message can be sent to the broadband monitoring system, and the second message is used to indicate the device location to send movement.
[0362] It should be understood that each step in the above method embodiment can be completed by an integrated logic circuit of hardware in a processor or by instructions in the form of software. 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.
[0363] 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, so that the electronic device executes the method executed by the central control device in any of the above embodiments.
[0364] 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, so that the electronic device executes the method executed by the transmitter side and / or the receiver side of the controllable device, the controllable link in any of the above embodiments.
[0365] The present application also provides a chip system, which includes at least one processor for implementing the functions involved in the central control device or controllable device in any of the above embodiments.
[0366] In one possible design, the chip system also includes a memory, which is used to store program instructions and data, and the memory is located inside or outside the processor.
[0367] The chip system may be composed of the chip, or may include the chip and other discrete devices.
[0368] Optionally, the processor in the chip system may be one or more. The processor may be implemented by hardware or by software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented by software, the processor may be a general-purpose processor implemented by reading software code stored in a memory.
[0369] Optionally, the memory in the chip system may also be one or more. The memory may be integrated with the processor or may be separately arranged with the processor, which is not limited in the embodiments of the present application. Exemplarily, 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 may be arranged on different chips respectively. The embodiments of the present application do not specifically limit the type of memory and the arrangement of the memory and the processor.
[0370] Exemplarily, the chip system can 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.
[0371] 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 central control device or the controllable device in any of the above embodiments.
[0372] The present application also provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program (also referred to as code or instruction). When the computer program is executed, the computer executes the method executed by the central control device or the controllable device in any of the above embodiments.
[0373] The various implementation modes of the present application can be combined arbitrarily to achieve different technical effects.
[0374] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can 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. The available medium can 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 disk (SSD)), etc.
[0375] Those skilled in the art can understand that to implement all or part of the processes in the above-mentioned embodiments, the processes can be completed by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.
[0376] In short, the above is only an embodiment of the technical solution of this application, and is not intended to limit the protection scope of this application. Any modification, equivalent replacement, improvement, etc. made according to the disclosure of this application shall be included in the protection scope of this application.
Claims
1. A method for optimizing the quality of service (QOS) of a wireless local area network, characterized in that: A first electronic device applied to a wireless fidelity WiFi system, the WiFi system comprising a plurality of electronic devices in the same cell, the plurality of electronic devices including the first electronic device, the plurality of electronic devices forming at least one link, the method comprising: Collecting service information of each service and link information of each link in the WiFi system; the services include non-file transfer services and file transfer services, and the service information of the non-file transfer services includes an observed round-trip delay RTT of the non-file transfer services; Based on the observed RTT of each non-file transfer service in the WiFi system, a first total time proportion of the file transfer service that enables the WiFi system to reach a stable state is determined; the first total time proportion is used to determine a first speed limit value for each file transfer service in the WiFi system.
2. The method according to claim 1, characterized in that Before collecting the service information of each service and the link information of each link in the WiFi system, the method further includes: Under the influence of the second total time proportion of the file transfer service in the WiFi system, the RTT of the first non-file transfer service is observed to obtain the observed RTT of the first non-file transfer service; the first non-file transfer service is the file transfer service of the first electronic device itself; under the influence of the second total time proportion of the file transfer service in the WiFi system, the total time proportion of the file transfer service in the WiFi system is not greater than the second time proportion.
3. The method according to claim 2, characterized in that The method further includes: determining, based on the observed RTT of each non-file transfer service in the WiFi system, a first total time proportion of the file transfer service that enables the WiFi system to reach a stable state, including: Determining whether the WiFi system has reached a stable state based on the observed RTT of each non-file transfer service in the WiFi system; When the WiFi system has not reached a stable state, updating the second total time proportion; The second total time proportion when the WiFi system reaches a stable state is the first total time proportion.
4. The method according to claim 3, characterized in that In the WiFi system, the observed RTT of at least one first non-file transfer service is within the RTT stability interval of the first non-file transfer service, and the observed RTT of each second non-file transfer service in the WiFi system is less than the lower bound of the corresponding RTT stability interval in the most recent N observations. The second non-file transfer service is a non-file transfer service in the WiFi system except the first non-file transfer service, and N is a positive integer.
5. The method according to claim 4, characterized in that When the WiFi system has not reached a stable state, updating the second total time proportion includes: When the WiFi system has not reached a stable state, determining a change step of the second total time proportion based on the observed RTT of the non-file transfer service in the WiFi system observed for the most recent N times; The second total time proportion is updated based on the determined change step size.
6. The method according to claim 5, characterized in that The determining the change step of the second total time proportion based on the observed RTT of the non-file transfer service in the WiFi system observed for the most recent N times includes: If, in the most recent N observations of the WiFi system, there is at least one non-file transfer service whose observed RTT is higher than the upper limit of the corresponding delay stability interval, then the WiFi system satisfies the first condition, and the change step length of the second total time proportion is determined to be a negative initial value; and / or, If the observed RTTs of all non-file transfer services of the WiFi system observed in the most recent N times are all lower than the lower bound of the corresponding delay stability interval, the WiFi system meets the second condition, and the change step of the second total time proportion is determined to be a positive initial value.
7. The method according to claim 6, characterized in that If the WiFi does not satisfy the first condition and does not satisfy the second condition, the step of determining the change step of the second total time proportion based on the observed RTT of the non-file transfer service in the WiFi system observed for the most recent N times further includes: In the most recent observation, the observed RTT of all non-file transfer services of the WiFi system is lower than the upper bound of the corresponding delay stability interval and the current change step is greater than 0, then the direction of the change step is determined to be the opposite of the current change step and the size is not greater than the current change step; In the most recent observation, if the observed RTT of all non-file transfer services of the WiFi system is lower than the upper bound of the corresponding delay stability interval and the current change step is less than 0, the direction of the change step is determined to be the current change step; In the most recent observation, if the observed RTT of at least one non-file transfer service of the WiFi system is higher than the upper bound of the corresponding delay stability interval and the current change step is less than 0, then the direction of the change step is determined to be the opposite of the current change step and the size is not greater than the current change step; In the most recent observation, if the observed RTT of at least one non-file transfer service of the WiFi system is higher than the upper limit of the corresponding delay stability interval and the current change step is greater than 0, then the direction of the change step is determined to be the current change step.
8. The method according to claim 6, characterized in that If the WiFi does not satisfy the first condition and does not satisfy the second condition, the step of determining the change step of the second total time proportion based on the observed RTT of the non-file transfer service in the WiFi system observed for the most recent N times further includes: In the most recent observation, the observed RTT of all non-file transfer services of the WiFi system is lower than the upper bound of the corresponding delay stability interval, and the change step size is determined to be Δt F and -a*Δt F The minimum value of Δt F is the current change step, 0<a<1; or, In the most recent observation, the observed RTT of at least one non-file transfer service of the WiFi system is higher than the upper bound of the corresponding delay stability interval, and the change step size is determined to be Δt F and -a*Δt F The maximum value of the Δt F is the current change step, 0<a<1.
9. The method according to any one of claims 3 to 8, characterized in that: The method further comprises: A second speed limit value for the file transfer service in the WiFi system is calculated based on the updated second total time proportion; the second speed limit value is not less than the minimum speed limit value.
10. The method according to claim 9, characterized in that The calculating the second speed limit value of the file transfer service in the WiFi system based on the updated second total time proportion includes: The time proportion of the first file transfer service is determined based on the updated second total time proportion and the allocation ratio of the first file transfer service; the first file transfer service is any one of the file transfer services in the WiFi system, or is the file transfer service of the first electronic device itself.
11. The method according to claim 10, characterized in that The allocation ratio of each file transfer service in the WiFi system is the same, and the allocation ratio is 1 / M or 1 / M*P, where M is the total number of file transfer services in the WiFi system, and P=1-N / 10, where N is the number of sending devices in the WiFi system.
12. The method according to claim 10 or 11, characterized in that: The second rate limit value of the first file transfer service is the time proportion of the first file transfer service.
13. The method according to claim 10 or 11, characterized in that: The second rate limit value of the first file transfer service is the product of the time proportion of the first file transfer service and the maximum effective rate of the link where the first file transfer service is located.
14. The method according to any one of claims 1 to 12, characterized in that: The collecting of service information of each service and link information of each link in the WiFi system includes: Collecting service information of each service and link information of each link of the first electronic device itself; Sending service information of each service of the first electronic device and link information of each link to electronic devices other than the first electronic device in the WiFi system; The service information of each service and the link information of each link sent by the electronic devices other than the first electronic device in the WiFi system are received.
15. The method according to claim 14, characterized in that The method further comprises: The first speed limit value of the second file transfer service is calculated based on the first total time proportion; the second file transfer service is the file transfer service of the first electronic device itself; The service data of the second file transfer service is delivered based on the first rate limit value of the second file transfer service.
16. The method according to any one of claims 1 to 12, characterized in that: The collecting of service information of each service and link information of each link in the WiFi system includes: Sending a request to an electronic device other than the first electronic device in the WiFi system, wherein the request is used to obtain service information and link information; The service information of each service and the link information of each link sent by the electronic devices other than the first electronic device in the WiFi system are received.
17. The method according to claim 16, characterized in that The method further comprises: Calculate a first speed limit value for each file transfer service in the WiFi system based on the first total time proportion; The first speed limit value of each file transfer service in the WiFi system is sent to the electronic device to which it belongs.
18. An electronic device, characterized in that: include: 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 as described in any one of claims 1-17.
19. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are executed on an electronic device, the electronic device executes the method as described in any one of claims 1 to 17.
Citation Information
Patent Citations
Wireless local area network optimization method, stability detection method and electronic equipment
CN119316856A
Method for measuring maximum effective rate of link and electronic equipment
CN119316864A
Wireless local area network quality of service (QOS) optimization method and electronic equipment
CN119316877A
Wireless local area network quality of service (QOS) optimization method and electronic equipment
CN119316889A