Abstract:
A method for wireless communication in a network comprising a resource-restricted device, and at least one proxy device, wherein the method comprises the following steps:-the resource-restricted device (ZGPD) transmitting a frame containing source identifier to be forwarded to a destination device in the network,-the proxy device (ZP 5 ) receiving the frame,-the proxy constructing, from the frame, a packet to be forwarded to the destination device,-the router device associating a delay to the packet and scheduling forwarding of the packet after this delay, wherein the step of constructing a packet from the frame comprises deriving source-related information from the received packet and including this information in the packet.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to a method for communicating in a wireless control network. More particularly, the present invention relates to a method for ensuring maintenance of correct communication between a communication device and a destination device in a wireless network. 
         [0002]    This invention is, for example, relevant for wireless networks comprising resource-restricted devices having low power resources. In a specific application, the present invention is relevant for wireless networks using communication protocols compliant with the IEEE802.15.4 and also IEEE802.15.4-based protocols, e.g. ZigBee protocol, especially the ZigBee Green Power protocol. 
       BACKGROUND OF THE INVENTION 
       [0003]    Wireless control networks have recently become a ubiquitous trend in the field of communication and connectivity/automation, especially for building management systems. Wireless technologies present major advantages in terms of freedom of device placement, device portability, and installation cost reduction, since there is no need for drawing cables and drilling. Thus, such technologies are particularly attractive for interconnecting, sensing, automation, control or monitoring systems using sensor devices such as light switches, light dimmers, wireless remote controllers, movement or light detectors, window or door openers, that have to be set up in distant places one from the other and from the devices they control, e.g. lights. 
         [0004]    One of the drawbacks appearing in networks of the like relates to device powering. Indeed, since the devices are not wired, they can not receive power necessary for performing all the operations required in the network from the mains or via the connection with the controller. Thus, it has been envisaged to equip such devices with built-in batteries. However, since the devices are quite size-restricted, batteries may not be of a large size, which results either in a reduced device lifetime, or in labour intensive battery replacement. 
         [0005]    It has been suggested to remedy this issue by equipping sensor devices with self-sustained energy sources that harvest energy from its environment or from the interaction with the user. Still, the amount of energy achievable by off-the-shelf energy harvesters is very limited, which means that the features and functions of the batteryless devices are heavily restricted. 
         [0006]    Among the functions that are mandatory for good operation in a wireless network is the maintenance of correct communication, which makes it possible to ensure at any time that a resource-restricted device is linked to a router which forwards messages on its behalf. In existing implementations therefore, a parent-child relationship is established between a device, generally resource-restricted, and its parent router. The child end device addresses all its communication to the parent for being forwarded to its final destination. However, especially in case of energy-harvesting device, this relationship creates a single point of failure in the network, because if the parent link is broken, communication from the end device can not be successfully performed anymore. Moreover, in most cases, such a parent link failure may not even be detected by the energy-harvesting end device, due to non-existent or not used receiving circuit on the resource-restricted device, or insufficient energy to wait for, receive, and act upon the feedback. Indeed, since the end device has very limited resources, it can not perform a complete search in order to find a new parent router when the communication is lost, thus operation in the network is compromised, as well as the operation of the end device from the user&#39;s perspective. 
         [0007]    Existing methods that have been proposed for solving this issue of single point failure imply the usage of broadcast/multicast features which result in high bandwidth consumption, due to multiple devices in a given neighbourhood re-transmitting several times. Then, it may again lead to network overload and as a consequence, result in reduced reliability or temporary failure from a user point of view. 
       SUMMARY OF THE INVENTION 
       [0008]    It is thus an object of the invention to propose a method that allows maintaining correct communications between a resource-restricted device and a wireless network, without creating single point of failure and without involving too much power spending by a resource-restricted device originating a communication, for example a battery-less device. 
         [0009]    It is also an object of the invention to propose a method for communicating in a network that reduces the involvement of the resource-restricted device in link maintenance as much as possible. 
         [0010]    Yet another object of the invention is to provide a method for communicating that allows dealing with duplicate messages. 
         [0011]    Yet another object of the invention is to provide a method that is simple, reliable, and cost-efficient, also in terms of overall bandwidth usage. 
         [0012]    Yet another object of the invention is to allow for high-reliability applications, by the destination device transmitting an acknowledgement packet, and the proxies to retry on its lack, and try to re-establish the communication path to the destination on repetitive lack of an acknowledgement frame. 
         [0013]    To this end, the invention proposes a method for wireless communication in a network comprising a resource-restricted device, and at least one proxy device, wherein the method comprises the following steps:
       the resource-restricted device (ZGPD) transmitting a frame containing source identifier to be forwarded to a destination device in the network,   the proxy device (ZP 5 ) receiving the frame,   the proxy constructing, from the frame, a packet to be forwarded to the destination device,   the proxy device associating a delay to the packet and scheduling forwarding of the packet after this delay,   wherein the step of constructing a packet from the frame comprises deriving source-related information from the received frame and including this information in the packet.       
 
         [0019]    In all the specification, the terms proxy, resource-rich device, and router will be used interchangeably. 
         [0020]    Thus, a method according to the invention is such that the end device does not need to be pre-configured with the identity of the proxies, neither does it have to track them. Additionally, the proxies do not need to be pre-configured either with the identity of the resource-restricted device on behalf of which they should forward the data. Furthermore, the amount of dedicated communication between several proxies capable of forwarding on behalf of each resource-restricted device is reduced to zero. 
         [0021]    A resource-restricted device, also called end device, within the meaning of the present invention, relates to a communicating device that is restricted at least in terms of energy-resources, acting as a reduced functionality device in the network. Such a method makes it possible for an end device to communicate in a network without any need for the end device to be pre-configured with or discover the identity of the proxy, since the end device transmits a frame to be forwarded without having to know the identity of the router device that will handle the transmission. Furthermore, this method allows the proxy to assume its responsibility without earlier pre-configuration with the end device&#39;s identifier. Thus, sending the frame is the only action performed by the end device, which means that power consumption is reduced to a minimum. 
         [0022]    This method also solves the previously mentioned issue of non-detected failure in the network, since proxy devices are not pre-assigned to the resource-restricted devices in advance but assigned on the fly in an ad-hoc manner. 
         [0023]    In an advantageous embodiment, the step of deriving source-related information comprises:
       determining a source address as a function of the resource-restricted device source identifier,   including the source address of the resource-restricted device in the packet to be forwarded.       
 
         [0026]    In another embodiment, the step of deriving source-related information also comprises:
       determining a sequence number, based on the reception time of the frame,   including the sequence number in the packet to be forwarded.       
 
         [0029]    The sequence numbers are usually handled individually by each transmitting device. However, in the case where several proxies need to appear as one device, the sequence numbers used by each proxy for forwarding independently to the destination device need to be aligned, for the destination device to be able to filter out duplicate messages forwarded by different proxies. Preferably, this should be achieved without requiring dedicated communication protocol between the proxies. This can be achieved by using the sequence number from the ZGPD frame, if present and incremental. This however is not likely, because it requires the ZGPD to store the sequence number in non-volatile memory. Alternatively, if ZGPD uses random numbers as a sequence number, still two consecutive packets may carry the same sequence number, leading to the second frame being erroneously dropped as a duplicate. 
         [0030]    Thus, in case incremental sequence numbers are not available, the sequence number for forwarding should preferably be derived from the sequence number in the ZGPD packet, and the repetition counter in the ZGPD packet, indicating which of the n repetitive transmissions is currently being received by the proxy. For example, in the specific embodiment of ZigBee Green Power frame, the repetition counter can be carried in either the MAC layer frame control field or NWK layer frame control field. With 3 repetitions envisaged, a 2 bit field would be enough. In case more repetitions would be required/possible with the available energy budget, any higher number of repetition could be indicated by the highest available value. 
         [0000]    Alternatively, if no source of randomness is available on the ZGPD, the proxies should derive the sequence number for the to-be-forwarded packet from the reception time of the packet; for increased precision or relaxing the requirement on the clock properties of the proxies, repetition counter could be used as well, to allow the proxies to calculate back the time of reception of the same repetition (e.g. first repetition) of the ZGPD frame, and derive the sequence number for the to-be forwarded packet from that. 
         [0031]    Usually, devices use their own individual addresses as source addresses, when forwarding a packet. However, the resource-restricted device doesn&#39;t have an address of a proper format, due to the energy limitations, preventing proper configuration and subsequent address maintenance. However, in the case where several proxies need to appear as one device, the source addresses used by them for forwarding independently to the destination need to be aligned, for the destination to be able to filter out duplicate messages forwarded by different proxies. Preferably, this should be achieved without requiring dedicated communication protocol between the proxies. Thus, each proxy knows an injective function that allows it to derive the same network-valid address from the identifier present in the ZGPD frame. 
         [0032]    In this embodiment, the source-identifying data in the forwarded packet is derived from the information in the frame sent by the resource-restricted device, so that whichever proxy forwards the frame to the destination(s), the packets still appears to the destination(s) as being sent by the same device, thus allowing for duplicate filtering. 
         [0033]    In an advantageous embodiment of the present invention, the method further comprises the step of determining the delay associated to the data frame as a function of reception quality of the frame. 
         [0034]    For example, the delay can be determined as a function of the ZigBee Link Quality Indicator of the router. 
         [0035]    In a specific embodiment, this delay is determined independently by each proxy, either:
       as being inversely proportional to the Link Quality Indicator of the link between the resource-restricted device and this particular proxy, or more generally,   in such a way that a higher value of the link quality indicator results in a smaller delay.       
 
         [0038]    For example, is the LQI can take values between 0 and 255 (as the ppduLinkQuality reported by the IEEE 802.15.4 PHY layer), the delay could be calculated as delay=150−20 *|LQI/60| ms, where ∥ indicates integer part. 
         [0039]    Indeed, by having a smaller transmission delay with a larger LQI, the proxy with the best reception of the message from the end device is automatically elected master, and forwards the message to the ZigBee network first. 
         [0040]    However, in a large network comprising many proxies, multiple ones may receive the packet directly from the same resource-restricted device, and some of them still with equal LQI values. Thus, in order to avoid that proxies send their packet simultaneously and thus cause a packet collision, it can be useful, in some embodiments, to introduce a random element in the delay. In this view, in some embodiments, the step of determining the forwarding delay further comprising adding a random jitter amount to the delay determined as a function of the Link Quality Indicator. This random jitter amount is generally small, and bounded by a maximum value, e.g. ZigBee nwkMaxBroadcastJitter. This maximum value is, in an advantageous embodiment, smaller than the absolute value of the difference between the nominal back-off times corresponding to the different LQI values. This boundary ensures that a packet received with a quality LQI 1 , better than a quality LQI 2 , will always be forwarded before a packet received with a quality LQI 2 . In some other embodiments, the application relies on lower layers to add random delay. 
         [0041]    To limit the overall amount of data and maintenance traffic to the network, further criteria for determining the delay may include one or a combination of the following:
       (i) availability of the information about intended destination(s) of the packet derived from the received frame,   (ii) availability of the routing path to the destination(s) of the packet derived from the received frame;   (iii) fact of being early/late to forward in the past.       
 
         [0045]    For example, the delay could be increased by 500 ms if the destination is not known; or by 200 ms if the destination is known but route to the destination(s) is not established; and the delay could be decreased by 20 ms, if the proxy did forward the previous packet. 
         [0046]    To further limit the number of packets forwarded independently to the destination by the proxies, the fact of the proxy being located on the routing path from the destination, i.e. the one of the many proxies responding to the derived address, to which the routing algorithm finds the lowest-cost path as seen from the destination, may be taken into account. This proxy may subtract additional amount from the scheduled delay. For example, 
         [0000]      e.g. delay=150−20*|LQI/60|−50*ON_PATH[ms],
 
         [0047]    where ∥ indicates integer part;
       LQI can take values between 0 and 255;   ON_PATH is a Boolean flag, set to 1 if the proxy is located on the path from the destination to the derived address.       
 
         [0050]    In some cases, it may happen that the address generated during construction of the packet already exists in the network. Thus, in one embodiment, despite the conflict detection and resolution scheme that may be part of the network address assignment procedure used as it is the case in ZigBee, the proxies should stick to the derived address and allow the other conflicting device to pick another address. 
         [0051]    In another embodiment, the method comprises the step, in case the router device hears that the data frame has been forwarded by another router device in a packet, of cancelling the scheduled transmission of further packets corresponding to the same data frame. 
         [0052]    However, in some cases, it might happen that a proxy cannot hear such a previous message, e.g. because it is out of radio range of the previously transmitting proxy. In such a case, the destination device receives two packets. Thanks to the derived sequence number and the derived ZigBee network address inserted in the data frame, the destination device can determine that the two packets represent duplicates of a single message. 
         [0053]    Moreover, some high-reliability applications may require an acknowledgement packet to be sent back from the destination to the source, e.g. to provide the user with the confirmation on the performed action, or to achieve the required reliability level, i.e. to allow the source to re-try on the lack of the acknowledgement. However, multiple proxies pretending to be one device are multiple potential destinations for such an acknowledgement. 
         [0054]    Thus, in some embodiments, a method according to the invention comprises one or several of the following features:
       the proxies know an injective function for deriving an IEEE address from the resource-restricted device&#39;s identifier;   the proxies respond to service, device and route discoveries addressed to the address derived from the ZGPD identifier (using the IEEE address, where appropriate, to avoid appearing like an address conflict);   in case the proxy device receiving an acknowledgment from the destination device, of cancelling scheduled transmission of the packet;   in case the proxy not receiving any acknowledgement from the destination device after a predetermined duration, of maintaining scheduled retransmission   of the packet;   optionally, the method further comprises the step of:
           forwarding the destination&#39;s ACK as MAC broadcast/MAC unicast to the derived address, so that it reaches other (neighbour) proxies;   in case the proxy not receiving any acknowledgement from the destination device, directly or via the neighbor proxies, of attempting re-establishment of communication path to the destination.   
               
 
         [0063]    Another aspect of the invention relates to a router device, acting as a proxy, comprising:
       reception means for receiving a data frame from an resource-restricted device in a wireless network,   transmission means for forwarding the data frame towards a destination device in the network, as part of a packet,   determination means for determining, from a Link Quality Indicator of the packet reception, a forwarding delay of the packet.
 
Such a device might comprise, in a specific embodiment, means for transforming received ZigBee Green Power frame to be forwarded ZigBee packets. Indeed, in one specific embodiment, resource-restricted frame is ZGP frame and the forwarded packet is standard ZigBee packet and thus proxy is capable of this translation.
       
 
         [0067]    Another aspect of the invention relates to a ZigBee Green Power frame comprising a source identifier of an originating resource restricted device, wherein the frame format comprises a MAC layer frame control field or in a NWK layer frame control field, and the frame further comprises a repetition counter included in one of the MAC layer frame control field and the NWK layer frame control field. 
         [0068]    In a specific embodiment, the router further comprises means for canceling a scheduled transmission of a data frame when hearing that the data frame has been transmitted by another router device. 
         [0069]    These and other aspects of the invention will be apparent from and will be elucidated with reference to the embodiments described hereinafter. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0070]    The present invention will now be described in more detail, by way of example, with reference to the accompanying drawings, wherein: 
           [0071]      FIG. 1  shows a network according to the invention 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0072]    The present invention relates to a method of communicating in a wireless control network as shown in  FIG. 1 . The network comprises a resource-restricted device and a destination device DD. This first device is, for example a ZigBee Green Power Device (ZGPD), but the invention finds application with any resource-restricted wireless device, especially battery-powered or energy-harvesting devices, such as light switches, light dimmers, wireless remote controllers, movement detectors, light detectors, shutter controllers, window/door openers, etc. The network also comprises several proxy devices (ZP 1 , ZP 2 , ZP 3 , ZP 4 , ZP 5 ). These proxy devices are, in an exemplary embodiment, compliant with both the ZigBee Green Power communication protocol, as well as ZigBee communication protocols. In another advantageous embodiment, the resource-restricted device and the proxies are compliant with other lightweight 802.15.4-based ZigBee protocol. 
         [0073]    In a network of the like, a ZigBee Green Power Device transmit several times the same message, so as to increase the probability that the message is correctly received by the destination device. In some particular embodiments, but not mandatorily, the ZGPD is initially configured in such a way that the time interval between the first transmission and the last transmission of a message is much smaller than the time elapsed between the last transmission of a message and the 1 st  transmission of the next message. This makes it possible for the ZGPD proxies, or routers, to distinguish a different message from the different transmissions of the same message, and thus to handle duplicates in a correct way. 
         [0074]    Moreover, the routers, or proxies (ZP 1 , ZP 2 , ZP 3 , ZP 4 , ZP 5 ) situated in the radio range of the ZGPD are configured as follows:
       They have an injective function f, for mapping the ZGPD source identifier of the resource-restricted device sending a packet to a source ZigBee address that can be recognized all over the ZigBee network,   They comprise means for determining the destination of a ZGPD packet from the ZGPD address; these means for determining the destination comprise, for example:
           Check-up means for looking at a table included in the proxy, or   Deriving means for determining directly the control GroupID from the ZGPD source identifier   
           They comprise a sequence number generator exclusive to ZGPD packets. This means that all proxies in the vicinity of the ZGPD generate the sequence number from the reception of the ZGPD packet in the same way, which makes it possible to correctly handle duplicate packets at the destination because they comprise the same sequence number,       
 
         [0080]    In a network according to the invention, the router devices are not configured in advance so as to be linked to a particular resource-restricted device. Actually, the routers decide among themselves on the proxy role on the fly in an ad-hoc manner each time a data frame has to be transmitted, without the need of dedicated communication. 
         [0081]    A communication in the network is initiated by the ZGPD. For example, a user interaction with the ZGPD, a ZGPD-implemented sensor event or an internal timer may trigger transmission of a data frame by the ZGPD. This frame is, in an exemplary 802.15.4/ZigBee embodiment, transmitted through the MAC layer by using MAC broadcast or indirect communication, without any notion of intended destination. In another embodiment, still in 802.15.4/ZigBee network, the frame contains appropriate addressing in the higher layers, e.g. NWK or application support sub-layer (APS), i.e. unicast for contacting single device, multicast for contacting a group of devices or broadcast for contacting all devices. Thus, the knowledge about the final destination of the ZGPD&#39;s packet may be stored in the ZGPD and included in the packet sent by the ZGPD, or preferably handled by the proxy and thus added when forwarding the frame. In a specific embodiment of the latter case, the proxy/proxies can obtain this information in the commissioning process and, if required, distribute it in the network, as known in the art. 
         [0082]    All routers ZP 1 , ZP 2 , ZP 3 , ZP 4  and ZP 5  situated in the radio range of the ZGPD thus receive the frame from ZGPD, or packet P. In an optional embodiment, the routers check whether this packet actually comes from a ZGPD. This can be achieved for example by including device type information in the packet, e.g. in form of a flag, identifier from within a pre-defined address pool or the used frame format. 
         [0083]    Then, each router repackages the ZGPD packet into a ZigBee packet that includes:
       A ZigBee address determined from the ZGPD identifier, by using a function, for example injective, included in the router,   An APS (and optionally also NWK) sequence number determined, based on the reception time, by using the sequence number generator.       
 
         [0086]    Then each router schedules forwarding of the packet after a predetermined delay. The maximum delay corresponds, for example, to a time window in a broadcast protocol method. The delay is determined based on the Link Quality Indicator, as previously explained. It can also be modified by taking into account the router&#39;s knowledge of the intended destination, the existence of a valid route to the destination, the fact of the router being located in the reverse path from the destination and/or the fact of being early to forward in the past. It can further be modified by adding a random jitter. 
         [0087]    Let&#39;s assume that router ZP 5  is the one having associated the shortest delay. Then, at a timeout, router ZP 5  transmits the packet (P FW ) to the destination. Some of the other routers in the radio range of ZP 5 , namely ZP 1  and ZP 4 , may have the means to receive the packet P FW  forwarded by router ZP 5 , and thus may cancel their scheduled transmission, to avoid multiple receptions of the data frame at the destination. 
         [0088]    However, ZP 2  and ZP 3  are outside of radio range of ZP 5  and thus may not hear that the packet has been transmitted, and then maintain their transmission. Also, ZP 1  and ZP 4  may not have the means to receive the packet addressed to the destination or may e.g. experience interference while In such a case, as explained before, the destination device can determine, based on the sequence number and the source network address, whether the two packets received represent duplicates of a single packet, and in such a case cancel all but one of the duplicates. 
         [0089]    Furthermore, on reception of the first packet P FW , the destination can send an acknowledgement to the derived source address as included in packet P FW . Let&#39;s assume that ZP 3  is located on the path from the destination, i.e. it will receive the acknowledgement from the destination, even in case it didn&#39;t yet transmit the scheduled packet. Thus, on reception of the acknowledgement packet from the destination, ZP 3  cancels the scheduled packet transmission. Further, it distributes the acknowledgement among the other routers, so that on its reception, ZP 1 , ZP 2  and ZP 4  can cancel the scheduled transmissions, and ZP 5  can cancel the scheduled re-transmissions. 
         [0090]    The invention finds a particular advantageous application with batteryless devices for control networks, esp. lighting control networks, building automation and home automation. Examples of devices include light switch, light remote control, light dimmer, light sensor, and presence detector. 
         [0091]    It may also find applications with battery-powered devices in control networks (e.g. ZigBee EndDevices, ZEDs) with limited energy storage, to further optimize their operation and increase their lifetime. 
         [0092]    In the present specification and claims the word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements. Further, the word “comprising” does not exclude the presence of other elements or steps than those listed. 
         [0093]    The inclusion of reference signs in parentheses in the claims is intended to aid understanding and is not intended to be limiting. 
         [0094]    From reading the present disclosure, other modifications will be apparent to persons skilled in the art. Such modifications may involve other features which are already known in the art of wireless control networks and which may be used instead of or in addition to features already described herein.