Detailed Description
The technical solutions of the embodiments of the present application will be clearly and thoroughly described below with reference to the accompanying drawings. In the description of the embodiment of the present application, unless otherwise indicated, "/" means or, for example, a/B may represent a or B, and "and/or" in the text is merely an association relationship describing an association object, which means that three relationships may exist, for example, a and/or B, and that three cases of a alone, a and B together, and B alone exist, and further, in the description of the embodiment of the present application, "a plurality" means two or more.
The terms "first," "second," and the like, are used below for descriptive purposes only and are not to be construed as implying or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature, and in the description of embodiments of the application, unless otherwise indicated, the meaning of "a plurality" is two or more.
The following describes terms related to embodiments of the present application.
(1) An Access Category (AC).
Current wireless fidelity (WIRELESSFIDELITY, wiFi) systems mainly use contention mechanisms based on Carrier Sense Multiple Access (CSMA) for distributed inter-device transmission time allocation based on the provision of the standard ieee802.11e standard of wireless local area networks (wireless loadareanetwork, WLAN), while quality of service (quality of service, QOS) required for different transmission services is mainly guaranteed by means of different transmission priorities. The priority among the transmission services is distinguished through different AC queues, the data to be transmitted of the electronic equipment is placed in the corresponding AC queues, channel competition is carried out according to a CSMA mechanism, and data transmission is carried out after a transmission opportunity is obtained.
Fig. 1 is a schematic diagram of a data transmission process in a controllable device according to an embodiment of the present application. The service data of the application layer is mapped into different AC queues after entering the medium access control MAC layer. It should be appreciated that the AC queues are also referred to as priority queues.
The protocol defines 4 kinds of AC queues, which are divided into a voice stream (denoted as ac_vo, also denoted as AC 0), a video stream (denoted as ac_vi, also denoted as AC 1), a best-effort stream (denoted as ac_be, also denoted as AC 2), a background stream (denoted as ac_bk, also denoted as AC 3) according to the order of priority from high to low, so as to ensure that a high-priority classified message preemptively occupies a wireless channel and is transmitted, thereby ensuring that voice, video and other applications have better service quality in a wireless network.
Each AC queue gets the opportunity to transmit through a contention mechanism and is transmitted by the transmitter of the physical layer.
However, the QOS requirements of the application layer service are difficult to be guaranteed based on the prioritization mechanism. For example, in a scenario where the screen-throwing service and the file transmission service coexist, since the file transmission service always has data waiting to be sent before transmission is completed, a plurality of low-priority file transmission services may still excessively occupy the transmission time of the system, so that the data throughput required by the screen-throwing service cannot be satisfied, and a problem of large time delay, even occurrence of queue buffer overflow, and the like occurs. This is because QOS mechanisms based on physical layer transmission priorities cannot understand and enforce the traffic demands of the application layer.
(2) Controllable devices, uncontrollable devices, interfering devices.
The transceiver devices in the WiFi system in the same time space can be defined as controllable devices, uncontrollable devices and interference devices. The device which can cooperate with the device for controlling QOS optimization (also called central control device) to perform QOS optimization or can perform QOS optimization together with other controllable devices is called controllable device, the device which cannot cooperate with central control device to perform QOS optimization or cannot perform QOS optimization together with other controllable devices is called uncontrollable device, and the device which interferes with the cell is called interfering device.
Specifically, the controllable device is a program of the cell, in which the QOS optimization program of the controllable device side in the embodiment of the present application is built, and can execute the device of the method of the controllable device side in the QOS optimization method provided in the embodiment of the present application, and limit the speed of the transmission service at the file on the link based on the speed limit value. The uncontrollable device cannot realize the functions that the controllable device can realize, and may include an Access Point (AP) of the cell, such as a router.
(3) Controllable links, perceivable links, and interfering links.
Wherein a link is a section of data transmission line from one device to another without other switching nodes in between. Links are classified into controllable links, perceivable links, and interfering links based on the device types of the transmitting and receiving ends of the links. The controllable link is a link of which the transmitting end is controllable equipment of the cell, the perceivable link is a link of which the receiving end is controllable equipment of the cell, the interference link is a link of which the receiving end and the transmitting end are uncontrollable equipment of the cell, or the receiving end and the transmitting end are links of the equipment of the interference cell.
(4) The highest effective rate.
In the embodiment of the application, the highest effective rate of one link is the transmission rate which can be achieved by the link when all other controllable links and perceivable links need to transmit data. The highest effective rate may reflect the highest transmission rate that the link can achieve.
The highest effective rate may be used for overall scheduling of WiFi transmissions and channel allocation. The highest effective rate may be measured by shutting down the data transmission of the other controllable, perceivable link. However, this approach is difficult to efficiently measure the highest effective rate of all controllable, perceivable links.
The highest effective rate can also be obtained by the method of joint measurement provided by the embodiments of the present application.
(5) Service type.
In the embodiment of the application, the link is used for transmitting the service in each priority queue, and one priority queue can comprise one or more services. The services running in the application layer can be divided into three classes, including real-time services, delay-sensitive services, and file transfer services, which may also be referred to as non-file transfer services.
The application layer may further divide the real-time services into including a screen-drop service and the like based on finer scenarios, the delay sensitive service may include a voice call service, a video on demand service and the like, and the file transfer service may include a video file transfer service, a text file transfer service, a web page transfer service and the like. It should also be understood that the file transfer service may be further classified into a large file transfer service and a small file transfer service based on the amount of data transferred by the service, and may be referred to as a large file transfer service above a preset threshold, such as 10M and 20M, and may be referred to as a small file transfer service below a preset threshold.
These 3 traffic types are briefly described as follows:
Real-time service, namely generating data to be transmitted in a fixed period. For example, a screen-cast service typically generates one video frame every 16 milliseconds. To ensure real-time traffic transmission, the traffic typically requires a small average transmission delay.
And the time delay sensitive service is used for randomly generating data to be transmitted, and has the requirement on the average transmission time delay of the data.
The file transmission service can determine the content and the data volume of the data to be transmitted when the service is initiated, and can also have the requirement on the transmission completion time (namely the average transmission rate) of the data.
It can be appreciated that, based on the characteristics of each service, the application layer can identify the service type of each service, and can determine the AC queue in which it is located when it is transmitted to the MAC layer based on its corresponding tag label.
(6) QOS model.
According to different service types, the embodiment of the application provides two QOS performance indexes which define average transmission delay and average throughput.
Wherein the average transmission delay is used to measure QOS for real-time traffic and delay sensitive traffic. The definition is that the real-time service or the time delay sensitive service has N data packets to be transmitted, the time for the nth data packet to reach the application layer of the transmitting end is t arr (N), the time for the nth data packet to reach the application layer of the receiving end is t fin (N), and the average transmission delay d aver of the N data packets is as follows:
The average throughput is used for measuring the QoS of the file transmission service, and is defined as follows, if the data volume of the file transmitted by the file transmission service in the time of T unit is R file, the average throughput x aver is:
it should be appreciated that the average throughput of file transfer traffic in embodiments of the present application is also referred to as the average transfer rate.
The embodiment of the application provides a method for optimizing QOS of a wireless local area network, which comprises the steps that a central control device or a simulation platform simulates flow data and throughput corresponding to each service by acquiring service information such as flow characteristics of each service in each AC queue on each link in a WiFi system, and simulates a competition mechanism of the WiFi system based on the flow data and throughput generated by simulation to obtain a speed limit value of a file transmission service when QOS of real-time service and time delay sensitive service is optimal, so that each controllable device limits the speed of the file transmission service on each link based on the obtained speed limit value, thereby improving QOS of the real-time service and time delay sensitive service in the WiFi system and further improving user experience.
The method provided by the embodiment of the application can be applied to scenes with high delay sensitivity or requirements, such as a scene containing a screen-throwing service in a WiFi system or a scene containing services such as video on demand, so as to improve QOS of the services with high delay requirements such as screen-throwing, video on demand, and the like, thereby improving user experience.
See an example diagram of a WiFi system in one application scenario as shown in fig. 2. Illustratively, the WiFi system may include a wireless Access Point (AP) 10 of the present cell, at least one controllable device (e.g., controllable devices 11a-11 e), and at least one uncontrollable device 12a of the present cell. In this scenario, the surrounding of the own cell controllable devices may include devices 16a, 16b interfering with the cell. Wherein the AP 10 is an uncontrollable device of the present cell, such as a router. Wherein 11a-11e are controllable devices 11c, for example.
Links may be formed between the AP 10 and the controllable devices 11a-11e, between the two controllable devices 11a-11e, between the controllable devices 11a-11e and the uncontrollable device 12a, etc.
Illustratively, the links shown in FIG. 2 are formed.
The controllable links are links in which the transmitting end is the controllable device of the cell, such as controllable links 13a, 13b, 13c, and 13d in fig. 2. Illustratively, the controllable link 13a carries video stream traffic, the controllable link 13b carries file transfer traffic, the controllable link 13c carries screen-casting traffic, and the controllable link 13d carries screen-casting traffic.
The perceivable link is a link of which the receiving end is a controllable device of the cell, such as perceivable link 14a in fig. 2. The perceivable link 14a is the reverse link of the controllable link 13b carrying video streaming traffic.
The interference link is the uncontrollable equipment of the cell, or the equipment of the interference cell, wherein the transmitting end and the receiving end are both the uncontrollable equipment of the cell. Such as interfering links 15a, 15b in fig. 2. Wherein the interfering link 15a carries voice call traffic.
The traffic carried by each link is illustratively shown above, and it should be understood that one link may carry one or more traffic, and fig. 2 above is illustrated as a traffic example.
In the embodiment of the application, the set of controllable links is Lc, the set of perceivable links is Ls, and the total set of controllable links and perceivable links is L, namely Lc n Ls.
It should be appreciated that the above-described AP 10, controllable devices 11a-11e and uncontrollable device 12a operate in the same cell, also referred to as being located in the same cell, also referred to as the "own cell" or "cell to be tested".
It should also be appreciated that in some embodiments, a central control device may be included in the WiFi system, which may be one of the controllable devices 11a-11e, which may perform the functions of the controllable devices.
The controllable devices 11a-11e may include devices that are assigned to the same Basic Service Set (BSS) or to an Extended Service Set (ESS) and may also include devices that operate in the same WiFi channel for direct transmission, such as WiFi direct (WIFIDIRECT) devices.
The controllable device or the central control device can be an intelligent terminal device and can be of various types, and the embodiment of the application is not limited to the specific type. For example, the electronic device may be a mobile phone, and may further 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 (augmented reality, AR) device, a Virtual Reality (VR) device, an artificial intelligence (ARTIFICIAL INTELLIGENCE, AI) device, a car set, a smart headset, a game set, an internet of things (internet of things, IOT) device, or a smart home device such as a smart television, and the like. The controllable device may also include, but is not limited to, a non-portable terminal device such as a laptop computer (laptop) having a touch-sensitive surface or touch panel, a desktop computer having a touch-sensitive surface or touch panel, and the like.
Not limited to the system shown in fig. 2, in other WiFi systems, a perceptible link may not be included.
It should be noted that, unless specifically stated otherwise, the system referred to as "WiFi system" in the following embodiments of the present application does not include an interfering link, and it is the QOS of the WiFi system composed of a controllable link and a perceivable link that is optimized. The term "link" refers hereinafter to a controllable link or a perceivable link, unless otherwise specified.
See an architecture diagram of a communication system as shown in fig. 3. Illustratively, the communication system may include the WiFi system and the simulation platform described above. Alternatively, the simulation platform may be the same device as the central control device in the WiFi system.
The WiFi system comprises S controllable devices, a central control device and at least one uncontrollable device which are located in the same cell. Wherein, links are formed between the S controllable devices, the central control device or between the S controllable devices and at least one uncontrollable device.
Fig. 3 illustrates an example comprising 3 controllable devices and 2 uncontrollable devices. It should also be understood that the central control device itself may also be a controllable device, implementing the functions of the controllable device.
The controllable device is used for acquiring the flow characteristics of each service in each AC queue on the corresponding link and sending service information such as the flow characteristics to the central control device.
The central control equipment is used for sending the traffic information such as the flow characteristics and the link information of WiFi collected from the controllable equipment to the simulation platform.
The simulation platform is used for simulating and generating flow data and throughput corresponding to each service based on the service information such as the flow characteristics of each service in each AC queue on each link in the WiFi system, simulating the competition mechanism of the WiFi system, obtaining the speed limit value of the file transmission service which enables the QOS of the real-time service and the time delay sensitive service to be optimal, and sending the optimized speed limit value of the file transmission service to the central control equipment.
And the central control equipment distributes the speed limit value of the file transmission service to the corresponding controllable equipment.
The controllable device is used for limiting the speed of the corresponding file transmission service based on the speed limiting value of the file transmission service on the corresponding link so as to improve QOS of the real-time service and the time delay sensitive service.
It should be understood that fig. 3 is merely exemplary, and in other embodiments, the communication system may not include an uncontrollable device, and the simulation platform may be the same device as the central control device.
The method for optimizing the QOS of the wireless local area network of the link provided by the embodiment of the application is introduced as follows.
As shown in fig. 4, a flowchart of a method for optimizing QOS of a wireless local area network according to an embodiment of the present application is implemented based on the communication system shown in fig. 3, and the method may include, but is not limited to, some or all of the following steps.
And S10, the central control equipment acquires link information of the WiFi system.
The link information of one link includes, but is not limited to, the number of controllable links, the transmitting end and the receiving end, the number of perceivable links, the transmitting end and the receiving end, and the like. The link information of all links is the link information of the WiFi system.
The central control device can send an instruction to the controllable devices in the Wifi system, and each controllable device responds to the instruction to send link information of a corresponding link to the central control device after receiving the instruction. The central control device can know the network structure of the WiFi system based on the link information of the WiFi system.
And S11, the central control equipment transmits link information of the WiFi system to the simulation platform.
And S12, the central control equipment sends a first instruction to the controllable equipment of each link.
And S13, the application layer of the controllable equipment responds to the first instruction to acquire the service information of the corresponding link. The traffic information includes traffic characteristics for each traffic in each priority queue on the controllable device corresponding to the link.
Wherein the traffic characteristic of a service is characteristic of the amount of data generated by the service. Based on the traffic characteristics it is possible to know how much data the traffic generates at what time. The application layer of the controllable device can determine the AC queues which the controllable device can enter when the controllable device enters in the MAC layer based on tag identification of service data, and the application layer can also detect data volume generated at any time, so that the traffic characteristics of the service on each AC queue can be determined.
Optionally, the service information of the link further includes the number of services transmitted by the link, service type, service identifier, etc. The number of services can be used for central control to know the total number of services transmitted in the current WiFi system so as to determine whether to collect relevant information of the required services. The types of traffic can be divided into three categories including real-time traffic, delay-sensitive traffic, and file transfer traffic, which may also be referred to as non-file transfer traffic.
Illustratively, the controllable device on the nth link transmits traffic characteristics of traffic on the nth link to the central control device. n is a positive integer, and n is not greater than the total number of links in the WiFi system.
And S14, the application layer of the controllable equipment transmits service information of the corresponding link to the central control equipment.
At this time, the central control apparatus collects traffic information of each link (i.e., the perceivable link and the controllable link).
In addition, the central control device also gathers or determines the highest effective rate of the links based on the actual transmission rate or negotiated rate of the respective links.
In some embodiments, the maximum effective rate of the link may be determined based on the negotiated rate of the link, e.g., 70% of the negotiated rate, at which point the method may further include, prior to S15, the controllable device of the link also needing to send the negotiated rate or the maximum effective rate of the corresponding link to the central control device.
In other embodiments, the maximum effective rate of the link may also be determined based on the actual transmission rate of each service in each priority queue on all links, and in particular, reference may be made to the method for measuring the maximum effective rate of the link provided in the embodiments of the present application, which is not described herein.
And S15, the central control equipment transmits the service information of each link and the highest effective rate to the simulation platform.
S16, the simulation platform determines the network structure of the simulated WiFi system according to the link information of the WiFi system, generates corresponding flow data according to the flow characteristics of each service in each priority queue on all links in the WiFi system in a simulation mode, and sets the throughput of each service on each link according to the highest effective rate of each link.
Illustratively, any one service is denoted by a service (l, a, i), l being an index of a link, a being an index of a priority queue, i being an index of a service, i.e., (l, a, i) representing an ith service in an a priority queue on a first link of the at least one link. The simulation platform generates flow data corresponding to the business (l, a, i) according to the flow characteristics of the business (l, a, i), and the generated flow data has the same flow characteristics as the original business data.
It should be understood that a e (1, 2,3, 4), where the 1 st priority queue is AC 0, the 2 nd priority queue is AC 1, the 3 rd priority queue is AC 2, and the 4 th priority queue is AC 3.
In addition, the throughput (i.e., throughput or transmission rate) of each service is set based on the highest effective rate of the link. The sum of the throughput of all traffic on each link is no greater than the highest effective rate for that link.
S17, simulating a CSMA competition mechanism of the WiFi system by the simulation platform, limiting the speed of the corresponding file transmission service based on the current speed limiting value of each file transmission service, and calculating QOS of each non-file transmission service on each link.
When the QOS of each non-file transmission service is initially calculated, the current speed limit value of each file transmission service is an initial value. The initial value may be a minimum speed limit or other value.
When the simulation platform simulates a CSMA competition mechanism of the WiFi system based on the current speed limit value of each file transmission service, parameters required by QOS calculation of each service can be acquired.
Illustratively, the non-file transfer includes real-time traffic and delay sensitive traffic for which QOS is the average transfer delay. The simulation platform needs to obtain the time for each data packet in the flow data corresponding to each real-time service and time delay sensitive service to reach the application layer of the transmitting end and the time for each data packet to reach the application layer of the receiving end. The definition of the term "a" or "an" is,For the set of all real-time traffic on all links,Is a set of all real-time traffic on all links.
For the followingIts QOS can be expressed asCan be calculated by the above formula (1).
For the followingIts QOS can be expressed asIt can also be calculated by the above formula (1).
Wherein, The current speed limit value of M file transmission services in the WiFi system is represented, the current speed limit value is a vector containing M elements, the included elements are the current speed limit value of each file transmission service, and M is a positive integer. In some embodiments, the M file transfer services are all file transfer services in the WiFi system,Transmitting a set of traffic for files in all links, forThe speed limit is denoted as x l,a,i. At this time, the liquid crystal display device,
In other embodiments, the M file transfer services are a collection of large file transfer services in a WiFi system, where,For a collection of large file transfer services in a WiFi system, forThe speed limit is denoted as x l,a,i. At this time, the liquid crystal display device,The embodiment of the application takes M file transmission services as all file transmission services in a WiFi system as an example for illustration.
Optionally, in the simulated WiFi system, the throughput data of each service and the current speed limit value of the file transmission service meet the following conditions:
Where R l,a,i is the amount of data (i.e., throughput or transmission rate) transmitted per unit time for the analog traffic (i, a, i), γ l is the highest effective rate for the first link, For the collection of file transfer traffic in all links, x l,a,i is the speed limit for traffic (l, a, i). In case the above conditions are met, the simulated WiFi system is stable. l is a positive integer and is not greater than the total number of links in the WiFi system.
And S18, the simulation platform calculates a target value and a gradient value of the target value according to the current speed limit value of each file transmission service and the QOS of each non-file transmission service on each link obtained by calculation in the current speed limit value.
Specifically, the objective function is:
wherein the optimization variable is Can be expressed as (x 1,x2,…,xj,…,xM), wherein x j represents the speed limit value of the jth file transfer service in the WiFi system, j and M are positive integers, and j is less than or equal to M.
As shown in FIG. 5, the current speed limit value of M file transfer services isThe target value and the gradient value of the target value are calculated as follows:
s181, calculating file speed limit value based on objective function The target value at that time, that is,
The file speed limit value is the speed limit value of M file transmission services.
S182 of determining file speed limit valueIs related to the disturbance quantity of (2)Where ε m represents the machine accuracy.
S183, simulating the speed limit value of the WiFi system in the file to beCSMA competition mechanism when calculating file speed limit value asTarget value at the time
Specifically, the current file-rate-limit value of the jth file-transfer service in an emulated WiFi systemIncreasing the disturbance quantityAt this time, the file speed limit value becomesCalculating the file speed limit value asWhen the QOS of each non-file transmission service on each link in the WiFi system is calculated, the target value when disturbance is added to the jth file transmission service is calculated based on the calculated QOS and the target function of each non-file transmission service, namely
It should be understood that initially j=1.
Wherein, Is a vector whose dimensions sumSimilarly, only the j-th element is 1, and the other elements are 0.
S184, judging whether j is equal to M, if not, executing S186 if not, executing S185.
S185, in addition, j=j+1, repeating steps S183-S184 until j is equal to the total number M of file transfer services in the WiFi system. M is alsoTotal number of file transfer traffic.
When j=m, the target values of the M file transfer services when each disturbance is performed can be calculated:
and S186, calculating a gradient value of the target value. When the disturbance amount is applied to the jth file transfer service, the change amount of the target value can be expressed as:
It should be understood that the above formula (4) can calculate the change amount of the target value corresponding to each dimension, that is, each file transfer service, based on the above formula. The gradient value of the target value includes the change amounts of the target values corresponding to the M file transfer services, respectively.
And S19, the simulation platform judges whether the target value is converged according to the gradient value of the target value, if not, the simulation platform executes S20, and if so, the simulation platform executes S21.
And S20, updating the speed limit value of each file transmission service by the simulation platform according to the gradient value of the target value, and further executing S17-S19.
Wherein, alpha (t) is step length and is fixed value.
In addition, the speed limit value of each file transmission service before and after optimization is larger than the corresponding minimum speed limit value, namely:
Is the minimum speed limit value of the file transfer service (l, a, i). The minimum speed limit value may be the same or different for different file transfer services. For example, the minimum speed limit value for file transfer services is a value greater than 0, such as 1Mbps, 2Mbps, 5Mbps, 10Mbps, or other values. By limiting the minimum speed limit value, the transmission rate of each file transmission system with the speed not smaller than the minimum speed limit value can be ensured, and the file transmission service is prevented from being completely unable to be transmitted.
And optimizing the objective function based on the gradient descent method, and finding the speed limit value of each file transmission service when the target value of the objective function is minimum. It should be understood that the method is not limited to the gradient descent method, and the speed limit value of each file transmission service when the target value of the objective function is minimized can be calculated by other linear regression solving methods, which are not described herein.
S21, the simulation platform outputs the current speed limit value of each file transmission service.
After multiple optimizations, if the target value converges, the optimization is completed, and the obtained speed limit value of each file transmission service is a solution for making the target value minimum, and is also a solution for making QOS of real-time service and delay sensitive service in the WiFi system optimal. The current speed limit value of the file transmission service output after optimization is the target speed limit value of M file transmission services.
S22, the simulation platform sends the current speed limit value of each file transmission service on each link to the central control equipment.
The simulation platform sends the obtained optimal solution, namely the output speed limit value of the file transmission service, to the central control equipment.
And S23, the central control equipment sends the current speed limit value of each file transmission service on the corresponding link to the controllable equipment.
Illustratively, the central control device sends the speed limit value of each file transfer service of the nth link to the controllable device on the nth link.
And S24, the application layer of the controllable equipment limits the speed of the corresponding file transmission service based on the current speed limit value of each file transmission service on the corresponding link.
Illustratively, the controllable device on the nth link rate limits each file transfer service on the nth link based on the current rate limit value for that file transfer service. In particular, the method comprises the steps of,For a set of file transfer services transmitted on the nth link, forAnd using the current speed limit value corresponding to the service (n, a, i) to limit the speed of the service (n, a, i). It should be understood that the present application is speed limiting at the application layer, and the speed of the service (n, a, i) is controlled by the application layer during the sending-down speed or the first duration, so that the speed of reaching the MAC layer is not greater than the current speed limiting value corresponding to the service (n, a, i).
The simulation platform and the central control device may be the same device, and in this case, data transmission and reception between the simulation platform and the central control device are not required.
The following describes an optimization method of the wireless local area network after calculating the speed limit value of the file service. As shown in the flowchart of fig. 6, the method is implemented by the system shown in fig. 2, and may include, but is not limited to, some or all of the following steps:
and S231, the central control equipment sends the speed limit value of each file transmission service on the nth link to the first controllable equipment (such as the transmitting end of the nth link).
S241, the application layer of the first controllable device (such as the transmitting end of the nth link) limits the speed of each file transmission service based on the received speed limit value of the file transmission service.
Specifically, for any file transmission service, the service is used as a serviceIn the case of an example of this,For the collection of the file transmission services transmitted on the nth link, after receiving the speed limit value of the file transmission service (n, a, i), the application layer of the transmitting end can limit the issuing speed of the file transmission service (n, a, i), or the data quantity issued in unit time, so that the data quantity issued in unit time is not greater than the speed limit value of the file transmission service (n, a, i).
And S232, the central control equipment transmits the speed limit value of each file transmission service on the mth link to the second controllable equipment (the receiving end of the mth link).
And S242, the application layer of the second controllable device (the receiving end of the mth link) limits the speed of each file transmission service based on the speed limit value of the file transmission service.
Because the transmitting end of the mth link is uncontrollable equipment, the transmitting end of the mth link can send the speed limit value of each file transmission service to the receiving end of the mth link, and the receiving end can limit the speed of the file transmission service after receiving the speed limit value of the file transmission service. Specifically, for any file transmission service, the service is used as a serviceIn the case of an example of this,For the collection of the file transmission service transmitted on the mth link, after receiving the speed limit value of the file transmission service (m, a, i), the application layer of the receiving end can limit the issuing rate of the file transmission service (m, a, i), or the data volume issued in unit time, so that the data volume issued in unit time is not greater than the speed limit value of the file transmission service (m, a, i).
In another implementation, when the actual transmission rate of the received file transmission service is greater than the speed limit value or the data volume in the first duration is greater than the data volume determined by the speed limit value, the transmitting end of the mth link sends a notification of suspending the file transmission service to the receiving end of the mth link.
It should be appreciated that steps S232, S242 are not required steps and in some embodiments, the file transfer rate of the perceptible link may not be rate-limiting.
The optimization method of the wireless local area network provided by the embodiment of the invention improves the stability of real-time service and time delay sensitive service on the premise of ensuring the minimum transmission rate of the file transmission rate, thereby improving the stability of the WiFi system.
In other embodiments, to reduce the amount of computation, especially when the simulation platform and the central control device are the same device, the central control device is a terminal device, and only the large file transfer service may be optimized, i.e. only the large file transfer service is limited in speed. At this time, the liquid crystal display device,For a set of file transfer traffic on all links, the set of file transfer traffic on all links is, by way of example,The method can be a file transmission service with the actual file transmission quantity larger than a preset value (such as 2Mbps, 5Mbps or other values) or the actual file transmission rate larger than the preset rate in all file transmission services, namely a set of large file transmission services,May beThe file transmission service with the actual file transmission quantity not larger than the preset value or the actual file transmission rate not larger than the preset rate is the collection of small file transmission services. It will be appreciated that the number of components,Can only optimizeSpeed limit value of file transmission service forThe maximum file restriction value of the file transfer service of (c) may be set to a fixed value.
At this time, the objective function is:
The optimization variable is
The above method can be adopted to solve forMinimum ofAnd obtaining the speed limit value of each large file transmission service. It should be understood that in this case, in the optimization process, the speed limit value of the small file transmission service is unchanged, for example, is the minimum speed limit value, or the small file transmission service does not perform speed limit.
At this time, the first controllable device or the second controllable device may control the speed limit value of the small file transmission service to be a minimum speed limit value or not to speed limit the small file transmission service, and the speed limit value of the large file transmission service to be a speed limit value that makes the target value optimal.
The optimization method for the QOS of the wireless local area network improves the QOS of the real-time service and the time delay sensitive service on the premise of guaranteeing the minimum transmission rate of the file transmission rate, reduces the time delay of the real-time service and the time delay sensitive service, and improves the user experience in the scene of the time delay sensitive service including screen throwing and the like.
It should also be understood that the above method for optimizing QOS of a wireless local area network may be applied to a WiFi system that does not include a perceptible link, where "links" in the above method embodiment are all controllable links, and the above method for optimizing QOS may not execute steps related to the perceptible link, which is not described herein in detail.
Fig. 7 is a schematic flow chart of a method for optimizing QOS of a wireless local area network according to an embodiment of the present application, where the method is implemented based on the WiFi system shown in fig. 2, and the method may include, but is not limited to, some or all of the following steps.
The embodiment of the application is illustrated by taking the controllable device of any link in the WiFi system, that is, the controllable device of the first link as an example, and it should be understood that each controllable device in the WiFi system may perform the method shown in fig. 7.
And S101, the controllable equipment of the first link acquires link information of the WiFi system.
The controllable device of the first link may send the link information of its own link, such as the identity of the first link, the identity of the transmitting end and/or the receiving end of the first link, etc., to the controllable devices of the other links. The controllable device of the first link may also receive link information of other links. The controllable device of each link in the WiFi system sends the link information of the respective link to other devices, and can also receive the link information sent by other links.
And S102, the controllable equipment of the first link acquires service information and the highest effective rate of the first link, wherein the service information comprises the flow characteristics of each service in each priority queue on the first link.
And S103, the controllable equipment of the first link receives the service information and the highest effective rate of each link sent by the controllable equipment of the other links, wherein the service information comprises the flow characteristics of each service in each priority queue on each link.
The other links are links except the first link in the WiFi system. The specific implementation of the controllable device of the first link or the controllable device of the other link to obtain the flow characteristic may refer to the above step S13 and will not be described herein.
The controllable devices of the first link may also send traffic information and the highest effective rate of the first link to the controllable devices of the other links.
Wherein the highest effective rate of the link may be determined based on the negotiated rate of the link, such as 70% of the negotiated rate.
In other embodiments, the maximum effective rate of the link may also be determined based on the actual transmission rate of each service in each priority queue on all links, and in particular, reference may be made to the method for measuring the maximum effective rate of the link provided in the embodiments of the present application, which is not described herein.
And S104, the controllable equipment of the first link determines the network structure of the simulated WiFi system according to the link information of the WiFi system, generates corresponding flow data according to the flow characteristic simulation of each service in each priority queue on all links in the WiFi system, and sets the throughput of each service on each link according to the highest effective rate of the links.
S105, the controllable equipment of the first link simulates a CSMA competition mechanism of the WiFi system, limits the speed of the corresponding file transmission service based on the current speed limit value of each file transmission service, and calculates QOS of each non-file transmission service on each link.
And S106, the controllable equipment of the first link calculates a target value and a gradient value of the target value according to the current speed limit value of each file transmission service and the QOS of each non-file transmission service on each link calculated in the current speed limit value.
And S107, the controllable equipment of the first link judges whether the target value is converged according to the gradient value of the target value. If not, S108 is executed, otherwise, the current file speed limit value is optimal, and S109 is executed.
And S108, the controllable equipment of the first link updates the speed limit value of each file transmission service according to the gradient value of the target value.
The specific implementation of S104-S108 may be referred to the specific implementation of S16-S18, and will not be described herein.
And S109, the controllable equipment of the first link limits the speed of the file transmission service based on the speed limit value of each file transmission service on the first link.
After multiple optimizations, if the target value converges, the optimization is completed, and the obtained speed limit value (also referred to as a target speed limit value) of each file transmission service in the WiFi system is a solution for making the target value minimum, and is also a solution for making QOS of real-time service and delay sensitive service in the WiFi system optimal. The controllable device of the first link can find out the speed limit value of each file transmission service on the current first link, and further speed limit is carried out on the file transmission service based on the speed limit value of each file transmission service.
The specific implementation of speed limitation may be referred to the specific implementation of S24, S241 and S242, which are not described herein.
It should be understood that the controllable device of each link may be optimized by using the method of S101-S109 to obtain a speed limit value of each file transmission service in the WiFi system, and further, speed limit the file transmission service based on the speed limit value of the file transmission service.
It should also be understood that the controllable device of each link may only optimize the speed limit value of the large file transmission service, and use the minimum speed limit value or other speed limit values to limit the speed for the small file transmission service, or not limit the speed, so as to reduce the amount of calculation of optimization and improve the optimization efficiency.
The measurement method of the most effective link according to the embodiment of the present application is described as follows.
In the embodiment of the application, the highest effective rate can be used for overall scheduling and channel allocation of WiFi transmission. The highest effective rate may be measured by shutting down the data transmission of the other controllable, perceivable link. However, this approach is difficult to efficiently measure the highest effective rate of all controllable, perceivable links.
In one implementation, the highest effective rate for a link may be determined based on a modulation and coding strategy (modulation and coding scheme, MCS) negotiation rate over the link.
Illustratively, the highest effective rate γ l for the first link is:
γl=Vl*ρ
wherein V l is the negotiated rate of the first link, 0< ρ <1. Wherein the coefficient ρ is 0.7.
In another implementation, the highest effective rate of the link may be measured separately, or may be obtained by a method of joint measurement of multiple links provided by an embodiment of the present application.
The joint measurement method of the highest effective rate of the link provided by the embodiment of the application is described in four implementation modes as follows.
The implementation mode is as follows:
As shown in fig. 8, a flow chart of a method for measuring a highest effective rate according to an embodiment of the present application is shown, and the method is implemented based on the WiFi system shown in fig. 2, and the method may include, but is not limited to, some or all of the following steps.
And S31, the central control equipment identifies the number of controllable links to be tested.
In a specific implementation, each controllable device in the cell may communicate with the central control device and report the identifier of the device connected to the central control device, and the central control device may identify the number and the set of controllable links and the number and the set of perceivable links in the cell according to the information reported by each controllable device.
And S32, the central control equipment sends a first instruction to the controllable equipment corresponding to each link.
The first instruction is used for indicating the highest effective rate of the controllable link to be tested.
The central control device can autonomously and regularly send the first instruction, and can trigger the test flow after receiving the speed measurement request sent by the controllable device.
The controllable links to be tested may be all or part of the controllable links in the WiFi link.
For example, when one controllable device corresponds to a plurality of controllable links, only one of the controllable links may be tested at a time, and the plurality of controllable links may respectively make a plurality of measurements. In some embodiments, the central control device may send a test notification to the controllable device, and after receiving the test notification, the controllable device sends information to the central device, where the information indicates whether the controllable device participates in the test, or sends an identification of a link or an identification of a device that participates in the test. It should be appreciated that in some embodiments, the identity of the link may be indicated by both the identity of the transmitting end and the identity of the receiving end.
In the following description of the first embodiment of the present application, except for the specific description, the "controllable link" is the controllable link that participates in the test this time, that is, the controllable link to be tested.
And S33, the transmitting end of the controllable link responds to the received first instruction and pauses data transmission on the AC queues except the preset AC queue.
The test module at the transmitting end of the controllable link may suspend data transmission on an AC queue other than the preset AC queue, for example, if the preset AC queue is an AC2 queue, data transmission on AC 0, AC1, and AC3 is suspended.
In other embodiments, the transmitting end of the controllable link may also suspend data transmission on all current AC queues, but only transmit test data on preset AC queues.
And S34, the receiving end of each perceivable link pauses the current data receiving and transmitting in response to the received first instruction.
In one implementation, the receiving end of the perceivable link may send a notification message to its sending end to notify the sending end to suspend sending information, or may turn off WiFi.
And S35, the transmitting end of each controllable link transmits test data through the controllable link, wherein the test data enables the preset AC queue not to be empty or full.
The transmitting end of each controllable link transmits test data on the corresponding controllable link. Step S35 may include:
S351, after receiving the first instruction, the test module in the application layer of the transmitting end issues test data, wherein the test data can enable the preset AC queue to be fully loaded.
The test data may be, for example, file data having a data amount greater than a first threshold, which is placed in the AC2 queue at the MAC layer. The first threshold may be 500M.
Also illustratively, the test data is voice data of a first duration that is placed into the AC1 queue at the MAC layer.
And S352, the MAC layer of the transmitting end puts the test data into a preset AC queue, so that the preset AC queue is not empty or full.
And S353, sequentially acquiring data to be transmitted from a preset AC queue by a transmitter in a hardware layer of the transmitting end.
Since only the preset AC queue has data, only the data to be transmitted will be acquired from the preset AC queue. It should be understood that, in addition to the transmission from the test data, the data to be transmitted may also include data that is issued to a preset AC queue in the service operated by the current application layer.
S354, a transmitter in a hardware layer of the transmitting end transmits the acquired data to be transmitted to the receiving end.
And S36, the transmitting end of each controllable link acquires the actual transmission rate on the preset AC queue.
Specifically, a test module of an application layer of the transmitting end obtains an actual transmission rate of the application layer.
And S37, the transmitting end of each controllable link transmits the corresponding actual transmission rate of the respective controllable link to the central control equipment.
The actual transmission rate corresponding to one controllable link is the actual transmission rate of the transmitting end of the controllable link on the preset AC queue, that is, the actual transmission rate of the controllable link on the preset AC queue.
The central control apparatus calculates the highest effective rate of each controllable link according to the number of controllable links and the actual transmission rate of each controllable link.
It should be appreciated that when each transmitting end is transmitting data only on the same AC queue at full load, if the unit slot lengths counted down in the transmitting end of each controllable link are identical, the transmission times contended by the respective transmitting ends are substantially identical. The highest effective rate for a controllable link can be calculated by the following formula.
The highest effective rate γ l for the first controllable link in the set of controllable links is:
γl=l*|Lc|
Wherein R l is the actual transmission rate of the first controllable link, lc is the set of controllable links, lc is the number of links in the set of controllable links, l is a positive integer, and l is less than or equal to Lc.
The set Lc of controllable links is a set of controllable links participating in speed measurement. It should be understood that the links (controllable links and perceivable links) in the cell, which do not participate in the speed measurement, need to suspend data transmission and reception, and resume data transmission and reception after the speed measurement is completed.
Based on the above formula, the central control device may calculate the highest effective rate for each controllable link.
And S39, the central control equipment sends the highest effective rate corresponding to each controllable link to the transmitting end of each controllable link.
That is, the central control device sends the highest effective rate of the first controllable link to the transmitting end of the first controllable link.
In some embodiments, the central control device may send a first instruction to the transmitting end of the controllable link and a second instruction to the receiving end of the perceivable link, where the second instruction is used to instruct the receiving end of the perceivable link to suspend transmitting and receiving data. And after receiving the second instruction, the receiving end of the perceivable link pauses the receiving and transmitting of the current service data.
In some embodiments, when there is a controllable device not participating in the test within the system, the central control device may send a third instruction to the controllable device not participating in the test, the third instruction being for instructing it to suspend data transceiving.
In the method of the first embodiment, when the plurality of controllable links jointly measure speed, data transmission on other AC queues of the transmitting end of each controllable link is suspended, and data transmission and reception of data by the receiving end on the perceivable link are suspended, the transmitting end of each controllable link only transmits data on the same preset AC queue, so that transmission time obtained by competition at the transmitting end of each controllable device is basically consistent, and therefore, the highest effective rate of each controllable link is the product of its actual transmission rate and the number of controllable links. The measuring method is simple and has high speed measuring efficiency.
The implementation mode II is as follows:
As shown in fig. 9, a flow chart of a method for measuring a highest effective rate according to an embodiment of the present application is shown, and the method is implemented based on the WiFi system shown in fig. 2, and the method may include, but is not limited to, some or all of the following steps.
And S41, negotiating with other controllable devices by the transmitting end of the first controllable link to determine the number of controllable links to be tested.
The first controllable link may be any controllable link in the WiFi system, and is a link to be tested. The controllable devices can negotiate to determine whether to participate in the measurement of the highest effective rate through interaction information. For example, a first controllable device may act as an initiator, a notification of the test may be broadcast to each controllable device, and other controllable devices may, upon receiving the notification, broadcast information indicating whether the controllable device is engaged in the test, and/or an identification of a link or device engaged in the test. At this time, each controllable device can know the controllable devices participating in the test in the WiFi system and the number of controllable links participating in the test, that is, the number of controllable links to be tested.
S42, the transmitting end of the first controllable link transmits a first instruction to controllable devices corresponding to other links.
The transmitting end of the first controllable link serves as an initiator, and after the data of the controllable link to be tested is determined through negotiation, a first instruction can be sent to each controllable device. The first instruction is for indicating to test the actual transmission rate or for indicating to test the highest effective rate. The controllable equipment comprises a transmitting end of a controllable link and a receiving end of a perceivable link in the WiFi system.
And S43, the transmitting end of the first controllable link pauses data transmission on the AC queues except the preset AC queue.
After the transmitting end of the first controllable link transmits the first instruction, data transmission on the AC queues except the preset AC queue can be suspended. For example, assuming the AC queue is an AC2 queue, transmission of data on AC 0, AC1, and AC3 is suspended.
In other embodiments, the transmitting end of the first controllable link may also suspend data transmission on all current AC queues, and only transmit test data on the preset AC queue.
And S44, the transmitting end of the other controllable links to be tested responds to the first instruction, and data transmission on the AC queues except the preset AC queue is suspended.
In the same way as in step S43, after the transmitting end of the other controllable link to be tested transmits the first instruction, the data transmission on the AC queue except the preset AC queue may be suspended.
S45, the receiving end of the perceivable link and the transmitting end of the controllable link which does not participate in the test respond to the received first instruction to pause the current data receiving and transmitting.
And after receiving the first instruction, the receiving end of each perceivable link and the transmitting end of the controllable link which does not participate in the test pause data receiving and transmitting.
And S46, the transmitting end of the first controllable link transmits test data through the first controllable link, wherein the test data enables the preset AC queue not to be empty or full.
After S43, the transmitting end of the first controllable link may execute step S46 to send the test data through the first controllable link, and the specific implementation may refer to steps S351-S354 in the foregoing embodiment, which is not described herein again.
And S47, the transmitting end of the first controllable link acquires the actual transmission rate of the first controllable link on the preset AC queue, and calculates the highest effective rate of the first controllable link according to the number of controllable links to be tested and the actual transmission rate of the first controllable link on the preset AC queue.
Specifically, the highest effective rate of the first controllable link is the product of the actual transmission rate of the first controllable link on the preset AC queue and the number of controllable links to be tested.
And S48, transmitting test data by the transmitting ends of other controllable links to be tested through the respective controllable links, wherein the test data enable the preset AC queue not to be empty or full.
After S44, the transmitting ends of the other controllable links to be tested may execute step S48, and the transmitting ends transmit the test data through their respective controllable links, and the specific implementation may refer to steps S351-S354 in the foregoing embodiment, which is not described herein again.
And S49, the transmitting ends of other controllable links to be tested acquire the actual transmission rates of the controllable links on the preset AC queue, and the highest effective rates of the controllable links are calculated according to the number of the controllable links to be tested and the actual transmission rates of the controllable links on the preset AC queue.
The same method as the calculation method of the highest effective rate of the first controllable link is adopted, and the transmitting ends of other controllable links to be tested can respectively calculate the respective highest effective rates.
It will be appreciated that the highest effective rate of the controllable link to be tested needs to be maintained while testing, i.e. steps S47 and S49 need to be performed within the same time period. The transmitting end of each controllable link to be tested may agree on the time of transmitting test data, for example, the transmission of test data may be performed at a first time period after the transmission of data on the AC queues other than the preset AC queue is completed, and the measurement of the actual transmission rate of the controllable link on the preset AC queue may be performed after a second time period from the time of transmitting test data. To ensure simultaneous measurement of the highest effective rate of each controllable link as much as possible.
According to the method, when the controllable links are used for measuring the speed in a combined mode, data transmission on other AC queues of the transmitting end of each controllable link is suspended, and data transmission and reception of the receiving end on the perceivable link are suspended, the transmitting ends of the controllable links only transmit data on the same preset AC queues, so that transmission time obtained by competition at the transmitting ends of the controllable devices is basically consistent, and therefore the highest effective rate of each controllable link is the product of the actual transmission rate of each controllable link and the number of the controllable links. The measuring method is simple and has high speed measuring efficiency.
Moreover, the highest effective rate of each controllable link can be measured in a distributed manner, so that the data transmission between different devices is reduced, and the communication overhead is further reduced.
It should be noted that, the maximum effective rates of the link between the two devices and the reverse link thereof are not greatly different, and the reverse link of the controllable link is a controllable link or a perceivable link, so it may be assumed that the maximum effective rate of the perceivable link is equal to the maximum effective rate of the reverse link (controllable link) thereof, and at this time, the maximum effective rate of the perceivable link may be tested by testing the reverse link thereof. When the highest effective rate of the perceivable link needs to be measured, the controllable link to be tested comprises the reverse link of the perceivable link to be tested.
And the implementation mode is three:
as shown in fig. 10, a method for measuring a highest effective rate according to an embodiment of the present application is implemented based on the WiFi system shown in fig. 2, and the method may include, but is not limited to, some or all of the following steps.
The central control apparatus identifies the number of controllable links among the links to be tested S61.
In a specific implementation, each controllable device in the cell may communicate with the central control device, report the identifier of the device connected to the central control device, and the identifier of the receiving end or the transmitting end of the corresponding link, where the central control device may identify, according to the information reported by each controllable device, the number and the set of controllable links participating in the speed measurement, and the set and the number of controllable links or the controllable links not participating in the speed measurement.
Optionally, the central control device also collects the number of perceivable links, and the identity of the transmitting and receiving end of each perceivable link.
In some embodiments, the links to be tested may be all or part of the controllable links in the WiFi link.
For example, when one controllable device corresponds to a plurality of controllable links, only one of the controllable links may be tested at a time, and the plurality of controllable links may respectively make a plurality of measurements. In some embodiments, the central control device may send a test notification to the controllable device, and after receiving the test notification, the controllable device sends, to the central device, an identifier of a link that is used by the controllable device to indicate whether to participate in the information of the present test to participate in the test. It should be appreciated that in some embodiments, the identity of the link may be indicated by both the identity of the transmitting end and the identity of the receiving end.
In the following description of the second embodiment of the present application, except for the specific description, the "controllable links" are all controllable links that participate in the test at this time.
And S62, the central control equipment sends a first instruction to controllable equipment corresponding to the link to be tested.
Wherein the first instruction is to instruct testing of the highest effective rate of the controllable link. The controllable equipment corresponding to the link to be tested comprises a transmitting end corresponding to the controllable link to be tested and a receiving end corresponding to the perceptible link to be tested.
The central control device can autonomously and regularly send the first instruction, and can trigger the test flow after receiving the speed measurement request sent by the controllable device.
And S63, the application layer of the transmitting end of the controllable link responds to the received first instruction and transmits test data, wherein the test data enables the preset AC queue not to be empty or full.
Optionally, the transmitting end of the controllable link may keep transmitting data on each AC queue currently, but increase data transmission of test data on a preset AC queue, for example, if the preset AC queue is an AC2 queue, keep transmitting data on AC 0, AC1 and AC3, and increase transmission of test data on the AC2 queue, so that the AC2 queue is not empty or full.
Optionally, the controllable device participating in the speed measurement may further send indication information for indicating to the central control device to participate in the speed measurement. The transmitting end of the controllable link participating in the speed measurement can execute S63-S65, and the transmitting end of the perceivable link participating in the speed measurement can execute S66-S67.
Alternatively, the controllable device not participating in the speed measurement may send indication information for indicating not participating in the speed measurement to the central control device, and suspend transmitting and receiving data. In step S61, the central control device may acquire, based on the indication information, a controllable device participating in the speed measurement, the number and set of controllable links, the number and set of perceivable links, and the like.
The transmitting end of each controllable link is added with test data on the corresponding controllable link. Step S63 may include:
s631, after receiving the first instruction, the test module in the application layer of the transmitting end issues test data, where the test data may cause the preset AC queue not to be empty.
The preset AC queue is also called a preset priority queue, and may be any priority queue. The test data is data generated by the application layer or stored by the application layer, and when the data reaches the MAC layer, the data is mapped into a preset AC queue.
Illustratively, the preset AC queue is AC2, and the test data may be file data with a data amount greater than the first threshold, and the file data is placed in the AC2 queue at the time of the MAC layer. The first threshold may be 500M.
Also exemplary, the AC queue is preset to be AC1, and the test data is voice data of a first duration, which is put into the AC1 queue at the MAC layer.
The embodiment of the application is illustrated by taking the example of testing the file data of which the data enables the AC2 queue to be transmitted at full load.
S632, the MAC layer of the transmitting end puts the test data into a preset AC queue, so that the preset AC queue is not empty or full.
It should be understood that the transmitting end is sending traffic normally, and when the traffic data arrives at the MAC layer, the MAC layer maps the traffic data to the corresponding AC queue according to the tag identifier in the traffic.
And S633, the hardware layer of the transmitting end acquires data to be transmitted from the AC queue according to a competition mechanism.
S634, the hardware layer of the transmitting end sends the acquired data to be transmitted to the receiving end.
The 4 AC queues (i.e., AC0, AC1, AC2, and AC 3) and the CSMA mechanism perform channel contention, and after obtaining the transmission opportunity, the transmission opportunity is transmitted through a transmitter in the hardware layer.
And S64, a test module in an application layer of a transmitting end of the controllable link acquires the actual transmission rate on each AC queue.
The actual transmission rate may be an actual average transmission rate, i.e. an average rate at which data is transmitted on an AC queue.
And S65, the application layer of the transmitting end of the controllable link sends the obtained actual transmission rate on each AC queue to the central control equipment. At this time, each controllable link to be tested sends the actual transmission rate on each AC queue acquired by the controllable link to the central control device, that is, the central control device acquires the actual transmission rate on each AC queue on each link.
And S66, the receiving end of the perceivable link responds to the first instruction to acquire the actual transmission rate of the corresponding transmitting end on each AC queue. Here, a perceptible link refers to a perceptible link that participates in a test.
In one implementation, an application layer at a receiving end of each of the test-participating perceptible links maintains transmission of current traffic data in response to a received first instruction and obtains an actual transmission rate on each of the AC queues.
Illustratively, the receiving end of the mth perceivable link obtains an actual transmission rate of the transmitting end of the mth perceivable link on each AC queue. At this time, the transmitting end of the mth perceivable link keeps the original data receiving and transmitting unchanged.
And S67, the receiving end of the perceivable link transmits the respective acquired actual transmission rate on each AC queue to the central control equipment. It should be appreciated that S66-S67 may be sent after S62 and before S68.
In some embodiments, when there is a controllable device not participating in the test within the system, the central control device may send a third instruction to the controllable device not participating in the test, the third instruction being for instructing it to suspend data transceiving.
And S68, the central control equipment calculates the highest effective rate of each controllable link according to the number of the controllable links, the actual transmission rates of the transmitting ends of all the controllable links to be tested on each AC queue and the actual transmission rates of the transmitting ends of all the controllable links participating in the test on each AC queue.
Wherein, the preset AC queue is the b-th AC queue in the 4 AC queues, b is a positive integer not greater than 4, and the highest effective rate gamma l of the first controllable link is calculated based on the following formula:
Wherein, for the set of the perceivable links participating in the test, for the set of the controllable links to be tested, m is the index of the perceivable links in Ls, n and l are the indexes of the controllable links in Lc, S1 is the set of 4 AC queues, S2 is the set of AC queues except the preset AC queue (b-th AC queue) in the 4 AC queues, a, b are the indexes of the AC queues in the set S1,
R m,a is the actual transmission rate of the mth perceivable link on the a-th AC queue in the set S1, R n,a is the actual transmission rate of the nth controllable link on the a-th AC queue, R l,b is the actual transmission rate of the first controllable link on the b-th AC queue, mu l is the proportion of the transmission time occupied by the queue priority of the first controllable link to be tested in the time occupied by all controllable link priorities to be tested, gamma m is the highest effective rate of the mth controllable link to be tested, gamma n is the highest effective rate of the nth controllable link to be tested, gamma l is the highest effective rate of the first controllable link to be tested, m, n are positive integers, m is less than or equal to L, n is less than or equal to L, l is less than or equal to L, L is the number of controllable links in L, and L is the number of perceivable links in L is L.
It should be understood that a e (1, 2,3, 4), where the 1 st priority queue is AC 0, the 2 nd priority queue is AC 1, the 3 rd priority queue is AC 2, and the 4 th priority queue is AC 3.
Illustratively, when the preset AC queue is an AC 2 queue, the highest effective rate γ l for the first controllable link is calculated based on the following formula:
At this point, R l,1 is the actual transmission rate of the first controllable link on the AC1 queue.
Optionally, when there is no error in the length of the countdown slot for each controllable device,
In a specific calculation process, γ m may be known, obtained by a method of measuring speed alone, or based on MCS negotiation rate determination, each obtained R m,a、Rn,a is substituted into the above formula, and |lc| equations may be obtained. The Lc equations are concatenated to obtain the highest effective rate for the Lc controllable links (i.e., each controllable link in the set Lc).
Illustratively, γ m of the mth perceptible link multiplies the MCS negotiation rate for that perceptible link by a coefficient, which may be 70%, which is an empirical value obtained based on the test in the present embodiment.
Based on the above formula, the central control device may calculate the highest effective rate for each controllable link.
And S69, the central control equipment transmits the highest effective rate corresponding to each controllable link to the transmitting end of each controllable link.
It should be understood that the central control device sends the highest effective rate of the first controllable link to the transmitting end of the first controllable link.
In the third embodiment, while measuring the highest effective rate, other services can perform data transmission, and the data transmission with high priority is not greatly affected, and meanwhile, a plurality of controllable links can simultaneously perform speed measurement, so that the speed measurement overhead is reduced, and the speed measurement efficiency is improved.
The implementation mode is four:
As shown in fig. 11, a flow chart of a method for measuring a highest effective rate according to an embodiment of the present application is shown, and the method is implemented based on the WiFi system shown in fig. 2, and the method may include, but is not limited to, some or all of the following steps.
And S71, negotiating the transmitting end of the first controllable link with other controllable devices to determine the number of controllable links to be tested.
The first controllable link may be any controllable link in the WiFi system, and is a link to be tested. The controllable devices can negotiate to determine whether to participate in the measurement of the highest effective rate through interaction information. For example, a first controllable device may act as an initiator, a notification of the test may be broadcast to each controllable device, and other controllable devices may, upon receiving the notification, broadcast information indicating whether the controllable device is engaged in the test, and/or an identification of a link or device engaged in the test. At this time, each controllable device can know the controllable devices participating in the test in the WiFi system and the number of controllable links participating in the test, that is, the number of controllable links to be tested.
And S72, the transmitting end of the first controllable link transmits a first instruction to controllable equipment corresponding to other links.
The transmitting end of the first controllable link serves as an initiator, and after the data of the controllable link to be tested is determined through negotiation, a first instruction can be sent to each controllable device. The first instruction is for indicating to test the actual transmission rate or for indicating to test the highest effective rate. The controllable equipment comprises a transmitting end of a controllable link and a receiving end of a perceivable link in the WiFi system.
And S73, the controllable equipment of the link which does not participate in the test pauses the current data receiving and transmitting in response to the first instruction.
The controllable equipment of the links which do not participate in the test comprises a receiving end of each perceivable link which do not participate in the test and a transmitting end of each controllable link which do not participate in the test, and the controllable equipment of the links which do not participate in the test pauses data receiving and transmitting after receiving a first instruction.
While none of the links involved in the test need to suspend the transmission of data, this allows its traffic to be uninterrupted.
And S74, the transmitting end of the first controllable link transmits test data through the first controllable link, wherein the test data enables the preset AC queue not to be empty or full.
After S73, the transmitting end of the first controllable link may execute step S74 to send the test data through the first controllable link, and the specific implementation may refer to steps S631-S634 in the foregoing embodiment, which is not described herein again.
And S75, transmitting test data by the transmitting ends of other controllable links to be tested through the respective controllable links, wherein the test data enable the preset AC queue not to be empty or full.
After S73, the transmitting end of the first controllable link may execute step S75 to send the test data through the respective controllable links, and the specific implementation may refer to steps S631-S634 in the foregoing embodiment, which is not described herein again.
In some implementations, the receiving end of the perceivable link participating in the test may send test data over its reverse link, which test data causes the preset AC queue not to be empty or full. At this time, the transmitting end of the controllable link to be tested includes the reverse link of the controllable link participating in the test.
In some implementations, the receiving end of the perceivable link participating in the test may not send the test data, or request the corresponding transmitting end to send the test data, and after the transmitting end of the controllable link to be tested issues the test data, the actual transmission data of each perceivable link on each AC queue may be measured, so as to further execute S78.
And S76, the transmitting end of the first controllable link transmits actual transmission data of the first controllable link on each AC queue to the transmitting ends of other controllable links to be tested.
Specifically, after the transmitting end of the first controllable link transmits the test data, the transmitting end of the first controllable link may measure actual transmission data of the first controllable link on each AC queue, and further transmit the actual transmission data of the first controllable link on each AC queue to the transmitting ends of other controllable links to be tested.
And S77, the transmitting end of each other controllable link to be tested transmits actual transmission data of the corresponding controllable link on each AC queue to the transmitting end of the other controllable link.
Specifically, after the transmitting end of each other controllable link to be tested transmits the test data, the transmitting end of each other controllable link to be tested may measure the actual transmission data of the respective controllable link on each AC queue, and further, transmit the actual transmission data of the first controllable link on each AC queue to the transmitting end of the other controllable links to be tested.
The receiving end of each of the perceived links involved in the test may send the actual transmission data of the respective perceived link on each AC queue to the transmitting end of the controllable link S78.
Specifically, after steps S74 and S75, the receiving end of each of the perceivable links participating in the test may measure the actual transmission data of the respective perceivable link on each AC queue, and further send the actual transmission data of the respective perceivable link on each AC queue to the transmitting end of the controllable link.
In some embodiments, the controllable devices of the respective links involved in the test may send or broadcast actual transmission data of the respective links on each AC queue to the controllable devices of the other links involved in the test or to the other controllable devices.
In other embodiments, only the controllable links may be allowed to participate in the test, where all of the perceptible links and the controllable links not participating in the test need to cease transceiving data.
After steps S76-S78, the controllable devices of each controllable link to be tested collect the actual transmission data of each link participating in the test (including the controllable links to be tested and the perceptible links participating in the test) on each AC queue in the WiFi system. Further, S79 may be performed.
And S79, calculating the highest effective rate of each controllable link according to the number of controllable links to be tested, the actual transmission rate of all controllable links to be tested on each AC queue and the actual transmission rate of all the perceivable links participating in the test on each AC queue.
Specific implementation may be referred to S68 above, and will not be described here again. The transmitting end of the controllable link to be tested can calculate the highest effective rate of all controllable links to be tested, and the highest effective rate of the link can be found out from the highest effective rate.
It will be appreciated that the highest effective rate of the controllable links to be tested needs to be maintained at the same time as the test, i.e. the respective controllable devices simultaneously acquire the actual transmission rate of the respective links on each AC-queue. The transmitting end of each controllable link to be tested and the receiving end of the perceivable link can agree on the time for measuring the actual transmission rate, and the method can also be executed after a third time length is passed when the first instruction is received or sent, so that the actual transmission rate of each link is ensured to be measured simultaneously as much as possible.
In the fourth embodiment, while measuring the highest effective rate, other services can perform data transmission, and the data transmission with high priority is not greatly affected.
Moreover, the highest effective rate of each controllable link can be measured in a distributed manner, so that the data transmission between different devices is reduced, and the communication overhead is further reduced.
The electronic equipment provided by the embodiment of the application is described below.
Fig. 12 is a schematic hardware structure of an electronic device 100 according to an embodiment of the present application. The electronic device 100 may be a controllable device, a central control device or a simulation platform in the foregoing method embodiments, for executing the method executed by the controllable device, the central control device or the simulation platform in the foregoing method embodiments.
Figure 12 is a schematic diagram of a hardware architecture of an electronic device suitable for use with the present application,
The electronic device 100 may include a processor 101, memory 102, wireless communication module 103, mobile communication module 104, antenna 103A, antenna 104A, and the like. The wireless communication module 103 may include a WLAN communication module, a bluetooth communication module, and the like. The plurality of portions may transmit data over a bus.
The processor 101 may include one or more processing units, for example, the processor 101 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (IMAGE SIGNAL processor, ISP), a controller, a video codec, a digital signal processor (DIGITAL SIGNAL processor, DSP), a baseband processor, and/or a neural network processor (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors.
Memory 102 may be used to store computer executable program code, which may include instructions. The processor 101 executes instructions stored in the memory 102 to perform various functional applications and data processing of the electronic device 100, for example, to perform a method performed by a central control device, a controllable device, or a simulation platform in a QOS optimization method for a wireless lan according to an embodiment of the present application.
The wireless communication function of the electronic device 100 can be realized by an antenna 103A, an antenna 104A, a mobile communication module 104, a wireless communication module 103, a modem processor, a baseband processor, and the like.
The antenna 103A and the antenna 104A may be used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device 100 may be used to cover a single or multiple communication bands. Different antennas may also be multiplexed to improve the utilization of the antennas. For example, antenna 103A may be multiplexed into a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 104 may provide a solution for wireless communication, including 2G/3G/4G/5G, as applied to the electronic device 100. The mobile communication module 104 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA), or the like. The mobile communication module 104 may receive electromagnetic waves from the antenna 104A, filter and amplify the received electromagnetic waves, and then transmit the electromagnetic waves to a modem processor for demodulation. The mobile communication module 104 may also amplify the signal modulated by the modem processor, and the amplified signal is converted into electromagnetic waves by the antenna 104A and radiated. In some embodiments, at least some of the functional modules of the mobile communication module 104 may be provided in the processor 101. In some embodiments, at least some of the functional modules of the mobile communication module 104 may be provided in the same device as at least some of the modules of the processor 101.
The modem processor may include a modulator and a demodulator. The modulator is used for modulating the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used for demodulating 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. The low frequency baseband signal is processed by the baseband processor and then transferred to the application processor. In some embodiments, the modem processor may be a stand-alone device. In other embodiments, the modem processor may be provided in the same device as the mobile communication module 104 or other functional module, independent of the processor 101.
The wireless communication module 103 may provide solutions for wireless communication including wireless local area network (wireless local area networks, WLAN), bluetooth (BT), global navigation satellite system (global navigation SATELLITE SYSTEM, GNSS), frequency modulation (frequency modulation, FM), near Field Communication (NFC), infrared (IR), etc. applied to the electronic device 100. The wireless communication module 160 may be one or more devices that integrate at least one communication processing module. The wireless communication module 103 receives electromagnetic waves via the antenna 103A, modulates the electromagnetic wave signals, filters the electromagnetic wave signals, and transmits the processed signals to the processor 101. The wireless communication module 103 may also receive a signal to be transmitted from the processor 101, frequency modulate it, amplify it, and convert it to electromagnetic waves for radiation via the antenna 103A.
In some embodiments, antenna 104A of electronic device 100 is coupled to mobile communication module 104 and antenna 103A of electronic device 100 is coupled to wireless communication module 103 such that electronic device 100 may communicate with a network and other devices via wireless communication techniques.
It should be understood that the illustrated structure of the embodiment of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the application, electronic device 100 may include more or fewer components than shown, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
In the embodiment of the present application, the wireless communication module 103 may be used for WiFi connection between electronic devices, and transmission of data such as data or instructions.
The operations performed by the various devices in the electronic apparatus 100 may be specifically referred to in the description related to the foregoing method embodiments, and will not be further detailed herein.
The software system of the electronic device 100 may employ a layered architecture, an event driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture. The embodiment of the present application exemplifies a mobile operating system with a layered architecture, and illustrates a software structure of the electronic device 100.
Fig. 13 is a software configuration block diagram of the electronic device 100 according to the embodiment of the present application.
The layered architecture divides the software into several layers, each with distinct roles and branches. The layers communicate with each other through a software interface. In some embodiments, the mobile operating system is divided into four layers, from top to bottom, an application layer, an application framework layer/core services layer, a system library and runtime, and a kernel layer, respectively.
The application layer may include a series of application packages.
As shown in fig. 13, the application package may include applications such as cameras, calendars, calls, maps, navigation, WLAN, bluetooth, music, video, short messages, etc. The WLAN may include the test module in the first embodiment or the second embodiment.
The application framework layer provides an application programming interface (application programming interface, API) and programming framework for the application of the application layer. The application framework layer includes a number of predefined functions.
As shown in fig. 13, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.
The window manager is used for managing window programs.
The content provider is used to store and retrieve data and make such data accessible to applications.
The view system includes visual controls, such as controls to display text, controls to display pictures, and the like.
The telephony manager is for providing communication functions of the electronic device.
The resource manager provides various resources for the application program, such as localization strings, icons, pictures, layout files, video files, and the like.
The notification manager allows the application to display notification information in a status bar, can be used to communicate notification type messages, can automatically disappear after a short dwell, and does not require user interaction.
The runtime may refer to all code libraries, frameworks, etc. that are needed by the program to run.
The system library may include a plurality of functional modules. Such as surface manager (surface manager), media library (Media Libraries), three-dimensional graphics processing library (e.g., openGL ES), 2D graphics engine (e.g., SGL), etc.
The surface manager is used to manage the display subsystem and provides a fusion of 2D and 3D layers for multiple applications.
Media libraries support a variety of commonly used audio, video format playback and recording, still image files, and the like. The media library may support a variety of audio and video encoding formats, such as MPEG4, h.264, MP3, AAC, AMR, JPG, PNG, etc.
The three-dimensional graphic processing library is used for realizing three-dimensional graphic drawing, image rendering, synthesis, layer processing and the like.
The 2D graphics engine is a drawing engine for 2D drawing.
The kernel layer is a layer between hardware and software. The inner core layer at least comprises a display driver, a camera driver, an audio driver and a sensor driver.
In the embodiment of the present application, when the electronic device is a controllable device, the application layer may further include a module or a unit for implementing a function implemented by the application layer of the controllable device in the above-described QOS optimization method of a wireless local area network.
In the embodiment of the present application, when the electronic device is a controllable device, the application layer may further include a test module, configured to implement a function implemented by the test module in any one of the foregoing implementation manners one to four.
It should be understood that the steps in the above-described method embodiments may be accomplished by integrated logic circuitry in hardware in a processor or instructions in the form of software. The steps of the method disclosed in connection with the embodiments of the present application may be embodied directly in a hardware processor for execution, or in a combination of hardware and software modules in the processor for execution.
The application also provides an electronic device, which may include a memory and a processor. The processor may be configured to call the computer program in the memory, so that the electronic device executes the method executed by the central control device side in any of the above embodiments.
The application also provides an electronic device, which may include a memory and a processor. The processor may be configured to call the computer program in the memory, so that the electronic device executes the method executed on the simulation platform side in any of the above embodiments.
The application also provides an electronic device, which may include a memory and a processor. The processor may be configured to invoke the computer program in the memory, so that the electronic device performs the method performed by the controllable device, the transmitting side and/or the receiving side of the controllable link in any of the embodiments described above.
The application also provides a chip system comprising at least one processor for implementing the functions involved in the central control device, the controllable device or the simulation platform in any of the above embodiments.
In one possible design, the system on a chip further includes a memory to hold program instructions and data, the memory being located either within the processor or external to the processor.
The chip system may be formed of a chip or may include a chip and other discrete devices.
Alternatively, the processor in the system-on-chip may be one or more. The processor may be implemented in hardware or in software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, or the like. When implemented in software, the processor may be a general purpose processor, implemented by reading software code stored in a memory.
Alternatively, the memory in the system-on-chip may be one or more. The memory may be integral with the processor or separate from the processor, and embodiments of the present application are not limited. The memory may be a non-transitory processor, such as a ROM, which may be integrated on the same chip as the processor, or may be separately provided on different chips, and the type of memory and the manner of providing the memory and the processor are not particularly limited in the embodiments of the present application.
Illustratively, the chip system may be a field programmable gate array (field programmable GATE ARRAY, FPGA), an Application Specific Integrated Chip (ASIC), a system on chip (SoC), a central processing unit (central processor unit, CPU), a network processor (network processor, NP), a digital signal processing circuit (DIGITAL SIGNAL processor, DSP), a microcontroller (micro controller unit, MCU), a programmable controller (programmable logic device, PLD) or other integrated chip.
The present application also provides a computer program product comprising a computer program (which may also be referred to as code, or instructions) which, when executed, causes a computer to perform the method performed by the central control apparatus, the controllable apparatus or the simulation platform in any of the embodiments described above.
The present application also provides a computer-readable storage medium storing a computer program (which may also be referred to as code, or instructions). The computer program, when executed, causes the computer to perform the method performed by the central control device, the controllable device, or the simulation platform in any of the embodiments described above.
The embodiments of the present application may be arbitrarily combined to achieve different technical effects.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions in accordance with the present application are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may 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 may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Drive (SSD)), etc.
Those of ordinary skill in the art will appreciate that implementing all or part of the above-described method embodiments may be accomplished by a computer program to instruct related hardware, the program may be stored in a computer readable storage medium, and the program may include the above-described method embodiments when executed. The storage medium includes a ROM or a random access memory RAM, a magnetic disk or an optical disk, and other various media capable of storing program codes.
In summary, the foregoing description is only exemplary embodiments of the present application and is not intended to limit the scope of the present application. Any modification, equivalent replacement, improvement, etc. made according to the disclosure of the present application should be included in the protection scope of the present application.