Higher-level node device, wireless network terminal device and data transmission method
By calculating and utilizing an estimated arrival time for polling data requests, the method ensures efficient data transmission to terminal devices in sleep mode, addressing cache overflow issues and enhancing network performance in ZigBee networks.
Patent Information
- Application Number
- DE102018125857
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2017-10-27
- Filing Date
- 2018-10-18
- Publication Date
- 2025-06-18
- Estimated Expiration
- 2038-10-18
AI Technical Summary
In wireless communication networks like ZigBee, terminal devices entering sleep mode can result in data loss due to cache overflow when data cannot be transmitted, as the cache has limited capacity and data accumulates, leading to inefficiencies and potential data loss.
Implementing a method where the network layer module calculates an estimated arrival time for a terminal device's polling data request and transfers data to the MAC layer module cache ahead of time, accompanied by an acknowledgment packet, allowing timely data transmission and reducing cache overflow.
This approach enhances data transmission efficiency by preventing cache overflow and ensuring timely data delivery to terminal devices, even when they are in sleep mode, thereby improving network performance and reducing data loss.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUNDTechnical field
[0001] The present disclosure relates to the technical field of wireless data transmission and, more particularly, to a host node device and a terminal device for a wireless network and a data transmission method therefor. Description of the related art
[0002] There are many types of short-range wireless communication technologies. Some characteristics of short-range wireless communication technologies include short transmission distance, low power consumption, low speed, and low cost. Some short-range wireless communication technologies can be embedded in various types of mobile devices or terminals, for example, to meet the low cost and low power consumption of a wireless sensor network.
[0003] In the case of a wireless communication network, such as a ZigBee network, when a terminal device enters a sleep state, the sleep state can last for dozens of minutes. When the terminal device is in sleep mode, data in a cache of a higher-level node device cannot be transmitted to the terminal device. However, the cache may be limited in capacity, and the data in the cache may overflow with the incremental addition of data to the cache, resulting in data loss.
[0004] From the document US 2014 / 0119282 A1, a method for message acknowledgment is known, comprising: sending a beacon frame, receiving an uplink frame sent from a terminal device, and sending an acknowledgment frame for the uplink frame, wherein the acknowledgment frame includes an offset time, and the offset time is a difference between a time at which the acknowledgment frame is sent and a time at which the beacon frame is sent. A terminal device receiving the acknowledgment frame determines whether the acknowledgment frame is an acknowledgment frame that the terminal device expects, based on the offset time, a time at which the acknowledgment frame is received, and a time at which the terminal device last received a beacon frame. CONTENTS
[0005] Example embodiments of the present disclosure provide a host node device and a terminal device for a wireless network and data transmission methods therefor, for example, to perform indirect data transmission of a non-beacon ZigBee network.
[0006] According to an exemplary embodiment of the present disclosure, there is provided a data transmission method for a wireless network, which may include: calculating an estimated arrival time of a next polling data request of a terminal device according to a reception time of a polling data request after the polling data request is received by the terminal device; transmitting data for the terminal device to a cache of a Media Access Control (MAC) layer module at a time a predetermined time period before the estimated arrival time in response to a determination that the data for the terminal device is located in a network layer module; and transmitting an acknowledgment packet to the terminal device indicating that the data for the terminal device is located in the cache of the MAC layer module and the data for the terminal device in response to receiving the next polling data request.
[0007] According to an exemplary embodiment of the present disclosure, there is provided a higher-level node device for a wireless network, which may include: a network layer module configured to calculate an estimated arrival time of a next polling data request of a terminal device according to a reception time of a polling data request received by the terminal device, and to transfer data for the terminal device to a cache of a Media Access Control (MAC) layer module at a time a predetermined time period before the estimated arrival time in response to a determination that the data for the terminal device is located in the network layer module;and the MAC layer module configured to transmit to the terminal device: an acknowledgment packet indicating that the data for the terminal device is in the cache of the MAC layer module, and the data for the terminal device, in response to receiving the next polling data request;
[0008] According to an exemplary embodiment of the present disclosure, there is provided a non-transitory computer-readable storage medium having a computer program stored thereon, the computer program being configured to enable a processor of a computer to perform operations including: calculating an estimated arrival time of a next polling data request of a terminal device according to a reception time of a polling data request after the polling data request is received by the terminal device; transferring data for the terminal device to a cache of a media access control (MAC) layer module at a time a predetermined time period before the estimated arrival time in response to a determination that the data for the terminal device is located in a network layer module;and transmitting an acknowledgment packet to the terminal device indicating that the data for the terminal device is in the cache of the MAC layer module and the data for the terminal device in response to receiving the next polling data request;
[0009] According to an exemplary embodiment of the present disclosure, there is provided a data receiving method for a wireless network, which may include: modifying a time interval for transmitting a polling data request from a first time interval to a modified time interval according to a preset condition, in response to receiving data for the terminal device at a terminal device from a parent node device and an acknowledgment packet indicating that the data for the terminal device is present at the parent node device; and transmitting at least three polling data requests to the parent node device in the modified time interval.
[0010] According to an exemplary embodiment of the present disclosure, a terminal device for a wireless network is provided, which may include: a speed modification module configured to modify a time interval for transmitting a polling data request from a first time interval to a modified time interval according to a preset condition in response to receiving data for the terminal device from a parent node device and an acknowledgment packet indicating that the data for the terminal device is present on the parent node device; and a request transmission module configured to transmit at least three polling data requests to the parent node device in the modified time interval.
[0011] According to an exemplary embodiment of the present disclosure, there is provided a non-transitory computer-readable storage medium having a computer program stored thereon, the computer program being configured to enable a processor of a computer to perform operations comprising: modifying a time interval for transmitting a polling data request from a first time interval to a modified time interval according to a preset condition in response to receiving data for the terminal device and an acknowledgment packet received at a terminal device from a parent node device indicating that the data for the terminal device is present on the parent node device; and transmitting at least three polling data requests to the parent node device in the modified time interval.
[0012] Other aspects and / or advantages of the general concepts of the present disclosure are explained in the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The above and other purposes and features of the exemplary embodiments of the present disclosure will become more clear from the descriptions taken in conjunction with the accompanying drawings illustrating the embodiments, wherein: Fig. 1 illustrates a block diagram of a higher-level node device according to an exemplary embodiment of the present disclosure; Fig. 2 illustrates a flowchart of an indirect data transmission method for a wireless network according to an exemplary embodiment of the present disclosure; Fig. 3 illustrates a block diagram of a wireless network terminal according to an exemplary embodiment of the present disclosure; Fig. 4 illustrates a flowchart of an indirect data reception method for a wireless network according to an exemplary embodiment of the present disclosure; Fig. 5 illustrates a flowchart showing a terminal device switching from a wake state to a sleep state according to an embodiment of the present disclosure; and Fig. 6 illustrates a flowchart showing a parent node device performing an indirect data transfer according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0014] Reference will now be made in detail to the embodiment of the present disclosure, an example of which is illustrated in the accompanying drawings, wherein the same reference numerals throughout the accompanying drawings indicate the same and / or similar parts. The embodiment will be illustrated below with reference to the accompanying drawings to explain the present disclosure.
[0015] In the figure below, a ZigBee network is chosen as an example to illustrate embodiments of the present disclosure. The ZigBee network protocol is a specification based on IEEE 802.15.4 for a set of high-level communication protocols used to create personal networks with small, low-power digital radios. However, it should be understood that a technical solution of the embodiments of the present disclosure is not limited to the ZigBee network and may further be applied to other wireless communication networks, including those having mechanisms identical and / or similar to the ZigBee network.
[0016] The ZigBee protocol specification version R21 introduces a keep-alive mechanism for an end device. Based on this, if a higher-level node device, such as a coordinator or router, supports a MAC layer module polling mechanism, the end device can periodically transmit a polling data request to the higher-level node device to indicate that it is connected to the higher-level node device. The higher-level node device can respond with an acknowledgment packet for each polling data request.If the parent node device does not receive a polling data request from the terminal device within an elapsed time period, the parent node device may consider the terminal device to be disconnected from the network and / or if an acknowledgment packet is not received from the parent node device in a timely manner, the terminal device may be considered to be disconnected from the parent node device and the terminal device may need to re-select and / or re-connect to join a network.
[0017] Additionally, a terminal device supporting sleep mode can obtain data from the parent node device through a polling data request. Upon receiving the polling data request, if it detects that data is located in a cache (e.g., a MAC layer module cache), the parent node device can inform the terminal device that there is data to be transmitted to the terminal device by setting a pending bit to 1 in a polling acknowledgement and transmitting the data to be transmitted to the terminal device.
[0018] With respect to a terminal device that supports sleep mode, after joining a network, the terminal device may negotiate an expiration time and / or an expiration period with the parent node device to determine whether a connection is normal based on a timeout request. For example, if the parent node device receives the terminal device's polling data request within the expiration period, it means that the connection is normal. The expiration time may include, for example, the following values: 10 seconds, 2 minutes, 4 minutes, 8 minutes, 16 minutes, 32 minutes, 64 minutes, 128 minutes, 256 minutes, 512 minutes, 1024 minutes, 2048 minutes, 4096 minutes, 8192 minutes, and 16384 minutes, although the present disclosure is not limited thereto.
[0019] Additionally, with respect to the parent node device, a time for the network layer module to transmit the data to the MAC layer module (for example, a cache of the MAC layer module) may not be specified. With respect to the terminal device, the terminal device may have two states within the elapsed time: a sleep state in which the terminal device disables a radio frequency (RF) function to save power, and an awake state. A data transmission method for a ZigBee network according to an exemplary embodiment of the present disclosure may define a time for which a network layer module transmits data to a cache of a MAC layer module so that the terminal device switches between the sleep state and the awake state in an improved manner to improve data transmission efficiency.
[0020] Fig. 1 illustrates a block diagram of a parent node device 100 according to an exemplary embodiment of the present disclosure.
[0021] Referring to FIG. 1, a parent node device 100 includes a network layer module 101 and a MAC layer module 102. In some embodiments, a control module (not shown) may be configured and used between the network layer module 101 and the MAC layer module 102. The network layer module 101 may be configured to receive a polling data request from a terminal device, to calculate an estimated arrival time of a next polling data request of the terminal device according to a reception time of the polling data request, and / or to transfer data to be transmitted to a cache of the MAC layer module 102 at a time that is a predetermined time period before the estimated arrival time of the next polling data request of the terminal device.
[0022] As an example, the network layer module 101 may include a time interval calculation module (not shown) configured to calculate a time interval between two continuous polling data requests of the terminal device and an estimated arrival time acquisition module (not shown) configured to obtain the estimated arrival time of the next polling data request of the terminal device according to the time interval and an arrival time of a previous polling data request from the terminal device.
[0023] As an example, the network layer module 101 may further include a time setting module (not shown), wherein, when the terminal device's query data request is received for the first time, the time setting module may set a current time as a first time. When the terminal device's query data request is not received for the first time (e.g., at a current time after the first time), the time setting module may subtract the first time from the current time to obtain the time interval, add the current time to the time interval to obtain the estimated arrival time for the next query data request, set the first time to the current time, and set the estimated arrival time as a second time. For example, two attributes, namely LAST_QUERY and NEXT_QUERY, may be set for an adjacent table to record the first time and the second time, respectively.
[0024] As an example, the network layer module 101 may further include a transmission list management module (not shown) and a clock transmission module (not shown). The transmission list management module may be configured to create a data transmission list (e.g., a data transmission queue) and update the preset transmission time to the above-mentioned time, which is the predetermined time period before the estimated arrival time of the next polling data request from the terminal device. The data transmission list may store a data packet (e.g., the above-mentioned data to be transmitted to the terminal device) that needs to be transmitted from the network layer module 101 to the cache of the MAC layer module 102 at a preset transmission time.For example, the data transmission list may contain the data to be transmitted and a preset transmission time corresponding to the data to be transmitted (a preset interval between two adjacent preset transmission times is one-third of the above-mentioned expiration period, which corresponds to the longest time interval of a proposed protocol specification). The clock transmission module may be configured to send the data to be transmitted to the cache of the MAC layer module 102 according to the time when the time comes. For example, the clock transmission module may periodically check the data transmission list at a time interval, such as 50 milliseconds, and when the time (e.g.,the predetermined time period before the estimated arrival time of the terminal's next polling data request), it may transmit the data to be transmitted corresponding to that time to the cache of the MAC layer module 102. At this time, the transmission list management module may further mark the data to be transmitted that has been transmitted to the cache (for example, to mark the data as transmitted) to avoid repeated transmission.
[0025] The MAC layer module 102 may be configured to transmit an acknowledgment packet indicating that the data to be transmitted (e.g., for the terminal device) is in the cache of the MAC layer module 102, and to transmit the data for the terminal device to the terminal device when the next polling data request is received from the network layer module 101. For example, the data for the terminal device may be transmitted in the form of an acknowledgment packet.
[0026] As an example, the MAC layer module 102 may transmit a success confirmation message after the data for the terminal device is transmitted to the terminal device. After the network layer module 101 receives the success confirmation message, the transmission list management module may remove the corresponding data from the data transmission list. In addition, if no polling data request from the terminal device is received when a preset time (for example, the estimated arrival time) arrives, it may be assumed that the data transmission failed. If the data transmission fails, the flag of the data marked as transmitted may be removed.Statistics can be made on the number of times data transmission fails, and when the number of times data transmission fails reaches a preset number, the corresponding data can be removed from the data transmission list.
[0027] For example, the acknowledgment packet may contain a query acknowledgment (query ACK), and a flag bit (e.g., a pending bit) of the query ACK may be used to represent whether the MAC layer module's cache contains the data for the terminal device to be transmitted to the terminal device. For example, if the pending bit is 1, it may represent that the data for the terminal device is present, and if the pending bit is 0, it may represent that there is no data to be transmitted.
[0028] For example, the wireless network may be a non-beacon ZigBee network, and the parent node device may be a ZigBee coordinator or a ZigBee router. The wireless network may conform to the IEEE 802.15.4 standard.
[0029] Fig. 2 illustrates a flowchart of an indirect data transmission method for a wireless network according to an exemplary embodiment of the present disclosure.
[0030] Referring to FIG. 2, in step S201, a polling data request may be received from a terminal. For example, at least a predetermined number (e.g., three) polling data requests may be received. For example, two initial polling data requests may be used to calculate the time interval of receipt of the polling data requests, and an acknowledgment packet may be transmitted when the third polling data request is received.
[0031] In step S202, an estimated arrival time of a next polling data request of the terminal device may be calculated according to a reception time of the polling data request.
[0032] As an example, the estimated arrival time may be calculated by calculating a time interval between two continuous polling data requests of the terminal device (e.g., a first polling data request and a second subsequent polling data request); and detecting the estimated arrival time according to the time interval between the two continuous polling data requests and an arrival time of a previous polling data request (e.g., the second polling data request).
[0033] As an example, the estimated arrival time can also be calculated through the following steps: When a first query data request from the terminal is received for the first time, setting a current time as a first time; when a second query data request from the terminal is received next, subtracting the first time from the current time to obtain the time interval (e.g., between the first query data request and the second query data request), adding the current time to the time interval to obtain the estimated arrival time of a next query data request, and setting the current time as the first time and setting the estimated arrival time as the second time. For example, two attributes, namely LAST_QUERY and NEXT_QUERY, can be set so that an adjacent table records the first time and the second time, respectively.
[0034] If, in step S203, the data to be transmitted to the terminal device is present in the network layer module, the data for the terminal device is transmitted to a cache of a MAC layer module at a time a predetermined period of time before the estimated arrival time. For example, the data to be transmitted (e.g., for the terminal device) may be transmitted to a cache of a MAC layer module at a time 100 milliseconds before the previously calculated estimated arrival time.
[0035] As an example, step S203 may further include setting up a data transmission list (or a data transmission queue), updating the preset transmission time to the above-mentioned time point, which is the predetermined time period before the estimated arrival time, and transmitting the data to be transmitted corresponding to the time point to the cache of the MAC layer module when the time point comes, wherein the data transmission list may include the data to be transmitted and a preset transmission time corresponding to the data to be transmitted (a preset interval between two adjacent preset transmission times is one-third of the above-mentioned expiration period, which corresponds to the longest time interval of a proposed protocol specification).For example, the data transmission list can be checked periodically at a time interval such as every 50 milliseconds. When the time arrives, the data to be transmitted corresponding to that time can be transmitted to the cache of the MAC layer module. At this time, the data transmitted to the cache for the terminal device can be further marked (e.g., marking the data as transmitted) to prevent repeated transmission.
[0036] In step S204, an acknowledgment packet indicating that the data for the terminal device (e.g., to be transmitted to the terminal device) is in the cache of the MAC layer module and the data for the terminal device may be transmitted to the terminal device when the next polling data request is received. For example, the data to be transmitted may be transmitted in the form of an acknowledgment packet. That is, if the data to be transmitted exists, two acknowledgment packets, namely a first acknowledgment packet indicating that the data to be transmitted exists and a second acknowledgment packet containing the data to be transmitted, may be transmitted to the terminal device one after the other.
[0037] For example, when data for the terminal device is transmitted to the terminal device, the corresponding data to be transmitted can be removed from the data transmission list. In addition, if no polling data request from the terminal device is received when a preset time (for example, the estimated arrival time) arrives, it can be assumed that the data transmission has failed. If the data transmission fails, the mark of the data marked as transmitted can be removed. Statistics can be maintained that indicate how many times the data transmission fails, and when the number of times the data transmission fails for a particular terminal device reaches a preset number, the corresponding data can be removed from the data transmission list.
[0038] For example, the acknowledgment packet may contain a query ACK, and a flag bit (e.g., a pending bit) of the query ACK may be used to indicate whether the MAC layer module's cache contains the data to be transmitted to the terminal device. For example, if the pending bit is 1, it may represent that the data to be transmitted is present, and if the pending bit is 0, it may represent that there is no data to be transmitted.
[0039] Fig. 3 illustrates a block diagram of a wireless network terminal 300 according to an exemplary embodiment of the present disclosure.
[0040] Referring to Fig. 3, a terminal 300 may include a speed modification module 301 and a request transmission module 302.
[0041] The speed modification module 301 may be configured to change a time interval for transmitting a polling data request from a first time interval to a modified time interval according to a preset condition when data to be transmitted and an acknowledgment packet indicating that the data to be transmitted are received from a parent node device (e.g., the parent node device 100 of Fig. 1). The request transmission module 302 may be configured to transmit at least a predefined number (e.g., three) of query data requests to the parent node device within the modified time interval. The preset condition may be set according to a user's requirements and, in some embodiments, may be based on a period of time (e.g., a time of day). For example, the time interval may be modified to be shortened during the day, and at night, the time interval may be increased. When the time interval is shortened, the data to be transmitted to the terminal device can be acquired more promptly and quickly.
[0042] As an example, the rate modification module 301 may be further configured to reset the modified time interval to the pre-modification time interval (e.g., the first time interval) when an acknowledgment packet is received from the parent node device indicating that there is no data to be transmitted. The terminal device may further include a sleep module (not shown) configured to enable the terminal device to enter a sleep mode when the modified time interval is reset to the pre-modification time interval.
[0043] Fig. 4 illustrates a flowchart of an indirect data reception method for a wireless network according to an exemplary embodiment of the present disclosure.
[0044] With reference to Fig. 4, in step S401, a query data request from a terminal (e.g., terminal 300 of Fig. 3) to a higher-level node device (e.g. higher-level node device 100 of Fig. 1) transmitted at a predetermined time interval (e.g., a first time interval). In step S402, a data to be transmitted and an acknowledgment packet indicating that the data to be transmitted is present may be received by the terminal device from the parent node device. In step S403, the time interval of transmitting the polling data request may be modified from the first time interval to a modified time interval according to a preset condition. In step S404, at least a predefined number of (e.g., three) polling data requests may be transmitted to the parent node device in the modified time interval. If the time interval for transmitting the polling data request is modified according to the preset condition, for example, if the time interval is shortened, the terminal device can receive the data from the parent node device within a shorter period of time.If there is no data in the cache of the parent node device, that is, if the acknowledgment packet received from the parent node device indicates that there is no data to be transmitted, the terminal device may reset the modified time interval to the time interval before the modification (e.g., the first time interval) and may enter a sleep state.
[0045] As an example, the preset condition may be set according to a user's requirements and / or may be based on a time period (e.g., a time of day). For example, the time interval may be modified to shorten during the day and the time interval may be modified to increase at night.
[0046] Fig. Figure 5 illustrates a flowchart illustrating a terminal (e.g., the terminal 300 of Fig. 3) according to an embodiment of the present disclosure, switching from a wake state to a sleep state.
[0047] Referring to Fig. 5, in step S501, the terminal device may be in a waking state. In step S502, it may be determined whether a time interval for transmitting a polling data request needs to be changed. For example, after the terminal device wakes up (e.g., due to the polling data request), it may be checked whether there is data to be transmitted in a higher-level node device. As mentioned above, if the pending bit in the polling ACK is set to 1 (i.e., there is data to be transmitted) and a preset condition is met, the time interval may be modified (e.g., from a first time interval to a modified time interval). If the time interval is modified (YES) in step S502, a predetermined number of (e.g., three) polling data requests may be transmitted sequentially in steps S503 to S505.In some embodiments, the first two polling data requests may be used to request the parent node device to determine a new time interval, and an acknowledgment packet may be transmitted from the parent node device when the third polling data request is received. In step S506, it may be determined whether the data to be transmitted is received by the parent node device. If the data to be transmitted is received (YES), the process may return to step S502, and if the data to be transmitted is not received (NO), the process proceeds to step S507, where the terminal device is allowed to enter sleep mode. In step S502, a time interval for transmitting the polling data request may be modified (e.g., decreasing or increasing the time interval) according to a service requirement and / or a preset condition.In order to receive the data in time, the time interval can preferably be reduced.
[0048] Additionally, a wake-up time can be set for the terminal device, and the terminal device can include a wake-up module. The wake-up module can be configured to wake the terminal device when the wake-up time arrives.
[0049] The above exemplary embodiments explain: the indirect data transmission method and the reception method for the wireless network, the upper node device, and the terminal device, which are only examples.
[0050] Generally, a sleep time interval (for example, an absolute difference between two times at which the terminal device successively enters the sleep state) and a transmission interval for normally transmitting the polling data request (for example, an absolute difference between two times at which two polling data requests are successively transmitted) of the terminal device are the same, and the time interval can be marked as T1.
[0051] In this case, since the parent node only transmits one piece of data to be transmitted per query data request, if the parent node needs to transmit three pieces of data to the terminal, the terminal must send at least three query data requests. Thus, the total time required to transmit all three pieces of data to the terminal is 3T1.
[0052] According to the embodiments described herein, after transmitting the first polling data request, the terminal device can learn that the data to be transmitted is present in the parent node device and can receive the first data to be transmitted. At this time, the total time is T1.
[0053] The terminal device can then transmit three polling data requests within a time interval T2. The parent node device uses the two previous polling data requests to determine a new time interval and pre-transfer the data to be transmitted to the cache of the MAC layer module. After receiving the third polling data request, the second data to be transmitted can be transmitted to the terminal device. At this time, the total time is T1 + 3T2.
[0054] Next, the terminal device can transmit the fourth polling data request and receive the third data to be transmitted. At this time, the total time is T1 + 4T2.
[0055] As mentioned above, in the case where the time interval is not modified, the time required to receive the three pieces of data to be transmitted is 3T1. In the case where the time interval is changed, the time required to receive the three pieces of data to be transmitted is T1 + 4T2. In the case where T1 is much larger than T2, the data acquisition speed can be significantly improved.
[0056] After that, the terminal device can transmit the fifth polling data request and learn from the acknowledgement packet that no data needs to be transmitted to the terminal device. At this time, the terminal device can enter the sleep state.
[0057] Fig. 6 illustrates a flowchart showing a parent node device (e.g., the parent node device 100 of Fig. 1), which enables indirect data transmission to a terminal (e.g. the terminal 300 of Fig. 3) according to an exemplary embodiment of the present disclosure.
[0058] As in Fig.6, the processes in steps S602 and S603 may wait to receive a query data request from the terminal and judge whether the query data request exists. If the query data request exists (YES) in step S603, it may be determined in step S604 whether the query data request is being received for the first time (e.g., this is a first query data request). If the query data request is being received for the first time (YES) in step S604, a LAST_QUERY attribute of an adjacent table is updated to a current time in step S611, then the process returns to step S602 to wait for another query data request.If the polling data request is not received for the first time (NO), the process proceeds to steps S605 to S607, where LAST_POLY may be subtracted from the current time to obtain a time interval (S605), the current time is added to the time interval to obtain an estimated arrival time for the next polling data request (S606), LAST_POLY is updated to the current time, and a NEXT_POLY attribute of the neighbor table is updated to the estimated arrival time (S607). Then, in step S608, a data transmission list (or it may be referred to as an indirect data transmission list) is queried to determine whether there is indirect data to be transmitted to the terminal (namely, data must be transferred to the cache of the MAC layer module to be transmitted to the terminal).If there is data to be transmitted in step S609 (YES), a preset transmission time of the corresponding data in the data transmission list is updated to a time point a predetermined time before the estimated arrival time of the next polling data request (S610); if there is no data to be transmitted (NO), the process returns to step S602 to wait for another polling data request.
[0059] As mentioned in the above embodiment, the terminal device can change the time interval for transmitting the polling data request to improve the indirect data transmission speed. The parent node device can transfer the data to the cache in advance to deliver the data to the terminal device in a timely manner, thereby reducing the load on the cache memory. The parent node device can also use a separate type of MAC layer module to improve compatibility.
[0060] In some embodiments of the present disclosure, the parent node device may pre-transmit the data to be transmitted to the cache of the MAC layer module in order to transmit the data to be transmitted to the terminal device in time after receiving the polling data request of the terminal device, may transmit the data to be transmitted to the cache of the MAC layer module, and may prevent the terminal device from entering a sleep state to receive the data to be transmitted, thereby transmitting the data to be transmitted to the terminal device in a timely and efficient manner and improving the efficiency of data transmission.
[0061] According to an exemplary embodiment of the present disclosure, an indirect data transmission method for a wireless network may include: calculating an estimated arrival time of a next polling data request of a terminal device according to a reception time of a polling data request after the polling data request is received by the terminal device; transmitting data for the terminal device to a cache of a Media Access Control (MAC) layer module at a time a predetermined time before the estimated arrival time in response to a determination that the data for the terminal device is present in a network layer module; and transmitting an acknowledgment packet to the terminal device indicating that the data for the terminal device is in the cache of the MAC layer module and the data for the terminal device in response to receiving the next polling data request.By this method and similar embodiments described herein, the data for the terminal device can be transferred to the cache of the MAC layer module before receiving the next polling data request, to automatically, quickly and timely provide a response for transferring the data for the terminal device to the terminal device when the next polling data request is received, thereby avoiding storing too much data in the cache of the MAC layer module and improving the response speed of the parent node device.
[0062] In some embodiments, calculating the estimated arrival time of the terminal's next polled data request may include calculating a time interval between two continuous polled data requests of the terminal; and detecting the estimated arrival time according to the time interval and an arrival time of a previous polled data request. Through these steps and similar embodiments described herein, the estimated arrival time may be calculated quickly and accurately.
[0063] In some embodiments, transmitting data for the terminal device to the cache of the MAC layer module at the time point that is the predetermined time period before the estimated arrival time may include: creating a data transmission list, the data comprising the transmission list including the data for the terminal device and a preset transmission time corresponding to the data for the terminal device; updating the preset transmission time to the time point; and transmitting the data for the terminal device to the cache of the MAC layer module in response to an arrival of the time point. Through these steps and similar embodiments described herein, transmission of the data to be transmitted can be uniformly managed, a transmission time of the data to be transmitted can be timed, and the processing speed of the upper-level node device can be improved.
[0064] In some embodiments, the wireless network may be a non-beacon ZigBee network, and the parent node device may be a ZigBee coordinator or a ZigBee router. It will be appreciated that this embodiment and similar embodiments described herein have a broad applicable scope and strong compatibility.
[0065] According to an exemplary embodiment of the present disclosure, an indirect data reception method for a wireless network may include: modifying a time interval for transmitting a polling data request from a first time interval to a modified time interval according to a preset condition in response to receiving, at a terminal device, data for the terminal device and an acknowledgment packet indicating that the data for the terminal device is present from a parent node device; and transmitting at least three polling data requests to the parent node device in the modified time interval.By this method and other similar embodiments described herein, the time interval at which the polling data request is transmitted can be timed to receive the data to be transmitted from the parent node device at an appropriate speed, so that the data transmission performance between the parent node device and the terminal device can be improved.
[0066] In some embodiments, the method may further include: resetting the modified time interval to the first time interval and allowing the terminal device to enter a sleep mode in response to receiving the acknowledgment packet from the parent node device indicating that no data is present for the terminal device after the at least three polling data requests are sent to the parent node device in the modified time interval.
[0067] According to an exemplary embodiment of the present disclosure, a non-transitory computer-readable storage medium may store a computer program, wherein the computer program may be configured to enable a processor of a computer to perform any of the above methods.
[0068] The methods and devices according to the exemplary embodiments of the present disclosure can process a large amount of data sent to a terminal device (e.g.,for the terminal device) into the network layer module that supports the storage of a large amount of resources (for example, data) and has a low priority (for example, a schedule related to the priority); store data in the MAC layer module with a small resource (for example, a small cache) and a high priority before the calculated estimated arrival time of the next polling data request of the terminal device; and automatically and quickly respond to the polling data request when the polling data request is received from the parent node device to transmit the acknowledgment packet to the terminal device, indicating that the data to be transmitted to the terminal device and the data for the terminal device exist, thereby transmitting the data in the cache of the MAC layer module to the terminal device in a timely manner.In some embodiments, the data may be transmitted to the terminal device before the terminal device enters sleep mode, thereby avoiding the case where the cache of the parent node device stores a large amount of data to be transmitted to the terminal device after the terminal device enters sleep mode. Some embodiments may be applicable to a case where a cache resource is limited (for example, the cache of the MAC layer module may be small) and / or a case of a separate type of MAC layer module, and indirect data transmission efficiency can be improved.In the case where the time for the cache of the MAC layer module of the parent node device to store the data is short and / or the cache is small, a situation such as data loss in the case where the cache stores too much data can be avoided and / or a data loss rate can be reduced, so that the indirect data transmission performance of the parent node device can be improved.
[0069] It should be understood that each of the modules or units in the host node device and the terminal device according to the exemplary embodiments of the present disclosure may be implemented as a hardware component and / or a software component. According to a defined processing performed by each of the modules or units, those skilled in the art may implement each of the modules or units, for example, using a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
[0070] Additionally, the indirect data transmission method and the indirect data reception method for the wireless network according to the exemplary embodiments of the present disclosure may be implemented as machine language in a transient or non-transient computer-readable recording medium. Those skilled in the art can implement the machine language according to the description of the above methods. When the machine language is executed in a computer, the above method of the present disclosure can be implemented.
[0071] It should be understood that although the terms "first," "second," etc., are used herein to describe parts, regions, layers, parts, sections, components, and / or elements in example embodiments of the inventive concepts, the parts, regions, layers, parts, sections, components, and / or elements should not be limited by these terms. These terms are used only to distinguish one part, region, part, section, component, or element from another part, region, part, section, component, or element. Thus, a first part, region, part, section, component, or element described below may also be referred to as a second part, region, part, section, component, or element without departing from the scope of the inventive concepts.For example, a first element may also be referred to as a second element, and similarly, a second element may also be referred to as a first element without departing from the scope of the inventive concepts.
[0072] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It is further understood that the terms "comprise," "comprising," "include," and / or "containing," when used herein, indicate the presence of the specified features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0073] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which the inventive concepts relate. It is also understood that terms, such as those defined in commonly used dictionaries, should be interpreted to have a meaning consistent with their meaning in the context of this specification and the relevant prior art and are not interpreted in an idealized or overly formal sense unless expressly defined herein.
[0074] As used herein, the term "and / or" includes any and all combinations of one or more of the related listed items. Expressions such as "at least one of," when preceding a list of items, modify the entire list of items, not the individual items of the list.
[0075] Like reference numerals refer to like elements throughout. Thus, the same or similar reference numerals may be described with reference to other drawings, even if they are neither mentioned nor described in the corresponding drawing. Elements not provided with reference numerals may also be described with reference to other drawings.
[0076] Although some exemplary embodiments of the present disclosure are explained and described, those skilled in the art should understand that modifications may be made to these embodiments without departing from the scope of the claims.
Claims
[1] A data transmission method for a wireless network, comprising: Calculating an estimated arrival time of a next query data request of a terminal according to a reception time of a query data request after the query data request is received by the terminal; Transferring data for the terminal device to a cache of a Media Access Control (MAC) layer module at a time a predetermined amount of time prior to the estimated arrival time in response to a determination that the data for the terminal device is located in a network layer module; and Transmitting an acknowledgment packet to the terminal device indicating that the data for the terminal device is in the cache of the MAC layer module and the data for the terminal device in response to receiving the next polling data request. [2] The method of claim 1, wherein the query data request is one of a plurality of query data requests of the terminal, and wherein calculating the estimated arrival time of the next query data request of the terminal device comprises: Calculating a time interval between two continuous query data requests of the plurality of query data requests of the terminal device; and Collecting the estimated arrival time according to the time interval and an arrival time from one of the plurality of query data requests. [3] The method of claim 1, wherein transmitting data for the terminal to the cache of the MAC layer module at the time that is the predetermined time period before the estimated arrival time comprises: Creating a data transmission list, the data transmission list comprising the data for the terminal device and a preset transmission time corresponding to the data for the terminal device; Updating the preset transmission time to the time; and Transferring the data for the end device to the cache of the MAC layer module in response to the arrival of the time. [4] The method of claim 3, further comprising: Receiving a success confirmation message from the terminal indicating that the data for the terminal has been received by the terminal; and Removing the terminal device data and preset transmission time from the data transmission list in response to receiving the success confirmation message. [5] The method of claim 3, further comprising: Marking an entry in the data transfer list to indicate that the data for the terminal device has been transferred in response to the transfer of the data for the terminal device to the cache of the MAC layer module. [6] The method of claim 5, further comprising: Unmark the entry in the data transfer list to indicate that the transfer of data for the terminal device has failed in response to the failure to receive the next polling data request at the estimated arrival time. [7] The method of claim 6, further comprising: Removing the data for the terminal device from the data transmission list in response to the transmission of the data for the terminal device failing more than a preset number of times. [8] The method of claim 1, wherein the wireless network is a non-beacon ZigBee network. [9] A parent node device for a wireless network, comprising: a network layer module configured to calculate an estimated arrival time of a next query data request of a terminal device according to a reception time of a query data request received by the terminal device, and to transfer data for the terminal device to a cache of a Media Access Control (MAC) layer module at a time a predetermined time period before the estimated arrival time in response to a determination that the data for the terminal device is located in the network layer module; and the MAC layer module configured to transmit to the terminal device: an acknowledgment packet indicating that the data for the terminal device is in the cache of the MAC layer module, and the data for the terminal device, in response to receiving the next polling data request. [10] The higher-level node device according to claim 9, wherein the query data request is one of a plurality of query data requests of the terminal device, and wherein the network layer module comprises: a time interval calculation module configured to calculate a time interval between two continuous polling data requests of the plurality of polling data requests of the terminal device; and an estimated time of arrival acquisition module configured to acquire the estimated time of arrival according to the time interval and an arrival time of one of the plurality of query data requests. [11] The higher-level node device of claim 9, wherein the network layer module comprises: a transmission list management module configured to create a data transmission list and update a preset transmission time to the time, wherein the data transmission list includes the data for the terminal device and the preset transmission time corresponding to the data for the terminal device; and a clock transmission module configured to transmit the data for the terminal device to the cache of the MAC layer module in response to an arrival of the time point. [12] The upper-level node device according to claim 11, wherein the network layer module is configured to receive a success confirmation message from the terminal device indicating that the data for the terminal device has been received from the terminal device, and wherein the transmission list management module is configured to remove the data for the terminal device and the preset transmission time from the data transmission list in response to receiving the success confirmation message. [13] The parent node device of claim 11, wherein the transmission list management module is configured to mark an entry in the data transmission list to indicate that the data for the terminal has been transmitted in response to transmitting the data for the terminal to the cache of the MAC layer module. [14] The parent node device according to claim 13, wherein the transmission list management module is configured to cancel the entry in the data transmission list to indicate that the transmission of the data for the terminal device has failed in response to the parent node device not receiving the next polling data request at the estimated arrival time. [15] The parent node device according to claim 14, wherein the transmission list management module is configured to remove the data for the terminal device from the data transmission list in response to the transmission of the data for the terminal device failing more than a preset number of times. [16] The parent node device of claim 9, wherein the wireless network is a non-beacon ZigBee network and the parent node device is a ZigBee coordinator or a ZigBee router. [17] A terminal for a wireless network, comprising: a speed modification module configured to modify a time interval for transmitting a polling data request from a first time interval to a modified time interval according to a preset condition in response to receiving data for the terminal from a parent node device and an acknowledgment packet indicating that the data for the terminal is present on the parent node device; and a request transmission module configured to transmit at least three query data requests to the parent node device in the modified time interval. [18] The terminal of claim 17, wherein the speed modification module is further configured to reset the modified time interval to the first time interval in response to receiving a second acknowledgment packet from the parent node device indicating that there is no data for the terminal, and wherein the terminal further comprises a sleep module configured to enable the terminal to enter a sleep mode when the modified time interval is reset to the first time interval. [19] The terminal according to claim 17, wherein the preset condition is set based on a user request and / or a time of day. [20] A terminal according to claim 19, wherein the time interval is modified to be shortened during the day and wherein the time interval is modified to be lengthened at night.
Citation Information
Patent Citations
Message acknowledgement method, apparatus, and system
US20140119282A1