WLAN communication method, client, computing device and storage medium

CN119343952APending Publication Date: 2025-01-21SIEMENS AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280096991.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-06-27
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

Existing WLAN technology is difficult to meet the requirements of low latency and low jitter in industrial applications, especially in the periodic communication mode of the Profinet industrial Ethernet protocol. The iPCF scheduling mechanism has complexity and unavoidable delay problems, and the client is Data exchange may fail when executing functions.

Method used

Based on the iPCF scheduling scheme, the function execution time window and retention time window mechanisms are introduced. After receiving the polling response message, the client enters the function execution time window to execute the function, and postpones the execution of non-urgent functions within the retention time window. Set the NAV value to control the client's channel access to ensure the stability of data exchange.

Benefits of technology

It reduces the possibility of data exchange failure due to performing other functions, reduces communication delay and jitter, is suitable for multiple generations of WLAN standards, has low cost and does not require additional hardware, and complies with the normal behavior of WLAN standards.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119343952A_ABST
    Figure CN119343952A_ABST
Patent Text Reader

Abstract

The invention relates to a WLAN communication method, a client, a computing device and a storage medium. The WLAN communication method comprises the following steps: a client receives a polling request message from an access point; the client checks whether the client is a polled client or not; if the client is a polled client, sending a polling response message to the access point; the client enters a function execution time window, when the time for executing one function reaches during the function execution time window, the function is executed, and the function execution time window starts from the time after the client sends the polling response message to the time before the retention time window starts; the retention time window starts from a starting point of a security time window to ends after a predicted next polling response message is sent, and the security time window is a time period which is not less than the execution time of the function to be executed before the start of the next polling cycle.
Need to check novelty before this filing date? Find Prior Art

Description

WLAN communication method, client, computing device and storage medium Technical Field

[0001] The present disclosure generally relates to the field of wireless communication technology, and more particularly to a WLAN communication method, a client, a computing device, and a storage medium. Background Art

[0002] The use of wireless communications in industry has become increasingly common due to improvements in performance and mobility. Unlike consumer products, wireless industrial devices have higher requirements for low latency and low jitter. However, conventional WLAN technology is inherently unsuitable for time-sensitive industrial applications due to a number of factors, such as the random channel access mechanism of CSMA / CA (Carrier Sense Multiple Access with Collision Avoidance). WLAN devices cannot send data until they successfully compete for channel access. The presence of a large number of WLAN devices on the same channel increases channel access contention time and means that channel access delays vary significantly. This random access means that WLAN technology, in its commonly implemented form, cannot provide deterministic communication.

[0003] Therefore, the challenge is to leverage and extend mainstream WLAN features defined in the IEEE 802.11 family of standards to meet industrial latency / jitter requirements without requiring custom hardware at the chip level and / or breaking the relevant standards.

[0004] The 802.11 standard specifies an operating mode called PCF (Point Coordination Function), in which channel access is arranged in a deterministic manner by the access point (AP). However, this mode has not been widely accepted, and therefore no relevant WLAN chipsets support it. Instead, the contention-based DCF (Distributed Coordination Function) mode and its evolved variants are widely used.

[0005] To address the cyclical communication patterns of the Profinet Industrial Ethernet protocol, particularly Profinet IO (PNIO), some WLAN devices currently support a scheduling mechanism called iPCF (Industrial Point Coordination Function). This mechanism operates on top of DCF, based on poll request / polling response messages.

[0006] The iPCF scheduling mechanism is as follows.

[0007] -WLAN clients do not actively send data packets, but only send them when polled by the AP.

[0008] - The WLAN AP sends a polling request message to a client, along with downlink data (if any), and waits for the client's polling response message (containing uplink payload data, if any) with a predetermined maximum waiting time Tmax.

[0009] -After receiving the polling request message, the polled client sends a polling response with uplink data to the AP.

[0010] - After the AP successfully receives a polling response message from the polled client, or if the AP does not receive a polling response message from the client within the maximum waiting time Tmax, the AP will poll the next client.

[0011] -AP repeats the poll request / poll response process to all associated clients one by one in a round-robin manner.

[0012] However, there are still some issues that make the implementation of this approach complex or have uncertain latency / jitter.

[0013] -Issue 1: Modifications need to be made on the client side to prevent the client from actively sending data packets. When there are third-party devices operating on the same channel within or near the intended coverage area, significant timing degradation will occur.

[0014] Issue 2: Both the access point and the client need to periodically perform functions such as background channel scanning for handoffs or noise floor calibration to determine whether the channel is busy. While performing background channel scanning or noise floor calibration, the client cannot send or receive packets and therefore cannot receive poll requests or responses from the access point. This inevitably increases latency, and in the worst case, the poll request / response may fail.

[0015] Summary of the Invention

[0016] A brief overview of the present invention is provided below to provide a basic understanding of certain aspects of the present invention. It should be understood that this overview is not an exhaustive overview of the present invention. It is not intended to identify key or important aspects of the present invention, nor is it intended to limit the scope of the present invention. Its purpose is simply to present certain concepts in a simplified form as a prelude to the more detailed description discussed later.

[0017] In view of this, the present disclosure proposes a WLAN communication method, which adopts an enhanced mechanism based on the existing iPCF scheduling solution to solve the problems in the existing technology.

[0018] According to one aspect of the present disclosure, a WLAN communication method is provided, including:

[0019] The client receives a polling request message from the access point;

[0020] The client checks whether it is the client being polled;

[0021] If the client is a polled client, the client sends a poll response message to the access point;

[0022] The client enters the function execution time window, and when the time to execute a function is reached during the function execution time window, the function is executed.

[0023] The function execution time window starts from the time the client sends the polling response message and ends before the retention time window starts.

[0024] The retention time window starts from the start of the security time window and ends after the next poll response message is expected to be sent.

[0025] The safety time window is a period of time that is not less than the execution time of the function to be executed before the next polling cycle begins.

[0026] In this way, the client can execute the function during the function execution time window without missing the polling request from the access point, thereby reducing the possibility of data exchange failure between the access point and the client due to execution of other functions.

[0027] Optionally, in an example of the above aspect, the method further includes:

[0028] After the function execution time window ends, the client enters the retention time window. When a time to execute a function is reached during the retention time window, the client checks whether the priority of the function to be executed is higher than the priority of receiving data from the access point. If so, the client switches to executing the function; if not, the execution of the function is postponed to the next function execution time window.

[0029] In this way, during the reserved time window, non-urgent functions will be postponed to the function execution time window of the next polling cycle.

[0030] Optionally, in an example of the above aspect, the function includes at least one of the following: background channel scanning and noise floor calibration.

[0031] Optionally, in an example of the above aspect, the Duration / ID subfield in the MAC header in the polling request message is set to a first predetermined value.

[0032] Optionally, in an example of the above aspect, before the client sends a polling response message to the access point, the method further includes:

[0033] The client sets its own NAV to 0.

[0034] Optionally, in an example of the above aspect, after the client sends a polling response message to the access point, the method further includes: the client resetting its own NAV to a second predetermined value.

[0035] Optionally, in an example of the above aspect, if it is determined that the client is not a polled client, the method further includes: the client checking whether its own NAV is less than the first predetermined value; if so, the client updates its own NAV based on the first predetermined value.

[0036] In this way, only the polled client can send a response message, and the unpolled client cannot send a response message. In this way, without making any modifications to the client, the client is prevented from sending data randomly, thereby reducing communication delay and jitter.

[0037] According to another aspect of the present disclosure, there is provided a client, comprising:

[0038] a polling request receiving unit, configured to receive a polling request message from an access point;

[0039] a receiving address determination unit, configured to check whether the client is a polled client;

[0040] a polling response sending unit, configured to send a polling response message to the access point;

[0041] The function execution unit is configured to enable the client to enter a function execution time window, and when a time to execute a function is reached during the function execution time window, execute the function.

[0042] The function execution time window starts after the polling response message is sent and ends before the retention time window starts.

[0043] The retention time window starts from the start of the security time window and ends after the next poll response message is expected to be sent.

[0044] The safety time window is a period of time that is not less than the execution time of the function to be executed before the next polling cycle begins.

[0045] According to another aspect of the present disclosure, a computing device is provided, comprising: at least one processor; and a memory coupled to the at least one processor, the memory being configured to store instructions that, when executed by the at least one processor, enable the processor to perform the method described above.

[0046] According to another aspect of the present disclosure, a non-transitory machine-readable storage medium is provided, which stores executable instructions. When the instructions are executed, the machine is caused to perform the method described above.

[0047] According to another aspect of the present disclosure, a computer program is provided, comprising computer-executable instructions, which, when executed, cause at least one processor to perform the method described above.

[0048] According to another aspect of the present disclosure, a computer program product is provided, which is tangibly stored on a computer-readable medium and includes computer-executable instructions that, when executed, cause at least one processor to perform the method described above.

[0049] The WLAN communication method and client according to the present disclosure have at least one or more of the following advantages:

[0050] - Low cost, no additional hardware required.

[0051] -Easy to implement, requiring only a few software changes on the access point and client.

[0052] -Does not violate normal behavior defined by WLAN standards.

[0053] - Compatible with multiple generations of WLAN standards, including 802.11a / b / g / n / ac / ax.

[0054] - Reduce communication delay and jitter.

[0055] - Reduces the possibility of packet exchange failures between the AP and the client due to the execution of other functions. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] The above and other purposes, features and advantages of the present invention will be more easily understood by referring to the following description of the embodiments of the present invention in conjunction with the accompanying drawings. The components in the accompanying drawings are only for illustrating the principles of the present invention. In the accompanying drawings, the same or similar technical features or components will be represented by the same or similar reference numerals. In the accompanying drawings:

[0057] FIG1 is a flowchart of an exemplary process of a WLAN communication method according to an embodiment of the present disclosure;

[0058] FIG2 is a schematic diagram of different time windows defined according to an embodiment of the present disclosure;

[0059] FIG3 is a timing diagram of a client updating NAV according to an embodiment of the present disclosure;

[0060] FIG4 is a block diagram of an exemplary configuration of a client for executing the WLAN communication method shown in FIG1 ; and

[0061] FIG5 is a block diagram of a computing device for implementing a WLAN communication method according to an embodiment of the present disclosure.

[0062] The accompanying drawings are numerals as follows:

[0063] 100: WLAN communication method S102, S103, S104, S105, S106, S107,

[0064] S108, S110: Steps

[0065] AP: Access Point C1, C2, C3: Client

[0066] R1, R2, and R3: Poll Response PC: Polling Cycle

[0067] t11, t12, t13, t14, t15, t16 400: Client

[0068] 402: Polling request receiving unit 403: Receiving address judgment unit

[0069] 405: Polling response sending unit 408: Function execution unit

[0070] 404: NAV zeroing unit 407: NAV reset unit

[0071] 406: NAV update unit 500: computing device

[0072] 502: Processor 504: Memory DETAILED DESCRIPTION

[0073] The subject matter described herein will now be discussed with reference to example embodiments. It should be understood that discussing these embodiments is intended only to enable those skilled in the art to better understand and implement the subject matter described herein, and is not intended to limit the scope of protection, applicability, or examples set forth in the claims. The functions and arrangements of the elements discussed may be changed without departing from the scope of protection of this disclosure. Various examples may omit, replace, or add various processes or components as needed. For example, the described method may be performed in an order different from the described order, and various steps may be added, omitted, or combined. In addition, features described relative to some examples may also be combined in other examples.

[0074] As used herein, the term "including" and its variations are open terms meaning "including but not limited to". The term "based on" means "based at least in part on". The terms "one embodiment" and "an embodiment" mean "at least one embodiment". The term "another embodiment" means "at least one other embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other definitions may be included below, whether explicit or implicit. Unless the context clearly indicates otherwise, the definition of a term is consistent throughout the specification.

[0075] In view of this, the present disclosure proposes a WLAN communication method, which adopts an enhanced mechanism based on the above iPCF scheduling solution to solve the above-mentioned problems.

[0076] First, some background information about the iPCF scheduling scheme. Clear Channel Assessment (CCA) is a mechanism used to determine whether the medium (i.e., the radio channel) is idle. CCA includes carrier sense (CS) and energy detection. The carrier sense (CS) mechanism includes physical CS and virtual CS. Physical CS is provided by the PHY (physical layer) and is a direct measurement of the received signal strength of a valid 802.11 symbol. If it is above a certain level, the medium is considered busy. Virtual CS is provided by the MAC and uses a Network Allocation Vector (NAV) to reserve a period of time for medium use. The NAV is set to the expected time of medium use. As long as the NAV value is non-zero, it indicates that the medium is busy. Therefore, if a client's NAV is non-zero, the client will not send data even if the physical CS shows an idle medium. The NAV is a symbol that indicates when the medium will become idle and is kept up to date by the Duration value included in the frame. When a client receives an 802.11 frame that is not sent to itself, if the duration value (indicated in the Duration / ID subfield of the MAC header) is greater than the current NAV value, the NAV is updated.

[0077] The WLAN communication method and apparatus according to the embodiments of the present disclosure will be described below with reference to the accompanying drawings.

[0078] FIG1 is a flowchart of an exemplary process of a WLAN communication method 100 according to an embodiment of the present disclosure.

[0079] First, in step S102 , the client receives a polling request message from the access point.

[0080] Next, in step S103 , the client checks whether it is the polled client.

[0081] If the client is a polled client, step S105 is executed, and the client sends a polling response message to the access point.

[0082] For example, a client can determine whether it is the polled client by checking whether its MAC address is the same as the receiving address in the polling request message. However, for 802.11ax uplink trigger-based multi-user OFDMA transmission, more than just the MAC address is considered. In the WLAN communication method according to the present disclosure, the specific method for a client to determine whether it is the polled client is not limited.

[0083] In step S108, the client enters a function execution time window, and when the function execution time window reaches the moment when a certain function is to be executed, the function is executed.

[0084] As described above, the client periodically performs certain functions. In the method according to an embodiment of the present disclosure, three time windows are defined to address the issue of the client being unable to receive polling requests or send polling responses from the access point while performing these functions. These three time windows are described in detail below with reference to FIG2 .

[0085] Figure 2 shows an access point AP that polls three clients C1, C2, and C3 in sequence. Clients C1, C2, and C3 send their own polling responses R1, R2, and R3, respectively. PC represents a polling cycle.

[0086] Function execution time window T1: This time window starts immediately after the client sends the poll response message and ends before the retention time window T2 starts.

[0087] During the function execution time window T1, the client can execute the required function without missing the polling request from the access point. Therefore, when the time to execute a function arrives during the function execution time window T1, the function can be executed immediately.

[0088] Retention time window T2: Retention time window T2 is the time from the start of the security time window T3 to the time after the client is expected to send the next poll response message. During retention time window T2, the client is preparing to be polled by the access point or sending a poll response message, so it is best not to perform non-time-critical functions.

[0089] Security Time Window T3: This window corresponds to the execution time of the upcoming function. Its purpose is to ensure sufficient time for the function to complete without missing polling requests from the access point. Therefore, security window T3 is defined as a period of time before the start of the next polling cycle that is no less than the execution time of the upcoming function. In other words, security window T3 cannot be less than the execution time of the upcoming function. The function must begin executing before the security window to ensure completion before the start of the next polling cycle.

[0090] In one instance, method 100 further includes: step S110, after the function execution time window ends, the client enters a retention time window, when the time to execute a certain function is reached during the retention time window, the client checks whether the priority of the function to be executed is higher than the priority of the data received from the access point, if so, the client switches to executing the function; if not, the execution of the function is postponed to the next execution time window, that is, the execution time window of the client in the next polling cycle.

[0091] In one example, the function to be performed by the client may be background channel scanning or noise floor calibration, etc. Those skilled in the art will appreciate that the functions involved in the method according to the embodiment of the present disclosure may be any functions that the client needs to perform when performing WLAN communication, and are not limited to the two functions described above.

[0092] The function executed by the client in step S110 may be the same as or different from the function executed in step S108, depending on the execution interval and execution time of various functions to be executed by the client. In this method, the main issue to be solved is the timing of function execution, and it does not matter what type of function it is. Therefore, they are collectively referred to as functions without making any distinction.

[0093] According to the method of the embodiment of the present invention, the possibility of failure of data exchange between an access point and a client due to execution of other functions can be reduced.

[0094] In one example, the Duration / ID subfield in the MAC data header of the poll request message sent by the access point is set to a first predetermined value. This first predetermined value must be sufficiently large, for example, greater than the maximum waiting time Tmax during the poll request process or greater than the polling period. In this way, a time period for uplink transmission is "reserved" for the polled client. All clients that can correctly receive the poll request and support virtual CS must comply with this "reserved" time period.

[0095] In one example, when the client is the polled client, method 100 may further include step S104 before executing step S105: the client sets its own NAV to 0. As described above, the NAV is a flag stored locally by the client. Only when the NAV value is 0 can the client send a message to the access point. In other words, when the client is polled, its own NAV is set to 0, so that the client can send a poll response message.

[0096] In this way, the polled client can shorten its waiting time for channel access. Optionally, the polled client can also reconfigure the parameters of its CCA contention window to respond quickly.

[0097] The polled client can provide feedback with a poll response that carries uplink data (if any). After receiving the poll response message, other clients can also update their NAVs based on the value of the Duration / ID subfield in the poll response packet.

[0098] After successfully sending the poll response message, method 100 may further include step S107: the polled client reconfigures its NAV to a second predetermined value. The second predetermined value may be equal to the first predetermined value, such as the maximum waiting time Tmax, or another value. In this way, the NAV is no longer zero, thereby preventing the client from randomly contending for channel access. If the CCA contention window parameters have been changed before the poll response, the polled client also needs to configure these parameters.

[0099] If, in step S103, it is determined that the client is not the polled client, step S106 is executed, where the client checks whether its own NAV is less than the first predetermined value set in the Duration / ID subfield of the polling request message. If so, the client updates its own NAV based on the first predetermined value. For example, the client may update its own NAV to the first predetermined value, or add a certain value to the first predetermined value.

[0100] That is, when the NAV of the unpolled client is less than the first predetermined value in the Duration / ID subfield in the polling request message, the unpolled client will update the NAV value, thereby prohibiting the unpolled client from sending data randomly.

[0101] FIG3 schematically shows a timing diagram of each client updating its NAV during the polling process.

[0102] Figure 3 also shows an access point A1, which polls three clients C1, C2, and C3 in sequence. Clients C1, C2, and C3 send their own polling responses R1, R2, and R3, respectively. PC represents a polling cycle.

[0103] At time t11 , the polled client C1 updates its NAV to 0, and the other clients C2 and C3 update their own NAVs according to the value set in the Duration / ID subfield in the polling request message P1 .

[0104] At time t12, after client C1 sends the polling response message R1, NAV is updated to a new value, so that client C1 can no longer randomly access the channel in this polling cycle.

[0105] At time t13, the polled client C2 updates its NAV to 0, and the other clients C1 and C3 update their own NAVs according to the value set in the Duration / ID subfield in the polling request message P2.

[0106] At time t14, after client C2 sends the polling response message R2, it updates the NAV to a new value, so that client C2 can no longer randomly access the channel in this polling cycle.

[0107] At time t15, the polled client C3 updates its NAV to 0, and the other clients C1 and C2 update their own NAVs according to the value set in the Duration / ID subfield in the polling request message P3.

[0108] At time t16, after client C3 sends the polling response message R3, it updates NAV to a new value, so that client C3 can no longer randomly access the channel in this polling cycle.

[0109] FIG2 and FIG3 both illustrate the polling of three clients in one polling cycle by way of example. Those skilled in the art will appreciate that the number of clients may be any other appropriate number.

[0110] In the above process, only the NAV of the polled client is set to 0, while the NAV of the unpolled client is not 0. That is to say, only the polled client can send a response message, and the unpolled client cannot send a response message. In this way, without making any modifications to the client, the client is prevented from sending data randomly, thereby reducing communication delay and jitter.

[0111] Fig. 4 is a block diagram showing an exemplary configuration of a client 400 for executing the WLAN communication method shown in Fig. 1. In Fig. 4, the client 400 includes a polling request receiving unit 402, a receiving address determining unit 403, a polling response sending unit 405, and a function executing unit 408.

[0112] The polling request receiving unit 402 is configured to receive a polling request message from an access point.

[0113] The determination unit 403 is configured to check whether the client is a polled client.

[0114] The polling response sending unit 405 is configured to send a polling response message to the access point.

[0115] The function execution unit 408 is configured to enable the client to enter a function execution time window, and when a time to execute a function is reached during the function execution time window, the function is executed.

[0116] The function execution time window starts after the polling response message is sent and ends before the retention time window starts.

[0117] The retention time window starts from the start of the security time window and ends after the next poll response message is expected to be sent.

[0118] The safety time window is a period of time that is not less than the execution time of the function to be executed before the next polling cycle begins.

[0119] The function execution unit 408 is further configured to:

[0120] After the function execution time window ends, the retention time window is entered. When a time for executing a function is reached during the retention time window, it is checked whether the priority of the function to be executed is higher than the priority of the data received from the access point. If so, the function is executed.

[0121] If not, the execution of the predetermined function is postponed to the next execution time window.

[0122] The functions include at least one of the following: background channel scanning and noise floor calibration.

[0123] The Duration / ID subfield in the MAC header of the polling request message is set to a first predetermined value.

[0124] In an example, the client 400 further includes: a NAV zeroing unit 404 configured to set the NAV of the client itself to 0.

[0125] In an example, the client 400 further includes: a NAV resetting unit 407 configured to reset the NAV of the client itself to a second predetermined value.

[0126] In an example, the client 400 further includes: a NAV updating unit 406 configured to check whether the NAV of the client itself is less than the first predetermined value, and if so, update the NAV of the client itself according to the first predetermined value.

[0127] As an example, the various steps of the above-mentioned WLAN communication method and the various modules and / or units of the above-mentioned client can be implemented as software, firmware, hardware, or a combination thereof. In the case of implementation via software or firmware, a program constituting the software for implementing the above-mentioned method can be installed from a storage medium or a network to a computing device having a dedicated hardware structure. When the various programs are installed, the computing device can perform various functions, etc.

[0128] It should be noted that the structure of the client 400 and its constituent units shown in FIG4 is merely exemplary, and those skilled in the art may modify the structural block diagram shown in FIG4 as needed.

[0129] The details of the operations and functions of various parts of the client 400 may be the same as or similar to the relevant parts of the embodiment of the WLAN communication method of the present disclosure described with reference to FIG. 1-4 , and will not be described in detail here.

[0130] According to the technical solution disclosed in the present invention, a WLAN communication method is proposed based on the existing iPCF scheduling solution. The technical solution disclosed in the present invention has at least one or more of the following technical advantages:

[0131] - Low cost, no additional hardware required.

[0132] -Easy to implement, requiring only a few software changes on the access point and client.

[0133] -Does not violate normal behavior defined by WLAN standards.

[0134] - Compatible with multiple generations of WLAN standards, including 802.11a / b / g / n / ac / ax.

[0135] - Reduce communication delay and jitter.

[0136] - Reduces the possibility of packet exchange failures between the AP and the client due to the execution of other functions.

[0137] The main technical means used to form these advantages are:

[0138] - Clients - even third-party devices that are unaware of the polling mechanism - are prevented from actively sending data during an ongoing polling operation, which shortens the channel access time of the polled client.

[0139] - Reduce delay / jitter and data transmission failure by synchronizing the polling cycle and the execution interval of some functions. The execution of functions will not interrupt the normal communication of polling request and polling response.

[0140] The described functionality could become part of an enhanced, 802.11ax-compliant successor to the iPCF scheme.

[0141] The present invention is compatible with the most advanced WLAN standards (such as 802.11ax) and does not rely on any new functions. Therefore, it is suitable for deployment in traditional equipment or operation in traditional mode.

[0142] 1 to 4 , the WLAN communication method and client embodiments according to the present disclosure are described. Each unit of the client described above can be implemented using hardware, software, or a combination of hardware and software.

[0143] 5 shows a block diagram of a computing device 500 for implementing a WLAN communication method according to an embodiment of the present disclosure. According to one embodiment, the computing device 500 may include at least one processor 502 that executes at least one computer-readable instruction (i.e., the aforementioned elements implemented in software form) stored or encoded in a computer-readable storage medium (i.e., memory 504).

[0144] In one embodiment, computer-executable instructions are stored in memory 504. When executed, these computer-executable instructions enable at least one processor 502 to perform operations performed by the data relay device. Furthermore, memory 504 may also store computer-executable instructions that enable processor 502 to perform operations performed by the container management device.

[0145] It should be understood that the computer executable instructions stored in the memory 504, when executed, cause the at least one processor 502 to perform the various operations and functions described above in conjunction with Figures 1-4 in various embodiments of the present disclosure.

[0146] According to one embodiment, a non-transitory machine-readable medium is provided. The non-transitory machine-readable medium may have machine-executable instructions (i.e., the elements implemented in software above), which, when executed by a machine, cause the machine to perform the various operations and functions described above in conjunction with Figures 1-4 in various embodiments of the present disclosure.

[0147] According to one embodiment, a computer program is provided, including computer-executable instructions, which, when executed, enable at least one processor to perform the various operations and functions described above in conjunction with Figures 1-4 in various embodiments of the present disclosure.

[0148] According to one embodiment, a computer program product is provided, including computer-executable instructions, which, when executed, enable at least one processor to perform the various operations and functions described above in conjunction with Figures 1-6 in various embodiments of the present disclosure.

[0149] The specific embodiments described above in conjunction with the accompanying drawings describe exemplary embodiments, but do not represent all embodiments that can be implemented or fall within the scope of protection of the claims. The term "exemplary" used throughout this specification means "used as an example, instance or illustration" and does not mean "preferred" or "having advantages" over other embodiments. For the purpose of providing an understanding of the described technology, the specific embodiments include specific details. However, these technologies can be implemented without these specific details. In some instances, in order to avoid obscuring the concepts of the described embodiments, well-known structures and devices are shown in block diagram form.

[0150] The foregoing description of the present disclosure is provided to enable any person skilled in the art to implement or use the present disclosure. Various modifications to the present disclosure will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the scope of the present disclosure. Therefore, the present disclosure is not limited to the examples and designs described herein, but is intended to be consistent with the widest range of principles and novel features disclosed herein.

[0151] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A WLAN communication method, comprising: The client receives a polling request message from the access point; The client checks whether it is the polled client; If the client is a polled client, the client sends a poll response message to the access point; The client enters a function execution time window, and when a time to execute a function is reached during the function execution time window, the function is executed. The function execution time window starts from the time the client sends the polling response message and ends before the retention time window starts. The retention time window starts from the start of the security time window and ends after the next poll response message is expected to be sent. The safety time window is a period of time that is not less than the execution time of the function to be executed before the next polling cycle begins.

2. The method of claim 1, further comprising: After the function execution time window ends, the client enters the retention time window. When a time to execute a function is reached during the retention time window, the client checks whether the priority of the function to be executed is higher than the priority of receiving data from the access point. If so, the client switches to executing the function. If not, the execution of the function is postponed to the next function execution time window.

3. The method according to claim 1 or 2, wherein The functions include at least one of: background channel scanning and noise floor calibration.

4. The method according to claim 1 or 2, wherein The Duration / ID subfield in the MAC header of the polling request message is set to a first predetermined value.

5. The method according to claim 4, wherein: Before the client sends a polling response message to the access point, the method further includes: The client sets its own NAV to 0.

6. The method according to claim 5, wherein: After the client sends a polling response message to the access point, the method further includes: the client resetting its own NAV to a second predetermined value.

7. The method of claim 4, wherein: If it is determined in the step of the client checking whether it is the polled client that the client is not the polled client, the method further includes: the client checking whether its own NAV is less than the first predetermined value; if so, the client updates its own NAV based on the first predetermined value.

8. A client (400), comprising: A polling request receiving unit (402) is configured to receive a polling request message from an access point; A determination unit (403) is configured to check whether the client is a polled client; A polling response sending unit (405) is configured to send a polling response message to the access point; The function execution unit (408) is configured to make the client enter the function execution time window, and when the time to execute a function is reached during the function execution time window, execute the function. The function execution time window starts after the polling response message is sent and ends before the retention time window starts. The retention time window starts from the start of the security time window and ends after the next poll response message is expected to be sent. The safety time window is a period of time that is not less than the execution time of the function to be executed before the next polling cycle begins.

9. The client (400) according to claim 8, wherein: The function execution unit (408) is further configured to: After the function execution time window ends, the retention time window is entered. When a time for executing a function is reached during the retention time window, it is checked whether the priority of the function to be executed is higher than the priority of the data received from the access point. If so, the function is executed. If not, the execution of the predetermined function is postponed to the next execution time window.

10. The client (400) according to claim 8 or 9, wherein: The functions include at least one of: background channel scanning and noise floor calibration.

11. The client (400) according to claim 8 or 9, wherein: The access point sets the Duration / ID subfield in the MAC header of the received polling request message to a first predetermined value.

12. The client (400) according to claim 11, further comprising: The NAV zeroing unit (404) is configured to set the NAV of the client itself to 0.

13. The client (400) according to claim 12, further comprising: The NAV resetting unit (407) is configured to reset the NAV of the client to a second predetermined value.

14. The client according to claim 8, further comprising: The NAV updating unit (406) is configured to check whether the NAV of the client itself is less than the first predetermined value, and if so, update the NAV of the client itself based on the first predetermined value.

15. A computing device (500), comprising: at least one processor (502); as well as A memory (504) coupled to the at least one processor (502), the memory (504) being configured to store instructions, which, when executed by the at least one processor (502), cause the processor (502) to perform the method according to any one of claims 1 to 7.

16. A non-transitory machine-readable storage medium storing executable instructions, which, when executed, cause the machine to perform the method according to any one of claims 1 to 7.

17. A computer program product tangibly stored on a computer-readable medium and comprising computer-executable instructions which, when executed, cause at least one processor to perform the method according to any one of claims 1 to 7.